問題 No.4218
大規模なWebアプリケーションの開発において、バックエンドのマイクロサービスアーキテクチャの概念をフロントエンドのUI開発にも応用し、機能単位やドメイン単位で独立した小さなチームが個別のパーツごとに開発、テスト、デプロイを行えるようにする設計手法やアーキテクチャの名称はどれか。
【正解の解説】
マイクロフロントエンド
ショッピングモールのフードコートに例えると、全体を一人のシェフが作るのではなく、ラーメン屋、ピザ屋、寿司屋などの専門店(独立したチーム)が自分のブースごとに料理を作り、提供しているような状態です。これにより、一つの店が混雑していても他の店は影響を受けずに素早く新しいメニューを出せるため、大規模なWeb開発で開発スピードを落とさないための強力なアプローチとなります。
スポンサーリンク
【その他の選択肢の解説】
シングルページアプリケーション
初学者が「チームや開発単位の分割」と「画面の描画方式」を混同しやすい典型的な罠です。シングルページアプリケーション(SPA)はブラウザの画面遷移を少なくして高速化する技術であり、チームを機能ごとに分割してデプロイするマイクロフロントエンドの概念とはアプローチのレイヤーが異なります。
コンポーネント指向アーキテクチャ
レゴブロックのパーツを一つひとつ作る作業に似ており、UIを綺麗にパーツ化すること自体はマイクロフロントエンドでも利用される技術要素です。しかし、マイクロフロントエンドがチーム体制やデプロイ単位も含めた「組織とアーキテクチャの全体設計」を指すのに対し、コンポーネント指向はよりミクロなプログラムの部品化手法であるという決定的な違いがあります。
プログレッシブWebアプリケーション
ユーザー体験をモバイルアプリ並みに向上させる技術の総称であり、Webサイトとアプリのいいとこ取りをするためのものです。バックエンドのマイクロサービスのように開発組織を分割してパーツごとにデプロイする設計手法そのものを指す言葉ではないため、出題者の用意した機能や目的に関する混同を誘う罠となります。