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

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

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

七、Hapi

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

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

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

Hapi 基於要求基本屬性的許可證發佈,其 GitHub 地址在此nginx

八、Sails.js

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

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

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

Sails 基於 MIT 許可證發佈,其 GitHub 地址在此mongodb

九、StrongLoop

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

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

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

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

十、ActionHero

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

許多框架都把爲全功能用戶提供高端支持設爲目標,這些用戶每每運行着瀏覽器、經過 JSON 實現交互。ActionHero 不只能實現這一點,還在低端,經過有線協議與 TCP 直接通訊。若是你須要比 JSON 更爲簡單的數據格式,這就很是方便了。此外,若是你想發送原始文件,這一機制也大有益處,由於 ActionHero 的發佈方式與 CDN 相似,不會要求你運行 Apache 或 Nginx

上圖展現了 ActionHero 處理不一樣動做以及與 Redis 鏈接的棧結構。

ActionHero 基於 Apache 許可證發佈,其 GitHub 地址在此

十一、Keystone.js

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

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

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

Keystone 基於 MIT 許可證發佈,其 GitHub 地址在此

十二、Sequelize

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

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

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

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

1三、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

相關文章
相關標籤/搜索