在訓練營中,為擴充套件學員們的程式設計能力,我們給他們介紹了一些工具和庫。目前有位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是一個提供了一致性、定製和效能的實用程式庫。
更新:
有一個你認為應該在此清單的工具嗎?看看這篇文章和Github上使用MindNode製作的思維導圖(OPML)。請提交一個pull request,給我們您的建議,以增加新流行工具!
英文出處:codefellows
譯文出處:伯樂線上 – heloowird