常規(guī)工具
腳手架工具
Yeoman:它旨在為開發(fā)者提供一系列健壯的工具、程序庫和
工作流,幫助開發(fā)者快速構(gòu)建漂亮的
Web應(yīng)用。
構(gòu)建工具(自動)
Grunt.js:生態(tài)強(qiáng)大,發(fā)展速度快,有大量可選插件;
Gulp.js:流式項(xiàng)目構(gòu)建工具;
Browserify.js:Node.js模塊,主要用于改寫現(xiàn)有的CommonJS模塊,使得瀏覽器端也可以使用這些模塊;
Uglify.js:JavaScript解析器、壓縮工具和代碼美化庫。
軟件包管理工具
Homebrew (Mac OS):Apple Mac OS下的軟件安裝工具;
Apt:Debian、Ubuntu等系列
Linux系統(tǒng)的軟件包管理工具,可用來安裝、刪除、升級軟件等;
NPM:Node.js的官方軟件包管理器;
Bower:twitter的一個(gè)開源項(xiàng)目,用于web包管理。
前端
MVC框架
Backbone.js:提Web開發(fā)的框架,為復(fù)雜的Javascript應(yīng)用程序提供模型(models)、集合(collections)、視圖(views)結(jié)構(gòu);
Ember.js:可以創(chuàng)建功能豐富的Web應(yīng)用程序,并提供一個(gè)標(biāo)準(zhǔn)的應(yīng)用程序架構(gòu)的JavaScript框架;
Angular.js:一組用來開發(fā)Web頁面的框架、模板以及數(shù)據(jù)綁定和豐富UI的組件,無需進(jìn)行手工DOM操作,還允許為App擴(kuò)展HTML類庫。
模板
Handlebars.js:JavaScript頁面模板庫,可以為開發(fā)者提供必需的語義模板;
Mustache.js:是Mustache模板系統(tǒng)的JavaScript實(shí)現(xiàn),語法邏輯比較簡單,適用于C++、Clojure、Erlang、Go、Java、JavaScript等語言;
Jade:Node模板引擎,主要用于Node.js里的服務(wù)端模板;
Haml-js:允許在JavaScript項(xiàng)目中使用Haml語法,與原生的Haml擁有差不多的功能;
Eco:可以用來將CoffeeScript邏輯嵌入到標(biāo)記中。
Casper.js:CasperJS是一個(gè)為PhantomJS和SlimerJS準(zhǔn)備的導(dǎo)航腳本及測試工具;
Zombie.js:Zombie.js是一個(gè)輕量級的框架,可以在一個(gè)模擬的環(huán)境下測試客戶端的 JavaScript 代碼,且不需要瀏覽器的幫助。
后端
服務(wù)器
Express:Node的web應(yīng)用框架;
Node:Node.js是構(gòu)建于Chrome JavaScript運(yùn)行時(shí)基礎(chǔ)上的一個(gè)平臺,可快速構(gòu)建網(wǎng)絡(luò)應(yīng)用。
數(shù)據(jù)庫
MongoDB:開源的文檔存儲數(shù)據(jù)庫,也是領(lǐng)先的非關(guān)系型數(shù)據(jù)庫;
Postgresql:開源的對象-關(guān)系數(shù)據(jù)庫服務(wù)器;
SQL:結(jié)構(gòu)化查詢語言,可用來存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。
架構(gòu)
RESTful:目前流行的互聯(lián)網(wǎng)軟件架構(gòu),結(jié)構(gòu)清晰、易于理解、方便擴(kuò)展。
測試
Cucumber.js:采用受歡迎的行為驅(qū)動開發(fā)工具并將其應(yīng)用到JavaScript堆棧中。
Jasmine:行為驅(qū)動的開發(fā)測試框架,不依賴瀏覽器、DOM或任何其他JavaScript架構(gòu),較適合網(wǎng)站、Node.js項(xiàng)目或應(yīng)用在任何可以運(yùn)行JavaScript的地方。
Mocha:運(yùn)行在Node.js和瀏覽器之上,主要用于異步測試。
Q-Unit:單元測試框架,常用于jQuery、jQuery UI和jQuery移動項(xiàng)目,也可以用于測試常規(guī)的JavaScript代碼。
斷言庫(Assertion Libraries)
Chai:一個(gè)用于Node的BDD/TDD斷言庫(Assertion Libraries),可與任何JavaScript測試框架進(jìn)行搭配。
函數(shù)式編程工具
Underscore.js:JavaScript庫,提供了大量有用的函數(shù)編程工具,無需擴(kuò)展任何內(nèi)置對象;
Lo-Dash:提供自定義、性能和一致性的JavaScript庫。