加速Web開(kāi)發(fā)的十種Node.JS框架
譯文
【51CTO.com快譯】眾所周知,Node.js能夠通過(guò)提供不同的框架,使得Web應(yīng)用程序的開(kāi)發(fā)過(guò)程更為方便且高效。下面讓我們來(lái)一起瀏覽一下,目前能夠加速Web開(kāi)發(fā)的十種Node.JS框架。
1.Hapi.js
Hapi.js可謂Node.js中強(qiáng)大的框架之一。它的功能不但豐富,而且實(shí)用。它可以被用于構(gòu)建一些應(yīng)用程序,以實(shí)現(xiàn)與API、或其他軟件應(yīng)用的交互。
Hapi.js能夠提供的功能包括:使用JOI(譯者注:是一種工具模塊,可用于JavaScript對(duì)象的校驗(yàn))的輸入驗(yàn)證、緩存、日志記錄、配置管理和錯(cuò)誤處理等方面。所有這些功能都是旨在構(gòu)建具有簡(jiǎn)潔代碼、以及較高性能的Web應(yīng)用和API。
2.Sails.js
Sails.js是另一個(gè)功能強(qiáng)大的Node.js框架,也是備受歡迎的MVC框架之一。它可以被用于構(gòu)建自定義的、企業(yè)級(jí)的實(shí)時(shí)應(yīng)用。作為一款前端必備的框架,Sails.js允許用戶在較短的時(shí)間內(nèi),構(gòu)建出實(shí)用、且適合于生產(chǎn)環(huán)境的應(yīng)用程序。
另外,Sails.js具有強(qiáng)大的針對(duì)對(duì)象關(guān)系映射(Object Relational Mapping,ORM)的解決方案、以及用到了Waterline(譯者注:它是Github中支持各種主流數(shù)據(jù)庫(kù)的ORM模塊)的數(shù)據(jù)庫(kù)層。因此Sails.js能與大多數(shù)可用的Grunt模塊相兼容。
3.Mean.js
Mean.js有時(shí)也被稱為Mean.IO,它是各種框架的組合,其中包括:MongoDB、Express.js、Angular.js和Node.js。
由于支持JavaScript的所有組件,Mean.js為Web應(yīng)用的開(kāi)發(fā)提供了一種簡(jiǎn)化和加速式的框架。
4.Express.js
Express.js通常被認(rèn)為是Node.js的基本框架。它提供了一系列廣泛的服務(wù)功能,可被用于構(gòu)建各種移動(dòng)和Web應(yīng)用、以及對(duì)應(yīng)的API。
作為一款快速的、輕量級(jí)的框架,Express.js提供了包括模板引擎、數(shù)據(jù)庫(kù)集成、以及多路由在內(nèi)的各種實(shí)用功能。
5.Meteor.js
Meteor.js是一種全棧式框架,它允許用戶生成與Android、iOS和Windows平臺(tái)相兼容的跨平臺(tái)代碼。
通過(guò)與MongoDB集成,Meteor.js可以自動(dòng)將數(shù)據(jù)的更改部分,直接傳遞到客戶端,而無(wú)需同步任何全量的代碼。這些主要依靠的是分布式數(shù)據(jù)協(xié)議、和“發(fā)布-訂閱”模式。而這恰恰成就了其成為強(qiáng)悍的動(dòng)態(tài)Web應(yīng)用開(kāi)發(fā)框架。
6.Kraken.js
Kraken.js是一款能夠提供動(dòng)態(tài)配置的,基于Node.js的Web應(yīng)用框架。它為Node.js添加了一個(gè)安全層、以及一套能夠擴(kuò)展到Express.js上的結(jié)構(gòu)。
另外,Kraken.js還提供了一定的安全性,可以處置應(yīng)用程序生命周期中的各種事件、以及中間件的相關(guān)功能。Kraken.js帶有如下幾個(gè)可以獨(dú)立使用的模塊:
- Lusca,可用于提高應(yīng)用程序的安全性。
- Kappa,一個(gè)用于NPM(譯者注:JavaScript的包管理工具)代理的模塊。
- Makara。
- AdaroFlatiron.js。
7.Flatiron.js
Flatron.js為所有用戶提供了非常實(shí)用的現(xiàn)代化資源和工具。他們中一些可用于修改URL路由、創(chuàng)建模板、管理數(shù)據(jù)和插件。
8.Koa.js
同樣作為一種Node.js框架,Koa.js消除了通過(guò)使用ES6生成器來(lái)進(jìn)行的回調(diào)與操作。Koa.js的內(nèi)在靈活性體現(xiàn)在:它允許用戶為Web應(yīng)用選擇相關(guān)的模塊。
9.LoopBack
構(gòu)建于Express.js之上的LoopBack,允許用戶實(shí)現(xiàn)各種可伸縮的API。LoopBack是通過(guò)StrongLoop Arc來(lái)監(jiān)控和部署應(yīng)用程序的。它使用Swagger 2.0來(lái)擴(kuò)展內(nèi)置API的管理器,進(jìn)而讓用戶創(chuàng)建相應(yīng)的API文檔。該特性讓LoopBack成為Node.js中具有靈活性、且全面的Web應(yīng)用開(kāi)發(fā)框架。
10.Keystone.js
Keystone.js經(jīng)常被廣泛地用于開(kāi)發(fā)原生數(shù)據(jù)庫(kù)驅(qū)動(dòng)(database-driven in nature)的Web應(yīng)用、網(wǎng)站、以及各種API。
Keystone.js使用的是諸如MongoDB之類的NoSQL數(shù)據(jù)庫(kù)。它使用Mongoose,一個(gè)先導(dǎo)式的ODM(Object Data Model)包,來(lái)連接用戶的MongoDB數(shù)據(jù)庫(kù)。通過(guò)提供嵌入式服務(wù),Keystone.js還可以管理各種UI、以及身份驗(yàn)證服務(wù)。
原文標(biāo)題:10 Powerful Node.JS Frameworks to accelerate the Web Development,作者:Sourabh Nagar
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】





























