Google は Flutter 2.0 を安定版としてリリースしました。これには、Web アプリを構築するための運用品質のサポートが含まれています。 さらに詳しく知りたい方は続きをお読みください。
Flutter 2.0 が安定版としてリリースされ、安定した Web サポートが提供されます。 これは、Flutter が本番品質の Web プロジェクトで安全に使用できるようになったことを意味します。
そうは言っても、Flutter for Web が何を意味するのかを見てみましょう。
レンダラー
Flutter for Web でアプリをブラウザーに表示するには 2 つの方法があります。 HTML、CSS、Canvas を使用するか、CanvasKit を使用してレンダリングできます。 それぞれに独自の利点があります。 HTML レンダラは、より基本的な要素を使用するため、ダウンロードと読み込みが高速になります。 CanvasKit レンダラーは少し重いですが、画面上に多くのものが表示される場合にはパフォーマンスが向上します。
デフォルトでは、Flutter Web アプリは、クライアント デバイスに基づいて、使用するレンダラーを自動的に選択します。 モバイル デバイスには HTML レンダラーが送信され、デスクトップ デバイスには CanvasKit が送信されます。 特定のレンダラーを使用したい場合、Google は常にどちらかを使用するオプションを提供しています。
ウェブ固有の機能
Flutter はクロスプラットフォームですが、サポートされている各プラットフォームに固有のものがいくつかあります。 これは、一部のものは 1 つのプラットフォームにのみ存在するか、特別な API を必要とする何らかの方法で動作するためです。 ウェブも同様です。
Flutter 2.0 では、カスタム URL 戦略、Web アプリのディープ リンク、適切な PWA サポートなどのサポートが追加されています。 Flutter for Web プロジェクトを作成すると、Web マニフェストと Service Worker テンプレートが生成されます。
ジェスチャーとキーボード
真にクロスプラットフォームであるためには、フレームワークはそのターゲットを考慮する必要があります。 デスクトップ プラットフォームで実行されている場合は、キーボード ショートカットに応答する必要があります。 モバイルでは、タップとスワイプのジェスチャに応答する必要があります。
Flutter for Web はこれらの両方を行います。 Web を通じて、デスクトップとモバイル デバイスの両方をターゲットにします。 Flutter for Web の安定版リリースでは、クライアント プラットフォームと入力ソースに応じて、ネイティブ ジェスチャがサポートされています。
プラグイン
他の優れた言語と同様に、Flutter はライブラリ、この場合はプラグインをサポートします。 安全対策として、プラグインはプラットフォームの互換性を指定する必要があります。 Flutter for Web はフレームワークに比較的最近追加されたものであるため、Google 独自のプラグインを含む多くのプラグインはこれをサポートしていませんでした。
Flutter 2.0 のリリースにより、以下を含む Google の Flutter プラグインが多数追加されました。 Firebase スイート、Web 互換としてマークされています。
これは大したことではないように思えるかもしれませんが、これらは非常に大きな機能です。 Flutter 2.0 はプラットフォーム全体を獲得し、Flutter for Web をフレームワークの残りの部分に統合するために多くの作業が行われました。
Flutter for Web についてどう思いますか? それは Web 開発にとって良い選択肢ですか? 我々に教えてください!