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部分java

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

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

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

##八、Sails.js 13 款驚豔的 Node.js 框架——第2部分github

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

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

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

##九、StrongLoop 13 款驚豔的 Node.js 框架——第2部分

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

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

對於測試項目,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

相關文章
相關標籤/搜索