JSConf JP

恩田 崇

恩田 崇

株式会社一休 CTO室 プラットフォーム開発チーム OAuth/OIDC 基盤導入、領収書・請求書発行マイクロサービス導入の技術支援、基盤マイクロサービスの Google Cloud 移行などを手がける。 2023年9月より一休.com レストランでフロントエンドのリーアキテクトを担当。

Track B3F 301
11:1011:40(30 min)

React への依存を最小にするフロントエンドの設計

  • Japanese

Remix を利用したサービスを開発しています。 もとは Nuxt v2 で動いていたサービスで、リニューアルにあたって React ベースに rewrite することになり、また、リニューアル版のリリース直後に Next.js App Router から Remix に乗り換えたという経緯を持っています。 弊社の事例のように、エコシステムの栄枯盛衰よりも長い寿命を持つサービスを運営するにあたって、特定のフレームワークに過度の依存をしてしまうと、特に変化の著しいフロントエンドの世界では将来の選択肢を狭めてしまうことになります。 今のアーキテクチャは Remix に留まらず React への依存も最小限となる形でデザインしており、ほとんどのフロントエンドロジックが Vanilla JS (TS) にあるので、例えば仮に SolidStart や SvelteKit などの React 以外のフレームワークに移行する決定をしても、薄いコンポーネント層だけを移植すればよい構造となっています。 本発表では、フレームワークへの依存を最小にするための基本的な考え方、具体的にどのように実現しているかについてご紹介したいと思います。