JavaScript 基礎(chǔ)工具清單:通用 前端 后端
訓(xùn)練營(yíng)中,為擴(kuò)展學(xué)員們的編程能力,我們給他們介紹了一些工具和庫(kù)。目前有位JavaScript學(xué)員Kalina,他匯總了這些工具的清單,以分享給其他的代碼愛好者。
基于Kalina的清單,我們JavaScript訓(xùn)練營(yíng)的輔導(dǎo)員Ivan Storck畫了一張思維導(dǎo)圖:
通用
腳手架工具(用于啟動(dòng)項(xiàng)目)
- Yeoman – Yeoman是一個(gè)健壯且固定的客戶端程序庫(kù),包含了工具和框架,有助于開發(fā)者快速構(gòu)建漂亮的web應(yīng)用。
構(gòu)建工具(自動(dòng)化構(gòu)建)
- Grunt.js – Grunt生態(tài)系統(tǒng)很巨大,且每天成長(zhǎng)著。由于有數(shù)以百計(jì)的插件可供選擇,你可以使用Grunt自動(dòng)化構(gòu)建,且花費(fèi)最少的代價(jià)。
- Pint.js(Grunt助手) – Pint是一個(gè)小型、異步、感知依賴的基于Grunt的封裝庫(kù),試圖解決大規(guī)模構(gòu)建過程中的一些問題。
- Gulp.js – Gulp的流式構(gòu)建方式和代碼優(yōu)于配置理念使構(gòu)建更簡(jiǎn)單、更直觀。
- Browserify.js(瀏覽器端) – Browserify是一個(gè)允許編寫、編譯Node.js風(fēng)格的模塊并將之用于瀏覽器的開發(fā)工具。就像node,我們?cè)趩为?dú)文件中編寫模塊,使用module.exports、exports導(dǎo)出外部方法和屬性。
- Uglify.js – Uglify.js是服務(wù)于NodeJS的一個(gè)JavaScript解析/壓縮/美化庫(kù)。
包管理工具
前端
MVC框架
- Backbone.js – Backbone.js通過提供進(jìn)行鍵值綁定的模塊、自定義事件、具有豐富可枚舉函數(shù)API的集合、能處理已定義事件的視圖,搭建了web應(yīng)用的架構(gòu)。它通過RESTful JSON接口與其它已存在的API進(jìn)行通信。
- Ember.js – 當(dāng)?shù)讓幽K改變時(shí),Ember使得Handlebar模板引擎在保持HTML***方面做得更好。開始時(shí),你甚至不需要編寫任何JavaScript。
- Angular.js – Angular.js能讓你擴(kuò)展應(yīng)用的HTML詞匯。由此產(chǎn)生的效果是網(wǎng)頁極富表現(xiàn)力,代碼可讀性強(qiáng),適合快速開發(fā)。
模板
- Handlebars.js – Handlebars提供了讓你順利、有效地構(gòu)建語義模板的強(qiáng)大能力。Handlebars兼容Mustache模板,因此你可以在Handlebars中導(dǎo)入Mustache模板,同時(shí)享用Handlebars的其他功能。
- Mustache.js(比Handlebars更少外置元素) – Mustache是一個(gè)簡(jiǎn)單的web模板系統(tǒng),已有ActionScript、 C++、Clojure、CoffeeScript、ColdFusion、D、Erlang、Fantom、 Go、Java、JavaScript、 Lua、.NET、 Objective-C、Pharo、Perl、PHP、Python、Ruby、Scala 和 XQuery語言實(shí)現(xiàn)版本的可用。
- Jade – Jade 是一個(gè)node模板引擎,主要為node.js的服務(wù)器端模板而設(shè)計(jì)。
- Haml-js – Haml-js允許在JavaScript項(xiàng)目中使用Haml語法,并擁有大部分與原先Haml相同的功能。
- Eco – Eco能讓你在標(biāo)記元素中嵌入CoffeeScript 的邏輯。
測(cè)試
后端
服務(wù)器
數(shù)據(jù)庫(kù)
- MongoDB – MongoDB 是個(gè)開源的文檔數(shù)據(jù)庫(kù),***著nosql數(shù)據(jù)庫(kù)。
- Postgresql – PostgreSQL 是一個(gè)強(qiáng)大、開源、對(duì)象-關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)。
- SQL – SQL用于與數(shù)據(jù)庫(kù)進(jìn)行通信。根據(jù)美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì)的定義,它是關(guān)系式數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語言。
架構(gòu)風(fēng)格
- RESTful – 表現(xiàn)層狀態(tài)轉(zhuǎn)化是一種架構(gòu)風(fēng)格,包含了一組相互協(xié)作的架構(gòu)約束。這些約束應(yīng)用于分布式超媒體系統(tǒng)之間的組件、連接器和數(shù)據(jù)元素。
測(cè)試
- Cucumber.js – Cucumber.js是一種流行的行為驅(qū)動(dòng)開發(fā)工具,并將之應(yīng)用于你自己的JavaScript程序
- Jasmine – Jasmine是JavaScript的一個(gè)行為驅(qū)動(dòng)開發(fā)測(cè)試框架。它不依賴于瀏覽器、DOM、或任何其他JavaScript框架。因此它適用于網(wǎng)站、Node.js項(xiàng)目、或任何可運(yùn)行JavaScript的地方。
- Mocha – Mocha 是一個(gè)運(yùn)行于node.js和瀏覽器的特色豐富的JavaScript測(cè)試框架,使得異步測(cè)試更簡(jiǎn)單有趣。
- Q-Unit – Q-Unit 是一個(gè)強(qiáng)大,易用的JavaScript單元測(cè)試框架。它被用于jQuery、jQuery UI 和jQuery Mobile 項(xiàng)目,能夠測(cè)試任何通用的JavaScript代碼。
斷言庫(kù)
- Chai – Chai 是一個(gè)行為驅(qū)動(dòng)開發(fā)/測(cè)試驅(qū)動(dòng)開發(fā)(BDD / TDD )斷言庫(kù),用于node和瀏覽器,可以愉快地搭配任何JavaScript測(cè)試框架。
函數(shù)式編程工具
- Underscore.js – Underscore是一個(gè)提供了一大堆有用的函數(shù)式編程輔助,無須擴(kuò)展任何內(nèi)置對(duì)象的JavaScript庫(kù)。
- Lo-Dash – Lo-Dash是一個(gè)提供了一致性、定制和性能的實(shí)用程序庫(kù)。
更新:
有一個(gè)你認(rèn)為應(yīng)該在此清單的工具嗎?看看這篇文章和Github上使用MindNode制作的思維導(dǎo)圖(OPML)。請(qǐng)?zhí)峤灰粋€(gè)pull request,給我們您的建議,以增加新流行工具!
原文鏈接: codefellows 翻譯: 伯樂在線 - heloowird