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 是未来⼀段时间的趋势,⾯向未来去迭代和研发是作为架构组创新的要求
3. 虽然社区已经有 nest 这样的框架,但是这些产品的维护、协作、修改都会受到商业化产品的制约,也⽆法做到需求的快速迭代和安全
性保障,整体的研发理念也和我们不同,为此,我们需要有⼀套⾃研的框架体系
优势
1. Midway 框架是在内部已经使⽤ 5 年以上的 Node.js 框架,有着长期投⼊和持续维护的团队做后盾。
2. 已经在每年的⼤促场景经过考验,稳定性⽆须担⼼
3. 丰富的组件和扩展能⼒,例如数据库,缓存,定时任务,进程模型,部署以及 Web,Socket 甚⾄ Serverless 等新场景的⽀持
4. ⼀体化调⽤⽅案可以⽅便快捷和前端页⾯协同开发
5. 良好的 TypeScript 定义⽀持
6. 国产化⽂档和沟通容易简单
特性
全功能:⽀持 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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论