1章フロントエンドのいま
かつて、Webアプリケーションは、従来の静的な企業Webサイトと区別して「リッチインターネットアプリケーション(RIA)」と呼ばれた時代がありました。今日では、多くのRIAやWebアプリケーションをWWW(World Wide Web)上で目にします。名刺をオンデマンドで印刷したり、お気に入りの映画やライブを見たり、ペパロニピザを注文したり、快適なソファーに座ったままで銀行口座を管理できるようになりました。我々の生活を便利にするさまざまなオンラインサービスが急増しているのです。
CTO、アーキテクト、テックリードなどの技術責任者、開発者として、新規プロジェクトを開始する際は、シングルページアプリケーションや、サーバとクライアントの両方で同じコードを実行できるアイソモーフィック(同型)アプリケーションを作成したり、クラウドやオンプレミスのインフラで動作する大量の静的ページで作業したりできます。このように幅広い選択肢がある一方で、すべてがその仕事に適しているわけではありません。プロジェクトにとって正しい判断を下すには、その過程で直面する課題を理解する必要があります。
本題に入る前に、フロントエンドアプリケーションで利用可能な現在のアーキテクチャを分析してみましょう。
1.1 マイクロフロントエンドアプリケーション
マイクロフロントエンドは、マイクロサービスアーキテクチャに触発されて開発された新しいアーキテクチャです。その背景には、モノリシックなコードベースを小さな部品に分解することで、組織が分散しているかどうかに関わらず、開発やデプロイに関わるスループットを低下させず、自律したチームに作業を分散させるという考え方が基になっています。
APIを設計し、ロジックをマイクロサービスにカプセル化することは、実は最も簡単な部分です。しかし、このようなマイクロサービスアーキテクチャは、ドメイン間の高い柔軟性と優れたカプセル化だけでなく、システムの観測可能性、自動化、および発見可能性に関する全体的な複雑さも付随します。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access