跳到主要内容
Clinford Jordano Valencia
全部项目
平台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,无需承担全平台重写带来的风险。