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)

posted on 2025-06-08 22:32  漫思  阅读(143)  评论(0)    收藏  举报

导航