13 款驚豔的 Node.js 框架——第2部分
【編者按】本文作者為 Peter Wayner,主要介紹13款至精至簡的 Node.js 框架,幫助你簡化高速網站、豐富 API 以及實時應用的開發流程。本文系國內 ITOM 管理平臺 OneAPM 編譯呈現,以下為正文第二部分。點此檢視本文的第一部分。
Node.js 推出至今也有些年頭了,但它就像初生的太陽,充滿朝氣。人們不斷地探索更新更好的平臺資訊釋出方式,於是選擇也越來越多。這些努力最終催生了多款 Node.js 框架,不論是 Node.js 愛好者還是新手,都可以盡情探索,尋求新的提升。下文將介紹另外7款不錯的 Node.js 框架。
7、Hapi
藉助 Hapi 框架,可以搭建完整的網站。但是,很多 Hapi 使用者專注於用其打造從後臺抽取資料,並快速高效地進行釋出的服務。每臺伺服器只是一組對映的集合,這些對映將 URL 路徑對應到生成結果的函式,而這些路由則通過 Hapi API 進行配置,而不是寫入新程式碼中。此外,Hapi 社群支援多種多樣的外掛,可用於處理搭建服務時必要的身份驗證、安全等問題。
上圖展示了 Boom 外掛正式判定的幾個標準化錯誤,Boom 外掛提供了一組工具,可以幫助使用者更好地瞭解可能出現的 HTTP 錯誤。
Hapi 基於要求基本屬性的許可證釋出,其 GitHub 地址在此。
8、Sails.js
如果你需要打造一個企業級的自定義 Web 應用,Sails.js MVC 框架能幫助你處理許多應用核心任務,同時適應性很高,能與其他工具協作。據其維護人員稱:Sails 不僅“無所謂前端環境”,而且能適配“任何資料庫”。並且,如果你使用該框架生成的標準 REST API,其中的大部分實現過程都是自動化的。如果你喜歡 Ruby 的慣例哲學以及 MVC 的分離特性,Sails 的一切會顯得似曾相識,你也能很快上手。
上圖展示了一個 Sails 應用的基本目錄結構。
Sails 基於 MIT 許可證釋出,其 GitHub 地址在此。
9、StrongLoop
建立 API 的大部分工作都可以自動化。一旦知道了資料模型,搭建用於資料編輯的工具在很大程度上只是練習而已。StrongLoop 自動化了大部分此類操作,並新增了針對大多數大型資料儲存,諸如 Oracle、MySQL 及 MongoDB,的聯結器。此外,為了提高適應性,他們不是支援隨時間變化的動態資料模型,就支援帶有固定模式的靜態模型。這由你決定。此外,還提供了一個現成的安全層,具備訪問控制表及一些不錯的移動服務。以上一切都是基於 Express 搭建的,因此,你要從 Express 的全部功能集入手。
上圖展示了 StrongLoop 的 API 探索工具。
對於測試專案,StrongLoop 可基於混合型開源許可證釋出。其 GitHub 地址在此。
10、ActionHero
許多框架都把為全功能使用者提供高階支援設為目標,這些使用者往往執行著瀏覽器、通過 JSON 實現互動。ActionHero 不僅能實現這一點,還在低端,通過有線協議與 TCP 直接通訊。如果你需要比 JSON 更為簡單的資料格式,這就非常方便了。此外,如果你想傳送原始檔案,這一機制也大有益處,因為 ActionHero 的釋出方式與 CDN 類似,不會要求你執行 Apache 或 Nginx。
上圖展示了 ActionHero 處理不同動作以及與 Redis 連線的棧結構。
ActionHero 基於 Apache 許可證釋出,其 GitHub 地址在此。
11、Keystone.js
Express 與 MongoDB 是 Node.js 棧的關鍵組成部分。但是,你需要將二者結合,再新增一點新的功能,才能真正實現訊息傳遞。Keystone.js 旨在聯結 Express 與 MongoDB 以實現一個內容管理系統。不過,藉助於 Keystone 提供的 Yeoman 框架構建服務,這一過程已經大為簡化。Yeoman 能幫助你填好檔案,安裝好執行部落格或博文等內容所需的所有元件。
上圖展示了一個使用 Yeoman 及 Keystone 搭建的圖片共享演示網頁的一部分。
Keystone 基於 MIT 許可證釋出,其 GitHub 地址在此。
12、Sequelize
像 PostgresQL 或 MySQL 之類的 SQL 資料庫來自事務處理世界,你發出一個命令,進而等待答覆。而 Node 則建立於在 JavaScript 中頗為常見的非同步回撥架構。Sequelize 將二者進行了整合。當你為其支援的五大資料庫中的任意一種建立 SQL 查詢時,Sequelize 會傳送查詢,並承諾在資料庫返回查詢結果時呼叫你的函式。它將舊世界與新的架構命令(architectural imperative)進行了聯姻。
上圖展示瞭如何重寫一條舊 SQL 查詢以適應 Node 摩登世界。
Sequelize 的原始碼基於要求基本屬性的許可證釋出,其 GitHub 地址在此。
13、Mean.io
實際上,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
相關文章
- 驚豔的渲染效果!
- 分享5款小眾良心軟體,好用到讓人驚豔
- 跳動的“loading”,個個都很驚豔!
- css樣式相關的驚豔的屬性CSS
- 《控制》IGN 8.8 分:難以忘懷的驚豔
- Bioware的沒落?殘缺卻驚豔的《聖歌》
- 分享web前端裡驚豔的HTML5的demoWeb前端HTML
- 第 13 篇:DRF 框架之 API 版本管理框架API
- 一個令人驚豔的ChatGPT專案,開源了!ChatGPT
- [譯] Node.js 高效能和可擴充套件應用程式的最佳實踐 [第 2/3 部分]Node.js套件
- OPPO A7外觀評測賞析:OPPO又一款驚豔水滴屏之作
- FBS2017:伊利智慧驚豔登場
- 《Divinuet》的互動音樂系統 – 第 2 部分
- 安利一個驚豔的紅樓夢視覺化作品視覺化
- 總結28個令人驚豔的JavaScript單行程式碼JavaScript行程
- 網易花4年做了一款主攻“全球化”的MMO,剛曝光就多次驚豔外媒
- sumbline text2的node.js的ejs框架外掛Node.js框架
- 你要默默的學會這些,慢慢的驚豔所有人
- 如何寫出一個驚豔面試官的深複製?面試
- 一些驚豔到我的運維實施技巧和思路運維
- 最受歡迎的 5 款 Node.js 端到端測試框架Node.js框架
- 驚豔,Dubbo域名已改,也不再侷限於Java!!Java
- 25年磨一劍 華為CloudLink新品驚豔亮相Cloud
- 這 10 套專案,一個比一個驚豔!
- 多年經驗總結,寫出最驚豔的 Markdown 高階用法
- 文案唯美,畫面驚豔,現象級遊戲如何打造?遊戲
- 黑客:你要悄悄變富,然後驚豔所有人……黑客
- 如何用ppt做出驚豔的視覺化圖表?教你3個妙招視覺化
- 13、Node.js 全域性物件Node.js物件
- Steam好評率超八成,這款bilibili遊戲自研產品詮釋了何為驚豔遊戲
- 【譯】什麼是SOLID原則(第2部分)Solid
- Java反應式事件溯源之第 2 部分:Actor 模型Java事件模型
- OPPO Find X屏佔比高達93.8% 比vivo NEX更驚豔
- 第 13 章 StringTable
- Arcade新遊《權力的遊戲》驚豔:低多邊畫風,放置+SLG遊戲
- 一個令人驚豔的萬能碼(安全掃碼專業委員會)
- Java XML和JSON:Java SE的文件處理 第2部分JavaXMLJSON
- 從零開始打造自己的PHP框架――第2章PHP框架
- Node.js Express 框架Node.jsExpress框架