分享幾個(gè)值得學(xué)習(xí)的NodeJS開源框架(nodejs 開源項(xiàng)目)
平時(shí)做NodeJS開發(fā)時(shí),經(jīng)常需要用到一些相關(guān)的框架。但是,框架千千萬萬,用到時(shí)卻一頭霧水。到底要選擇哪一個(gè)呢?各有哪些優(yōu)缺點(diǎn)?現(xiàn)在,老K就為大家推薦幾個(gè)比較好的框架。
01 Primus
Primus,是Transformer的創(chuàng)造者,并且也被稱為通用包裝器實(shí)時(shí)框架。Primus里包含了大量的用于Node.js的實(shí)時(shí)框架,并 且它們都擁有各種不同的實(shí)時(shí)功能。此外,Primus還提供了通用的低級(jí)別接口用于各個(gè)實(shí)時(shí)框架之間進(jìn)行通信。Primus開源,并且托管在Github上。
地址:https://github.com/primus/primus
02 Geddy
Geddy是一個(gè)非常簡單的基于Node.js的結(jié)構(gòu)化MVC框架。你可以使用它快速的構(gòu)建Web應(yīng)用和JSON API。如果你使用過Ruby on Rails或者PHP的codelgniter,那么Geddy和他們非常類似。它擁有一個(gè)RESTful的路由、模板渲染、控制器和模型。
想學(xué)Geddy的開發(fā)者可以去Fleegix(http://fleegix.org/)看看,上面有大量關(guān)于Geddy的使用教程和學(xué)習(xí)資料,并且這個(gè)博客就是采用Geddy開發(fā)的。
地址:http://geddyjs.org/
03 Locomotive
Locomotive是個(gè)強(qiáng)大的Node.js的MVC框架,支持RESTfu,可以無縫連接任何數(shù)據(jù)庫和模版引擎。Locomotive是在Express的基礎(chǔ)上建立的,保持了Node.js 強(qiáng)大而簡單的功能。
地址:http://locomotivejs.org/
04 KeystoneJS
KeystoneJS是一個(gè)基于Express與Mongoose的Node.js CMS內(nèi)容管理平臺(tái)和Web應(yīng)用平臺(tái)。使用它可以方便快速建立基于數(shù)據(jù)庫驅(qū)動(dòng)的網(wǎng)站應(yīng)用,還提供了安全認(rèn)證和會(huì)話管理、動(dòng)態(tài)路由、能夠?qū)γ艽a自動(dòng)加密、表 單校驗(yàn)處理、自動(dòng)產(chǎn)生管理界面、Email郵件發(fā)送等。
地址:http://keystonejs.com/
05 DozerJS
DozerJS是一款旨在開發(fā)可擴(kuò)展的RESTful風(fēng)格的API和Web服務(wù)來支持前端開發(fā)。下面推薦兩個(gè)DozerJS教程給大家,一個(gè)是入門教程(http://www.fluidbyte.net/getting-started-with-dozerjs/),一個(gè)是DozerJS開發(fā)示例(http://www.fluidbyte.net/simple-todo-list-app-with-dozerjs/)。
地址:http://dozerjs.com/
06 Chocolate.js
Chocolate.js是一個(gè)基于Node.js,使用CoffeeScript構(gòu)建的簡單的Web應(yīng)用框架(集合)。 想學(xué)習(xí)該框架的同學(xué)可以到這里對(duì)其進(jìn)行全面了解,并且里面有大量的示例。
地址:https://chocolatejs.org/
07 Datachannel.io
Datachannel.io是一款受socket.io框架啟發(fā),使用WebRTC技術(shù)實(shí)現(xiàn)的實(shí)時(shí)通信Web應(yīng)用程序??梢灾苯舆M(jìn)行數(shù)據(jù)連接,并且無需通過服務(wù)器即可進(jìn)行數(shù)據(jù)交換操作。
地址:https://datachannel.io/
08 StrongLoop
StrongLoop是一個(gè)基于Node.js開發(fā)的API服務(wù),它最著名的一款實(shí)時(shí)性能監(jiān)測(cè)產(chǎn)品叫StrongOps,通常也叫做Nodefly。StrongLoop套件包含了LookBack、StrongOps、StrongNode這三個(gè)產(chǎn)品。
地址:https://strongloop.com/
09 UglifyJS
UglifyJS是一個(gè)服務(wù)端Node.js的壓縮程序,里面包含了所有必要的工具和可擴(kuò)展的文檔來幫助開發(fā)者提高代碼效率。
地址:http://marijnhaverbeke.nl/uglifyjs/
10 Derby
Derby是一個(gè)MVC框架,幫助編寫實(shí)時(shí),交互的應(yīng)用??梢赃\(yùn)行在Node.js或者瀏覽器環(huán)境中。還擁有一個(gè)數(shù)據(jù)同步引擎Racer。推薦兩個(gè)學(xué)習(xí)資源給大家:Node.js MVC:Express.js Derby.js Hello World教程(https://webapplog.com/node-js-mvc-express-js-derby-hello-world-tutorial/)。
地址:http://derbyjs.com/
11 Dojo Toolkit
Dojo Tookkit是一款功能非常強(qiáng)大的JavaScript類庫,可以實(shí)現(xiàn)任何功能。這里提供一個(gè)使用Node.js與Dojo開發(fā)的教程(http://dojotoolkit.org/documentation/tutorials/1.9/node/)。
地址:http://dojotoolkit.org/
12 CompoundJS
CompoundJS 是一個(gè)Node.js的MVC框架,開發(fā)者使用它在幾分鐘內(nèi)即可構(gòu)建一款Web應(yīng)用??焖偃腴T教程(https://github.com/compoundjs/guides/blob/master/basics/crash-course.md)。
地址:http://compoundjs.com/
13 KnockoutJS
KnockoutJS是一個(gè)輕量級(jí)的UI類庫,通過應(yīng)用MVVM模式使JavaScript前端UI簡單化。比如列表數(shù)據(jù)項(xiàng)增減后,不需要重新刷新整個(gè)控件片段或自己寫JS增刪節(jié)點(diǎn),只要預(yù)先定義模板和符合其語法定義的屬性即可。簡單的說,開發(fā)者只需要關(guān)注數(shù)據(jù)的存取。
地址:http://knockoutjs.com/