平台Web
把 100 多个遗留页面迁移到 React 和 Next.js
把基于 Velocity 的单体应用渐进式迁移到现代前端仓库,而无需一次破坏性的全面重写。
- 角色
- Software Engineer (Web)
- 时间
- 2018–2025
- 技术栈
- React · Next.js · TypeScript · Migration strategy
问题
Traveloka 的住宿合作伙伴产品(TERA)有一部分运行在用 Apache Velocity 构建的遗留单体应用上。目标是在不中断产品开发的前提下,把它迁移到现代的 React 和 Next.js 前端技术栈。
方案
- 渐进式迁移,而不是一次完成。 我负责迁移策略:页面逐个迁入 React 和 Next.js 仓库,同时产品持续发布。
- 先定义模式。 在大规模迁移之前,先约定迁移架构、可复用的模式和技术规范,这样每个页面不必重新发明。
- 跨团队协作。 实施和上线由多个团队分担,每个页面有明确的负责人,并有统一的方式验证与原页面一致。
在 Traveloka 的早期,我已经把 11 个页面(约 35 人周的工作量)从单体应用迁移到 Front-End Web 仓库,这是整个大型工作的第一步。
结果
100 多个遗留页面被现代化为 React 和 Next.js,无需承担全平台重写带来的风险。