Midway 一個面向未來的雲端一體 Node.js 框架


介紹

Midway 是阿里巴巴 - 淘寶前端架構團隊,基於漸進式理念研發的 Node.js 框架。

 

Midway 基於 TypeScript 開發,結合了面向對象(OOP + Class + IoC)函數式(FP + Function + Hooks)兩種編程范式,並在此之上支持了 Web / 全棧 / 微服務 / RPC / Socket / Serverless 等多種場景,致力於為用戶提供簡單、易用、可靠的 Node.js 服務端研發體驗

 

為什么要有 Midway

社區上也有很多類似的框架,那為什么還需要 Midway ?

原因有三點

  1. Midway 是阿里內部一直持續在研發的框架,之前 egg 是作為底層框架,需要有面向應用層面的框架來和集團場景對接
  2. 全量使用 TypeScript 是未來一段時間的趨勢,面向未來去迭代和研發是作為架構組創新的要求
  1. 雖然社區已經有 nest 這樣的框架,但是這些產品的維護、協作、修改都會受到商業化產品的制約,也無法做到需求的快速迭代和安全性保障,整體的研發理念也和我們不同,為此,我們需要有一套自研的框架體系

優勢

  1. Midway 框架是在內部已經使用 5 年以上的 Node.js 框架,有着長期投入和持續維護的團隊做后盾。
  2. 已經在每年的大促場景經過考驗,穩定性無須擔心
  1. 豐富的組件和擴展能力,例如數據庫,緩存,定時任務,進程模型,部署以及 Web,Socket 甚至 Serverless 等新場景的支持
  2. 一體化調用方案可以方便快捷和前端頁面協同開發
  1. 良好的 TypeScript 定義支持
  2. 國產化文檔和溝通容易簡單

特性

  • 🐘 全功能:支持 Web 應用/Serverless/FaaS/微服務/小程序后端等多種場景,基於裝飾器和依賴注入開發企業級應用
  • 🐦 前端集成:全新的雲端一體應用研發體驗,零 API 調用,使用 "React Hooks " 風格一體研發
  • 🐴 跨平台:支持部署至普通 Server 或 Serverless/FaaS 環境
  • 🐶 擴展:組件化擴展能力,另外支持使用 Koa/Express/Egg.js 生態插件
  • 🐂 示例: 官方提供多種場景的示例代碼,方便開發者快速上手
  • 🛡 TypeScript 全面支持

快速上手

 npm -v
 
# 如果是 npm v6  用這個命令
 npm init midway --type=web my_midway_app
 
# 如果是 npm v7 用這個命令
npm init midway -- --type=web my_midway_app

是你即將創建的項目根目錄名,CLI 會自動創建該目錄,並將初始化示例代碼寫入其中。

cd my_midway_app //進入工程目錄
npm run dev //啟動

如果啟動或者運行中npm報錯,請用cnpm

 內容來自    http://www.midwayjs.org/doc/   介紹 · 語雀 (yuque.com)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM