マウントの利用について:
Mountは、ユーザーとVueを繋ぐAPI、つまりマウントである。
単一プロジェクトにおけるMount
Vueの公式サイトを読むと、アプリケーションの作成の項目で、マウントの使用方法が簡単に紹介されている。例として、app.mount("#app")
のようにDOMをマウントすることで、ページを構築する、これは最も一般的なやり方だ。
複数Mount
上記項目を少し読み進めると、複数のMountをどのように利用するかの説明がある。複数のMount
を宣言し、それぞれにパラメータを設定することで、複数のコンポーネントを管理できる。
しかし、それよりも、複数のVueフレームワークを構築する方が良いのではないか?この疑問を踏まえ、下記の場面を検討してみよう。
マイクロフロントエンド
プロジェクトが複雑化しすぎる場合、様々な解決策があるが、現在よく利用されているのはマイクロフロントエンドだ。マイクロフロントエンドとは、データ間の関係性の結合度を疎結合にすることである。結合度の高いコンポーネントやデータを分離し、それぞれの担当者が管理する。しかし、それならば、なぜ新しいVueフレームワークを作成しないのか?下記のポイントを考慮する必要がある:
- パフォーマンス:複数のフレームワークを起動すると、PCやシステムの負荷が高くなる。
- 値の受け渡し:
app.Mount
を使用するよりも、異なるプロジェクト間で値を渡すのは困難である。 - ルーティング管理:上記2と同様、異なるプロジェクト間での画面遷移は困難である。
- コスト:複数プロジェクトと単一プロジェクト管理では、管理コストが異なる。
ReactとVueの混用
何らかの理由で、例えばReactからVueへの移行期間、あるいはチーム間の技術的な都合で、ReactとVueを混用する必要がある場合、同じ疑問が生じる。ReactとVueでそれぞれ別のプロジェクトを作成して管理するのではなく、なぜ混用するのか?
以下の点が考慮される:
- コスト: Web Componentsの形式で各ページを管理する場合、ReactとVueをそれぞれ管理するよりもコストを抑えられる。
- パフォーマンス: 複数のアプリケーションを管理するよりも、単一のアプリケーションを管理する方が効率的である。