出前館アプリは2022年現在において過去最高のアクティブユーザー数を記録しています。そのトップ画面である店舗一覧画面は、ユーザーと加盟店の一番大きな接点となる画面です。重要な画面であるが故に多くの追加機能開発が短期的に行われ、その結果としてソフトウェアの保守性(maintainability)、すなわちコードの変更性(modifiability)や解析性(analyzability)に課題がある状況でした。
これでは本来実施したい案件の進捗に影響が出てしまい、プロダクトの成長の足枷となります。そこで我々はReactらしいアーキテクチャへの改善(Class ComponentからFunctional Componentを用いた画面の再設計)、GraphQLを用いたBFF(backends for frontends)層へのビジネスロジックの移行等のリファクタリングを実施しました。
本セッションでは出前館アプリ開発チームで実践したこれらリファクタリングの内容とその結果についてお話します。