レガシープロダクトの画面部品をUIコンポーネント化 〜駆逐してやる!!このプロダクトから... 一匹残らず!!〜 by yamamuuu

PHPerKaigi 2025
レギュラートーク(20分)

レガシープロダクトの画面部品をUIコンポーネント化 〜駆逐してやる!!このプロダクトから... 一匹残らず!!〜

yamy096454848 yamamuuu yamy096454848
11

私が現在開発に携わっている販売管理サービス「楽楽販売」は誕生して15年以上経つプロダクトです。
フロントエンドにフレームワークは利用しておらず、長年にわたり静的に生成されるHTMLの画面部品コードがコピペされ続けており、共通化が行われていない状況に陥っています。
その結果コピペコードは新画面を作成するたびに増殖していき、PhpStormが親の仇の如く「Duplicated Code」を指摘してきます。

この課題を解消するため、私たちは以下の2つの目標を重視し「画面部品のUIコンポーネント化」に取り組みました。
 ・新しい画面を作成する際に、コピペする必要がない環境を構築する
 ・画面の構成パーツに何があるのかを容易に把握できる仕組みを作る

ゴールは以下2点です。
・複数画面から共通利用可能なUIコンポーネントを作成する
・将来的なコピペを駆逐すること

本セッションでは、取り組みの背景の課題から具体的な解決策、さらに実践例までを詳しくご紹介します。

■お話しすること
 ・なぜUIコンポーネント化が必要か
 ・どのようにコンポーネント化を進めたか
 ・コンポーネント部品を活用してもらうための施策

■想定する視聴者
 ・技術負債を解消したい人
 ・フロントエンドのフレームワークを利用していない人
 ・画面部品のUIコンポーネント化に興味がある人
 ・レガシープロダクトから脱却したい人