在我们的bootcamp训练营中,学员们介绍了一些工具和库来扩展他们代码的能力。Kalina,目前我们JavaScript学员中的一员,列举了这些工具,想和其它爱好代码的小伙伴一起分享。

点击看大图

  Ivan Storck,我们JavaScript训练营的指导员,把Kalina列举的工具绘制成下面这个思维导图:

  一般的工具

  脚手架工具(帮助启动项目)

  • Yeoman-Yeoman是一个强健且固执的客户端堆栈,其包含一些能帮助开发人员快速构建漂亮web应用程序的工具和框架。

  构建工具(自动化的)

  • Grunt.js—Grunt生态系统非常庞大,并且一直在增长。由于拥有数量庞大的插件可供选择,因此,你可以利用Grunt自动完成任何事,并且花费最少的代价。
  • Pint.js(Grunt的助手 )-Pint是一个小型,异步的GruntJS运行器,试图解决大规模构建流程中的一些问题。
  • Gulp.js-Gulp使用流式构建项目,且主张代码优先于配置。因此使创建过程更简单,直观。
  • Browserify.js (浏览器的)—Browserify 是一个允许我们写node.js-风格的模块,编译后给浏览器使用。就像node.js一样,我们在不同的文件中编写模块,用module.exports 导出外部方法和属性,用exports导出变量。
  • Uglify.js -Uglify.js 是NodeJS的一个JavaScript解析/压缩/美化库。

  包管理工具

  • Homebrew(Mac OS)-Homebrew能安装你需要而苹果没有的东西。
  • Apt(Ubuntu)-apt-get命令是一个很强大的命令行工具,与Ubuntu的APT机制一起工作,能安装新的软件包,更新现有的软件包,能更新包列表索引,且甚至能能更新整个Ubuntu系统。
  • NPM-npm是Node.js的官方包管理器。
  • Bower-Bower是web的包管理器。

  前端工具

  MVC框架

  • Backbone.js-Backbone.js通过提供带有键值绑定的模型和定制的事件,带有枚举功能的丰富的集合API,带有声明式事件处理的视图,而且将它所有这些东西通过一个RESTful JSON接口连接到你现有的API上面,来向Web应用程序提供架构。
  • Ember.js-当底层模型变化时能保持你的HTML最新,那么Ember.js能让Handlebars模板更胜一筹。
  • Angular.js-AngularJS能让你为你的应用扩展HTML词汇。它能让程序更富表现力,更具可读性,更快的构建程序。

  模板

  • Handlebars.js-Handlebars提供了必要的能力,让你能有效的构建语义模板。Mustache模板兼容Handlebars,因此你可以把Mustache模板导入到Handlebars中,来利用Handlebars额外的特性。
  • Mustache.js(比Handlebars少外置元素)-Mustache是一个支持ActionScript, C++, Clojure, CoffeeScript, ColdFusion, D, Erlang, Fantom, Go, Java, JavaScript, Lua, .NET, Objective-C, Pharo, Perl, PHP, Python, Ruby, Scala and XQuery.的简单的web模板系统。
  • Jade-Jade是一个主要为node.js服务器端模板设计的节点模板引擎。
  • Haml.js-Haml.js能让Haml语法在JavaScript工程中使用。其有许多与原生Haml相同的功能。

  测试

  • Casper.js-CasperJS是一个导航脚本处理和测试JavaScript中 PhantomJS和类似的SlimerJS书写的工具。
  • Zombie.js-Zombie.js是一个通过模拟环境来测试客户端JavaScript代码的轻量框架。不需要浏览器。

  后端工具

  服务器

  • Express-Express是一个Node的web应用框架。
  • Node-Node.js是一个基于Chrome JavaScript 运行时建立的一个平台,用来方便地搭建快速的, 易于扩展的网络应用。

  数据库

  • MongoDB-MongoDB是一款开源的文档型数据库,是NoSQL数据库中最热的一款。
  • Postgresql-Postgresql是一个强大的,开源,对象关系的数据库系统。
  • SQL-SQL被用来与数据库进行通信。美国国家标准协会规定,它是关系型数据库管理系统的标准语言。

  架构风格

  • RESTful-REST是一个架构风格,由一套协调的体系结构约束组成,在分布式超媒体系统中应用组件,连接器和数据元素。

  测试

  • Jasmine-Jasmine是一个JavaScript的行为驱动开发测试框架。它不依赖于浏览器,DOM或任何JavaScript框架。因此它适合于web站点,Node.js工程或任何JavaScript能运行的地方。
  • Mocha-Mocha是一个在noce.js和浏览器上运行的富功能JavaScript测试框架,它让异步测试变得简单有趣。
  • Q-Unit-Q-Unit是一个功能强大,易于使用的JavaScript单元测试框架。它被应用于jQuery,jQuery UI和jQuery移动开发的工程中,它能测试任何通用的JavaScript代码。
  Assertion(断言) 库
  • Chai-Chai是一个 node和浏览器的BDD/TDD Assertion(断言) 库,它能与任何JavaScript测试框架进行很好的配合。

  函数化编程工具

  • Underscore.js - Underscore是一个在没有扩展任何内置对象情况下提供许多函数式编程帮助的JavaScript库。
  • Lo-Dash-Lo-Dash是一个提供一致性,定制性和表现性的实用库。

  更新:

  还有其它你认为应该在这列举的工具吗?看看这篇文章和Github上有关MindNode的思维导图(OPML)。把你的建议发送给我们,让我们在此增加一些新鲜流行的工具!

  原文:codefellows.org

