1章フロントエンドのいま

かつて、Webアプリケーションは、従来の静的な企業Webサイトと区別して「リッチインターネットアプリケーション(RIA)」と呼ばれた時代がありました。今日では、多くのRIAやWebアプリケーションをWWW(World Wide Web)上で目にします。名刺をオンデマンドで印刷したり、お気に入りの映画やライブを見たり、ペパロニピザを注文したり、快適なソファーに座ったままで銀行口座を管理できるようになりました。我々の生活を便利にするさまざまなオンラインサービスが急増しているのです。

CTO、アーキテクト、テックリードなどの技術責任者、開発者として、新規プロジェクトを開始する際は、シングルページアプリケーションや、サーバとクライアントの両方で同じコードを実行できるアイソモーフィック(同型)アプリケーションを作成したり、クラウドやオンプレミスのインフラで動作する大量の静的ページで作業したりできます。このように幅広い選択肢がある一方で、すべてがその仕事に適しているわけではありません。プロジェクトにとって正しい判断を下すには、その過程で直面する課題を理解する必要があります。

本題に入る前に、フロントエンドアプリケーションで利用可能な現在のアーキテクチャを分析してみましょう。

1.1 マイクロフロントエンドアプリケーション

マイクロフロントエンドは、マイクロサービスアーキテクチャに触発されて開発された新しいアーキテクチャです。その背景には、モノリシックなコードベースを小さな部品に分解することで、組織が分散しているかどうかに関わらず、開発やデプロイに関わるスループットを低下させず、自律したチームに作業を分散させるという考え方が基になっています。

APIを設計し、ロジックをマイクロサービスにカプセル化することは、実は最も簡単な部分です。しかし、このようなマイクロサービスアーキテクチャは、ドメイン間の高い柔軟性と優れたカプセル化だけでなく、システムの観測可能性、自動化、および発見可能性に関する全体的な複雑さも付随します。 ...

Get マイクロフロントエンド ―マイクロサービスアーキテクチャの概念をフロントエンドに拡張し、信頼性、自律性の高いシステムを構築する now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.