13 款驚豔的 Node.js 框架——第1部分
【編者按】本文作者為 Peter Wayner,主要介紹13款至精至簡的 Node.js 框架,幫助你簡化高速網站、豐富 API 以及實時應用的開發流程。本文系國內 ITOM 管理平臺 OneAPM 編譯呈現,以下為正文的第一部分。
Node.js 推出至今也有些年頭了,但它就像那初生的太陽,充滿朝氣。人們不斷地探索更新更好的平臺資訊釋出方式,於是選擇也越來越多。這些努力最終催生了多款 Node.js 框架,不論是 Node.js 愛好者還是新手,都可以盡情探索,尋求新的提升。
在下文中,筆者將介紹最引人注目的十多款框架。這些框架能有效簡化複雜網站的構建流程。如果你正打算開始新的專案,不妨嘗試其中的一些框架,可快速完成前期工作,並體驗這些專案中捆綁的功能。
1、express
Express 是一款以輕量級的方式處理請求的框架。它將 URL 對映至模板,將來自通用資料儲存中的資料填入值中。其標準的模板引擎為 Consolidate,但是由於樣式相當簡單,大多數模板引擎都能良好執行。
Express 團隊許諾說,MySpace 欲意採用 Express 打造新版本,以此提高其時髦度。如果你不知道 MySpace 為何物,可以問問祖父母,他們或許還有 MySpace 賬號。
Express 基於 MIT 許可證釋出,其 GitHub 地址在此。
2、Koa.js
打造 Express 的團隊決定更進一步,使用全新可伸縮的呼叫棧構建新一代框架。名為 Koa.js 的呼叫棧允許你在呼叫及響應握手時新增新的特性。一開始,你需要寫一點程式碼來處理請求,但之後,就可以自定義請求處理的全過程。負責所有互動和錯誤處理的中介軟體都可以加以修改。此外,還有十多項外掛包,為呼叫棧新增了壓縮、快取、JSON 編碼等功能。
上圖展示了與 Koa 捆綁的某個模板庫使用的部分 Jade 標記。
Koa 基於 MIT 許可證釋出,其 GitHub 地址在此。
3、Total.js
Total.js 棧的設計初衷是儘可能實現自動化。從 HTML 和 CSS 標記模板出發,Total 可以將之編譯為原始程式碼,壓縮之後再進行釋出。從某種意義上講,Total 是偽裝為框架的一個強力網站編譯器。
上圖展示了一個壽司吧網站的例項。
Total 基於 MIT 許可證釋出,其 GitHub 地址在此。
4、Derby.js
Node.js 的一個重要特點是在瀏覽器與伺服器端使用相同的語言。Derby.js 通過試圖在兩端執行相同的程式碼,並同步執行結果,將這一特點發揮到極致。之後,它通過模板渲染、打包以及一些 MVC 來簡化這一過程。你無需擔心諸如編譯 CSS 程式碼的問題,因為 Derby 整合了這些功能。
上圖展示了一個基本的待辦事物清單。
Derby 基於 MIT 許可證釋出,其 GitHub 地址在此。
5、Meteor.js
Meteor.js是一款實時應用,其設計初衷是打造與伺服器持續同步的 Web 應用。對模板或資料進行的修改會自動從伺服器端傳到瀏覽器端。重新描繪與更新操作直接由底層框架負責。並且,這一機制是雙向的。瀏覽器程式碼進行改動或寫入資料時就像直接運算元據庫一樣。同步完全在後臺進行。
上圖展示了一個在 Meteor 中打造的用於同步急救先鋒隊任務的應用。
Meteor 基於 Apache 許可證釋出,在其官網與 Github 均可找到安裝指令碼。
6、restify
並非每個應用都要求瀏覽器的全面支援。Restify 是旨在僅通過 API 提供資料的伺服器端框架。成功執行之後,Restify 輸出的是 JSON 資料。
Restify 相當強調除錯與分析,因此你可以深入鑽研、優化伺服器的效能。DTrace 整合效能好,支援度高,能清晰瞭解應用狀況,預測可能出現的錯誤。
上圖展示了一個在除錯會話中儲存的審計資料包。
Restify 基於非常基本的許可證釋出,使用時要求註明版權。其 GitHub 地址在此。
以上為前6個框架,欲知後續內容,敬請關注 OneAPM 官方技術部落格。
OneAPM 能幫助您輕鬆鎖定 Node.js 應用效能瓶頸,通過強大的 Trace 記錄逐層分析,直至鎖定行級問題程式碼。以使用者角度展示系統響應速度,以地域和瀏覽器維度統計使用者使用情況。想閱讀更多技術文章,請訪問 OneAPM 官方部落格。
本文轉自 OneAPM 官方部落格
相關文章
- 13 款驚豔的 Node.js 框架——第2部分Node.js框架
- 11款效果驚豔的HTML5動畫應用HTML動畫
- 8款驚豔的HTML5粒子動畫特效HTML動畫特效
- 8款效果驚豔的HTML5 3D動畫HTML3D動畫
- 十款效果驚豔的HTML5應用和原始碼HTML原始碼
- 10款效果驚豔的HTML5應用和原始碼HTML原始碼
- 超級驚豔 10款HTML5動畫特效推薦HTML動畫特效
- 分享5款小眾良心軟體,好用到讓人驚豔
- 9款驚豔的HTML5/CSS3動畫應用賞析HTMLCSSS3動畫
- IFA上要釋出的這幾款頂尖的智慧手錶:驚豔了
- 10個驚豔的Swift單行程式碼Swift行程
- 10個驚豔的Ruby單行程式碼行程
- css樣式相關的驚豔的屬性CSS
- 使用 LLVM 框架建立一個工作編譯器,第 1 部分LVM框架編譯
- 10個驚豔的CoffeeScript單行程式碼行程
- 30 個驚豔的 Bootstrap 擴充套件外掛boot套件
- 分享web前端裡驚豔的HTML5的demoWeb前端HTML
- SmallerAPK,第1部分:APK的剖析APK
- 《Divinuet》的互動音樂系統 – 第 1 部分
- 第 13 篇:DRF 框架之 API 版本管理框架API
- 一個令人驚豔的ChatGPT專案,開源了!ChatGPT
- OPPO A7外觀評測賞析:OPPO又一款驚豔水滴屏之作
- 為開發者推薦 21 款最佳的 Node.js 框架Node.js框架
- WebSphere Process Server 流量管理,第 1 部分WebServer
- 如何寫出一個驚豔面試官的深複製?面試
- 安利一個驚豔的紅樓夢視覺化作品視覺化
- 20 個具有驚豔效果的 jQuery 影像縮放外掛jQuery
- Material Design Lite,簡潔驚豔的前端工具箱。Material Design前端
- 總結28個令人驚豔的JavaScript單行程式碼JavaScript行程
- [譯] Node.js 高效能和可擴充套件應用程式的最佳實踐 [第 1/3 部分]Node.js套件
- 一些驚豔到我的運維實施技巧和思路運維
- HTC智慧手錶概念渲染圖:最驚豔的穿戴裝置
- 文案唯美,畫面驚豔,現象級遊戲如何打造?遊戲
- 25年磨一劍 華為CloudLink新品驚豔亮相Cloud
- 驚豔,Dubbo域名已改,也不再侷限於Java!!Java
- 《怪物獵人 崛起》試玩版評測:卡普空驚豔之作!
- mybatis系列第1篇:框架原理MyBatis框架
- Spring 的優秀工具類盤點第 1 部分Spring