JavaScript 基础工具清单

2015-08-03 10:28


在训练营中,为扩展学员们的编程能力,我们给他们介绍了一些工具和库。目前有位JavaScript学员Kalina,他汇总了这些工具的清单,以分享给其他的代码爱好者。

基于Kalina的清单,我们JavaScript训练营的辅导员Ivan Storck画了一张思维导图:

通用

脚手架工具(用于启动项目)

  • Yeoman – Yeoman是一个健壮且固定的客户端程序库,包含了工具和框架,有助于开发者快速构建漂亮的web应用。

构建工具(自动化构建)

  • Grunt.js – Grunt生态系统很巨大,且每天成长着。由于有数以百计的插件可供选择,你可以使用Grunt自动化构建,且花费最少的代价。
  • Pint.js(Grunt助手) – Pint是一个小型、异步、感知依赖的基于Grunt的封装库,试图解决大规模构建过程中的一些问题。
  • Gulp.js – Gulp的流式构建方式和代码优于配置理念使构建更简单、更直观。
  • Browserify.js(浏览器端) – Browserify是一个允许编写、编译node.js风格的模块并将之用于浏览器的开发工具。就像node,我们在单独文件中编写模块,使用module.exports、exports导出外部方法和属性。
  • Uglify.js – Uglify.js是服务于NodeJS的一个JavaScript解析/压缩/美化库。

包管理工具

  • Homebrew(适用于Mac 系统) – Homebrew能安装你需要而苹果不提供的东西。
  • Apt (适用于Ubuntu系统) – apt-get命令是一个强大的命令行工具,与Ubuntu的高级包装工具(APT)配合使用,提供了安装新软件、升级已有软件、更新软件列表目录,甚至升级整个Ubuntu系统等功能。
  • NPM – npm是一个Node.js官方包管理工具。
  • Bower – Bower是一个web的包管理工具。

前端

MVC框架

  • Backbone.js – Backbone.js通过提供进行键值绑定的模块、自定义事件、具有丰富可枚举函数API的集合、能处理已定义事件的视图,搭建了web应用的架构。它通过RESTful JSON接口与其它已存在的API进行通信。
  • Ember.js – 当底层模块改变时,Ember使得Handlebar模板引擎在保持HTML最新方面做得更好。开始时,你甚至不需要编写任何JavaScript。
  • Angular.js – Angular.js能让你扩展应用的HTML词汇。由此产生的效果是网页极富表现力,代码可读性强,适合快速开发。

模板

  • Handlebars.js – Handlebars提供了让你顺利、有效地构建语义模板的强大能力。Handlebars兼容Mustache模板,因此你可以在Handlebars中导入Mustache模板,同时享用Handlebars的其他功能。
  • Mustache.js(比Handlebars更少外置元素) – Mustache是一个简单的web模板系统,已有ActionScript、 C++、Clojure、CoffeeScript、ColdFusion、D、Erlang、Fantom、 Go、Java、JavaScript、 Lua、.NET、 Objective-C、Pharo、Perl、PHP、Python、Ruby、Scala 和 XQuery语言实现版本的可用。
  • Jade – Jade 是一个node模板引擎,主要为node.js的服务器端模板而设计。
  • Haml-js – Haml-js允许在JavaScript项目中使用Haml语法,并拥有大部分与原先Haml相同的功能。
  • Eco – Eco能让你在标记元素中嵌入CoffeeScript 的逻辑。

测试

  • Casper.js – CasperJS是一个Javascript实现的,PhantomJS和SlimerJS的导航脚本和测试工具。
  • Zombie.js – Zombie.js是一个在模拟环境中测试客户端JS代码的轻量级框架。无需浏览器。

后端

服务器

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

数据库

  • MongoDB – MongoDB 是个开源的文档数据库,引领着NoSQL数据库。
  • Postgresql – PostgreSQL 是一个强大、开源、对象-关系型数据库系统。
  • SQL – SQL用于与数据库进行通信。根据美国国家标准学会的定义,它是关系式数据库管理系统的标准语言。

架构风格

  • RESTful – 表现层状态转化是一种架构风格,包含了一组相互协作的架构约束。这些约束应用于分布式超媒体系统之间的组件、连接器和数据元素。

测试

  • Cucumber.js – Cucumber.js是一种流行的行为驱动开发工具,并将之应用于你自己的JavaScript程序
  • Jasmine – Jasmine是JavaScript的一个行为驱动开发测试框架。它不依赖于浏览器、DOM、或任何其他JavaScript框架。因此它适用于网站、Node.js项目、或任何可运行JavaScript的地方。
  • Mocha – Mocha 是一个运行于node.js和浏览器的特色丰富的JavaScript测试框架,使得异步测试更简单有趣。
  • Q-Unit – Q-Unit 是一个强大,易用的JavaScript单元测试框架。它被用于jQuery、jQuery UI 和 jQuery Mobile 项目,能够测试任何通用的JavaScript代码。

断言库

  • Chai – Chai 是一个行为驱动开发/测试驱动开发(BDD / TDD )断言库,用于node和浏览器,可以愉快地搭配任何JavaScript测试框架。

函数式编程工具

  • Underscore.js – Underscore是一个提供了一大堆有用的函数式编程辅助,无须扩展任何内置对象的JavaScript库。
  • Lo-Dash – Lo-Dash是一个提供了一致性、定制和性能的实用程序库。