回到專案經歷

LINE Taiwan2023 – 2024

CMS 重構為 React & Next.js

帶領 4 人團隊重構 LINE 購物後台

專案介紹

2023 年由我提出並主導此遷移,決定引入微前端(iframe)與 Next.js App Router 架構,帶領團隊將 php 架構的 LINE 購物 CMS 重構為 React & NextJS app router 架構。團隊成員共有 4 人。除了實際開發外,我需要負責技術選型、內訓、時程規劃、工作分配與風險評估等等工作。這也是少數幾個在 LINE Taiwan 中實際開始採用 NextJS app router 的早期專案之一。

推動過程(說服技術團隊採用新方案)

背景:舊系統為 PHP 後端加模板語言的架構,公司的 PHP 後端工程師只有一位,每次更新系統都有很大阻礙,前端也一直難以寫好。

目標:將整個系統拆成前後端分離架構,並導入當時還很新的 Next.js App Router 作為前端框架;今後的系統升級由專門的前端團隊負責,PHP 後端工程師只負責乾淨的後端。

阻力:migration 無法一次上線完成,主管要求不能有停機時間,並且要能災難復原;同時前端組員多數專精 Vue,對 Next.js 有點排斥。

行動:主持多場 Next.js 分享論壇,一步步 demo Next.js App Router 的優勢;同時設計一套基於 iframe 的微前端架構,透過線上 feature toggle,新頁面有問題時不用部署、修復,就能馬上切換回舊頁面。

結果:方案打消主管的疑慮並獲得支持,組員認識 Next.js 後也願意協助一起完成專案;利用不影響主專案開發的額外時間,約一年內分批將舊系統遷移到新架構。完成後 PHP 前端程式碼正式下線,開發新功能時可以像平常一樣前後端分工,平均降低 30% 的開發時間,PHP 維護人力也從不足變為足夠。

重大成就

  • 除了寫程式外,還擔任架構師的任務,規畫整個專案,並同時兼任 PM 角色,分派工作、撰寫技術文件、與使用者溝通等等

  • 完成遷移後平均降低 30% 的開發時間,PHP 維護人力從不足變為足夠

技術亮點

  1. 01

    使用 iframe 實現微服務,新老專案可以獨立佈署與上線,也可以 by URL 漸進式將老專案切換至新專案

  2. 02

    公司早期採用 Next APP router 的專案之一

  3. 03

    搭配線上 feature toggle:新頁面出問題時不用部署、修復,即可立即切回舊頁面,滿足零停機與災難復原的要求

專案圖片

CMS 重構 NextJS
CMS 重構 NextJS