在訓練營中,為擴充套件學員們的程式設計能力,我們給他們介紹了一些工具和庫。目前有位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解析/壓縮/美化庫。
包管理工具
前端
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 的邏輯。
測試
後端
伺服器
資料庫
- 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是一個提供了一致性、定製和效能的實用程式庫。
更新:
有一個你認為應該在此清單的工具嗎?看看這篇文章和Github上使用MindNode製作的思維導圖(OPML)。請提交一個pull request,給我們您的建議,以增加新流行工具!