0Pricing
Vue Academy · レッスン

マイクロフロントエンドアーキテクチャの原則

マイクロフロントエンドを採用する理由、チームの自律性、独立デプロイ、技術の多様性に伴うトレードオフ

「マイクロフロントエンドアーキテクチャの原則」はCoddyKit上の無料Vue Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはVue Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Vue Academyコースには全4レッスンが含まれています。

マイクロフロントエンドとは

マイクロフロントエンドは、マイクロサービスの考え方をUIに適用したものです。大規模なアプリを、個別のチームが所有して独立して開発・デプロイできる単位に分割し、ユーザーには1つの体験として組み合わせます。

モノリスが引き起こす問題

フロントエンドが1つの大きな構成だと、すべてのチームが1つのコードベースにコミットし、リリースを調整して、1つのビルドを共有する必要があります。組織が成長すると、これがボトルネックになり、ビルドの遅延、マージコンフリクト、リリース待ちの連鎖を引き起こします。

原則:チームの自律性

中核となる考え方はエンドツーエンドのオーナーシップです。チームはコードからデプロイまで、UIの担当範囲を所有します。専用のリポジトリ、パイプライン、ランタイムを持つため、他のチームを待たずに開発を進められます。

レイヤーではなく垂直スライス

チームは技術レイヤーではなく、ビジネス機能(Checkout、Search、Profile)ごとに分割します。各スライスには、その機能に必要なUI、ロジック、データアクセスが含まれます。

原則:独立したデプロイ

各マイクロフロントエンドは、それぞれのスケジュールでリリースされます。SearchチームはCheckoutに手を加えず、1日に10回デプロイできます。リリースが分離されるため、リスクと調整作業を減らせます。

原則:技術の多様性(任意)

チームはスライスごとに異なるフレームワークを選択できます。実際には、共有ツールを使うために、多くの組織が標準化しています(例:すべてVue)。ただし、合理的な理由がある場合は、アーキテクチャとして多様性も認められます。

統合方式:ビルド時

スライスを組み合わせる方法の1つが、ビルド時の統合です。各マイクロフロントエンドをパッケージとして公開し、コンテナアプリが依存関係としてインストールして、まとめてビルドします。

// container package.json
{
  "dependencies": {
    "@org/checkout": "^2.1.0",
    "@org/search": "^1.4.0"
  }
}

ビルド時統合のトレードオフ

ビルド時統合はシンプルですが、リリースが密結合になります。新しいCheckoutのバージョンをリリースするには、コンテナを再ビルドして再デプロイしなければなりません。真の独立デプロイは失われます。

統合方式:ランタイム

ランタイム統合では、ブラウザ上で実行時にマイクロフロントエンドを読み込みます。コンテナは必要になった時点でリモートのコードを取得します。各リモートは独立してデプロイでき、コンテナは再ビルドなしで最新の内容を取得します。

Module Federation

代表的なランタイム技術がModule Federationです。これは、あるアプリがモジュールを公開し、別のアプリが実行時にネットワーク経由で利用できるようにするビルド機能です。共通の依存関係を共有することもできます。今後のレッスンで使用します。

方式の選択

シンプルさと単一のデプロイを重視する小規模チームには、ビルド時を使用します。独立したデプロイとチームの自律性を優先し、運用の複雑さが増すことを受け入れられる場合は、ランタイム(Module Federation)を使用します。

クイックチェック

マイクロフロントエンドの原則について、理解度を確認しましょう。

まとめ

マイクロフロントエンドの原則を学びました:

  • 大規模なUIを、独立して所有・デプロイできるスライスに分割し、ユーザー向けに組み合わせます。
  • チームの自律性:ビジネス機能の垂直スライスを、エンドツーエンドで所有します。
  • 独立したデプロイ:各スライスをそれぞれのスケジュールでリリースします。
  • 技術の多様性は任意であり、多くのチームは標準化します。
  • 統合には、ビルド時(シンプルだがリリースが密結合)とランタイム(Module Federationによる真の独立性)があります。

よくある質問

「マイクロフロントエンドアーキテクチャの原則」レッスンは無料ですか?

はい。「マイクロフロントエンドアーキテクチャの原則」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Vue Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Vue Academyコースには全4レッスンが含まれています。

「マイクロフロントエンドアーキテクチャの原則」で何を学びますか?

マイクロフロントエンドを採用する理由、チームの自律性、独立デプロイ、技術の多様性に伴うトレードオフ ブラウザで直接実行するハンズオンコードでVue Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Vue Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのVue Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「マイクロフロントエンドアーキテクチャの原則」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このVue Academyレッスンでコードを書いて実行できますか?

はい。すべてのVue Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. マイクロフロントエンドアーキテクチャの原則
  2. VueでのWebpack Module Federation
  3. Vite Federation Plugin
  4. マイクロフロントエンド間での共有状態
← Vue Academyに戻る