在訓練營中,為擴展學員們的編程能力,我們給他們介紹了一些工具和庫。目前有位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是一個提供了一致性、定制和性能的實用程序庫。
JavaScript高級程序設計(第3版)高清完整PDF中文+英文+源碼 下載見 http://www.linuxidc.com/Linux/2014-09/107426.htm
如何使用JavaScript書寫遞歸函數 http://www.linuxidc.com/Linux/2015-01/112000.htm
JavaScript核心概念及實踐 高清PDF掃描版 (邱俊濤) http://www.linuxidc.com/Linux/2014-10/108083.htm
理解JavaScript中的事件流 http://www.linuxidc.com/Linux/2014-10/108104.htm
JavaScript跨浏覽器事件對象類庫 http://www.linuxidc.com/Linux/2015-07/120615.htm