从 express 迁移到 fastify,第 1 部分

主要观点: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 逐步进行。
阅读 9
0 条评论