一系列JavaScript的基础工具的更多相关文章

  1. JavaScript RegExp 基础详谈

    前言: 正则对于一个码农来说是最基础的了,而且在博客园中,发表关于讲解正则表达式的技术文章,更是数不胜数,各有各的优点,但是就是这种很基础的东西,如果我们不去真正仔细研究.学习.掌握,而是抱着需要的时 ...

  2. 前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍

    前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...

  3. JavaScript入门基础

    JavaScript基本语法 1.运算符 运算符就是完成操作的一系列符号,它有七类: 赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=).算术运 ...

  4. Javascript语法基础

    Javascript语法基础   一.基本数据类型   JavaScript中支持数字.字符串和布尔值三种基本数据类型: 1.数字 数字型是JavaScript中的基本数据类型.在JavaScript ...

  5. JavaScript的基础学习

    由js和python想到的: 弱类型语言 js 中的数据在进行算数运算时,会自动转换类型强类型语言 变量的值的数据类型一旦确定,使用时不能改变 动态语言:编译时不知道数据类型,只有在执行时才知道数据类 ...

  6. 三丶JavaScript 的基础学习(一)

      知识预览 BOM对象 DOM对象(DHTML) 8 实例练习 JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言 ...

  7. iOS逆向开发(1):基础工具 | ssh | scp | socat

    小白:小程,我一直想问,什么是逆向来着?是逆向行驶吗? 小程:理解为逆向行驶也没错.一般的项目是从无到有,而逆向是从已有的状态入手,分析出已有的流程与结构的手段. iOS上的逆向开发,是一件有趣的事情 ...

  8. javaScript系列 [01]-javaScript函数基础

    [01]-javaScript函数基础 1.1 函数的创建和结构 函数的定义:函数是JavaScript的基础模块单元,包含一组语句,用于代码复用.信息隐蔽和组合调用. 函数的创建:在javaScri ...

  9. JavaScript自动化构建工具grunt、gulp、webpack介绍

    前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...

随机推荐

  1. windows下编译lua源码

    所有的lua源码都放在了 src 文件夹下,当然,不同的lua版本目录结构有可能不一样,但是都会有 src 这个文件夹,只有这个才是我们编译必须的.而且lua越做越精简了,5.1的版本里面还有一些te ...

  2. 最新中国IP段获取办法与转成ROS导入格式

    获取中国IP段办法     1.到APNIC获取亚太最新IP分配 http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest     2 ...

  3. scrapy爬虫框架入门教程

    scrapy安装请参考:安装指南. 我们将使用开放目录项目(dmoz)作为抓取的例子. 这篇入门教程将引导你完成如下任务: 创建一个新的Scrapy项目 定义提取的Item 写一个Spider用来爬行 ...

  4. 17.python自定义函数

    什么是函数,函数说白了就是将一系列代码封装起来,实现代码的重用. 什么是代码重用? 假设我有这样的需求: 但是我还是觉得太麻烦了,每次想吃饭的时候都要重复这样的步骤.此时,我希望有这样的机器:

  5. python批量导出导入MySQL用户的方法

    这篇文章主要介绍了 数据库迁移(A -> B),需要把用户也迁移过去,而用户表(mysql.user)有上百个用户.有2种方法进行快速迁移: 1,在同版本的条件下,直接备份A服务器的mysql数 ...

  6. jQuery toggle方法的一个奇怪表现。

    function buildTree() { //$('.tree li:has(ul)').addClass('parent_li').find(' > span').attr('title' ...

  7. Python学习教程(learning Python)--2.3.1 Python传参函数设计

    本节主要讨论设计传递多个参数子函数的设计方法. 在2.3节里我们讨论了如何自己设计一个带参数的子函数的设计方法,现在我们研究一下如何传递两个及以上参数的设计方法. 函数为何要带参数呢?其实原因很简单, ...

  8. EMVTag系列16《AC响应数据》

    在一个联机交易中,要传送到发卡行的专有应用数据. 字段 长度(字节) 赋值 说明 长度 1 07 分散密钥索引 1 00 密文版本号 1 01 根据发卡行密钥版本设置 卡片验证结果(CVR) 4 03 ...

  9. Intent Android 详解

    Intents and Intent Filters 三种应用程序基本组件 activity, service和broadcast receiver——是使用称为intent的消息来激活的. Inte ...

  10. 未能加载文件或程序集“System.Web.Razor”或它的某一个依赖项。文件或目录损坏且无法读取。

    “/”应用程序中的服务器错误. 未能加载文件或程序集“System.Web.Razor”或它的某一个依赖项.文件或目录损坏且无法读取. (异常来自 HRESULT:0x80070570) 说明: 执行 ...