主要观点:JavaScript 生态在过去 15 年变化大,Express 虽历经变迁仍成功但存在问题,如今需类型且 OpenAPI 有前景,Val Town 从 Express 转向 Fastify 进行增量迁移。
关键信息:
- JavaScript 生态变化:从 CommonJS 到 ESM 等,Express 受 Ruby 启发于 2009 年推出,下载量高。
- 对类型的需求:从 Express 的松散类型到现在对 TypeScript 和验证模块的重视。
- OpenAPI 的前景:可生成 SDK、文档等,与 OpenAI 功能调用系统可转换。
- Express 的问题:与 OpenAPI 规范不匹配,不支持 async 函数。
- 选择 Fastify 的原因:生态系统丰富、文档好、支持插件、验证和序列化、支持 async/await、集成工具、可增量迁移等。
重要细节: - Express 简单示例代码,仅 10 余行。
- 多个公司和项目利用 OpenAPI 生成工具。
- Express 实现 OpenAPI 和支持 async 的插件较生硬。
- Fastify 的各种特性和插件,如 rate limiter、light-my-request 等。
- 增量迁移过程通过 @fastify/express 逐步进行。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。