13 款驚艷的 Node.js 框架——第2部分

【編者按】本文作者為 Peter Wayner,主要介紹13款至精至簡的 Node.js 框架,幫助你簡化高速網站、豐富 API 以及實時應用的開發流程。本文系國內 ITOM 管理平臺 OneAPM 編譯呈現,以下為正文第二部分。點此查看本文的第一部分。

Node.js 推出至今也有些年頭了,但它就像初生的太陽,充滿朝氣。人們不斷地探索更新更好的平臺信息發布方式,于是選擇也越來越多。這些努力最終催生了多款 Node.js 框架,不論是 Node.js 愛好者還是新手,都可以盡情探索,尋求新的提升。下文將介紹另外7款不錯的 Node.js 框架。

7、Hapi

13 款驚艷的 Node.js 框架——第2部分

借助 Hapi 框架,可以搭建完整的網站。但是,很多 Hapi 用戶專注于用其打造從后臺抽取數據,并快速高效地進行發布的服務。每臺服務器只是一組映射的集合,這些映射將 URL 路徑對應到生成結果的函數,而這些路由則通過 Hapi API 進行配置,而不是寫入新代碼中。此外,Hapi 社區支持多種多樣的插件,可用于處理搭建服務時必要的身份驗證、安全等問題。

上圖展示了 Boom 插件正式判定的幾個標準化錯誤,Boom 插件提供了一組工具,可以幫助用戶更好地了解可能出現的 HTTP 錯誤。

Hapi 基于要求基本屬性的許可證發布,其 GitHub 地址在此。

8、Sails.js

13 款驚艷的 Node.js 框架——第2部分

如果你需要打造一個企業級的自定義 Web 應用,Sails.js MVC 框架能幫助你處理許多應用核心任務,同時適應性很高,能與其他工具協作。據其維護人員稱:Sails 不僅“無所謂前端環境”,而且能適配“任何數據庫”。并且,如果你使用該框架生成的標準 REST API,其中的大部分實現過程都是自動化的。如果你喜歡 Ruby 的慣例哲學以及 MVC 的分離特性,Sails 的一切會顯得似曾相識,你也能很快上手。

上圖展示了一個 Sails 應用的基本目錄結構。

Sails 基于 MIT 許可證發布,其 GitHub 地址在此。

9、StrongLoop

13 款驚艷的 Node.js 框架——第2部分

創建 API 的大部分工作都可以自動化。一旦知道了數據模型,搭建用于數據編輯的工具在很大程度上只是練習而已。StrongLoop 自動化了大部分此類操作,并添加了針對大多數大型數據存儲,諸如 Oracle、MySQL 及 MongoDB,的連接器。此外,為了提高適應性,他們不是支持隨時間變化的動態數據模型,就支持帶有固定模式的靜態模型。這由你決定。此外,還提供了一個現成的安全層,具備訪問控制表及一些不錯的移動服務。以上一切都是基于 Express 搭建的,因此,你要從 Express 的全部功能集入手。

上圖展示了 StrongLoop 的 API 探索工具。

對于測試項目,StrongLoop 可基于混合型開源許可證發布。其 GitHub 地址在此。

10、ActionHero

13 款驚艷的 Node.js 框架——第2部分

許多框架都把為全功能用戶提供高端支持設為目標,這些用戶往往運行著瀏覽器、通過 JSON 實現交互。ActionHero 不僅能實現這一點,還在低端,通過有線協議與 TCP 直接通信。如果你需要比 JSON 更為簡單的數據格式,這就非常方便了。此外,如果你想發送原始文件,這一機制也大有益處,因為 ActionHero 的發布方式與 CDN 類似,不會要求你運行 Apache 或 Nginx。

上圖展示了 ActionHero 處理不同動作以及與 Redis 連接的棧結構。

ActionHero 基于 Apache 許可證發布,其 GitHub 地址在此。

11、Keystone.js

13 款驚艷的 Node.js 框架——第2部分

Express 與 MongoDB 是 Node.js 棧的關鍵組成部分。但是,你需要將二者結合,再添加一點新的功能,才能真正實現消息傳遞。Keystone.js 旨在聯結 Express 與 MongoDB 以實現一個內容管理系統。不過,借助于 Keystone 提供的 Yeoman 框架構建服務,這一過程已經大為簡化。Yeoman 能幫助你填好文件,安裝好運行博客或博文等內容所需的所有組件。

上圖展示了一個使用 Yeoman 及 Keystone 搭建的圖片共享演示網頁的一部分。

Keystone 基于 MIT 許可證發布,其 GitHub 地址在此

12、Sequelize

13 款驚艷的 Node.js 框架——第2部分

像 PostgresQL 或 MySQL 之類的 SQL 數據庫來自事務處理世界,你發出一個命令,進而等待答復。而 Node 則建立于在 JavaScript 中頗為常見的異步回調架構。Sequelize 將二者進行了整合。當你為其支持的五大數據庫中的任意一種創建 SQL 查詢時,Sequelize 會發送查詢,并承諾在數據庫返回查詢結果時調用你的函數。它將舊世界與新的架構命令(architectural imperative)進行了聯姻。

上圖展示了如何重寫一條舊 SQL 查詢以適應 Node 摩登世界。

Sequelize 的源碼基于要求基本屬性的許可證發布,其 GitHub 地址在此。

13、Mean.io

13 款驚艷的 Node.js 框架——第2部分

實際上,Mean 并不是一個 Node.js 框架。它是一組預先優化過以協調運行的框架與技術的集合。作為縮略詞,MEAN 實際上代表著 MongoDB, Express, Angular 以及 Node。每個組成成分本身都是 Node 生態系統中最流行的部分。當它們聚集在一起時,使用起來甚至更加方便。

上圖展示了 Node 包管理器如何安裝這些成分,以及用于開發應用的一個新指令: mean

組成 Mean 的各個成分有其自己的許可證以及源碼庫。

OneAPM 能幫助您輕松鎖定 Node.js 應用性能瓶頸,通過強大的 Trace 記錄逐層分析,直至鎖定行級問題代碼。以用戶角度展示系統響應速度,以地域和瀏覽器維度統計用戶使用情況。想閱讀更多技術文章,請訪問 OneAPM 官方博客

本文轉自 OneAPM 官方博客

原文地址:http://www.javaworld.com/article/3066837/application-development/13-fabulous-frameworks-for-nodejs.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,117評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,860評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 177,128評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,291評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,025評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,421評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,477評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,642評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,177評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,970評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,157評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,717評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,410評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,821評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,053評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,896評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,157評論 2 375

推薦閱讀更多精彩內容