Flutter、Windowsを安定してサポート、開発者は準備はできているか?

Flutter、Windowsを安定してサポート、開発者は準備はできているか?

FlutterはGoogleが開発したオープンソースのモバイルUIフレームワークで、異なるプラットフォーム上で高品質なネイティブユーザーインターフェースを迅速に構築できます。

最終更新 2022/02/07 22:24
技术视野
読了目安 5 分
カテゴリ
Flutter
タグ
Flutter オープンソース

FlutterはGoogleが開発したオープンソースのモバイルUIフレームワークで、さまざまなプラットフォーム上で高品質なネイティブユーザーインターフェースを迅速に構築できます。Flutterは既存のすべてのコードをサポートしており、世界中でますます多くの開発者に支持されています。現在までに、ByteDanceなどの大企業のアプリケーションやGoogleの30チームのアプリケーションを含む、Flutterを使用した約50万のアプリケーションが全世界で公開されています。StatistaとSlashDataのアナリストによると、Flutterは2021年で最も人気のあるクロスプラットフォームUIツールです。

整理 | 郭露

出品 | CSDN(ID:CSDNnews)

2月4日、Flutter安定版2.10が重磅リリースされました。このバージョンは春節期間中にリリースされ、前回のリリースからまだ2ヶ月も経っていません。しかし、この短期間の間に、1843のIssueと、世界中の115名のコントリビューターによる1525のPRをクローズしました。今回のバージョンアップデートには、FlutterのWindowsに対する重要なサポートアップデート、一部のパフォーマンス改善、さまざまなプラットフォームの新機能、およびいくつかのツールの改善が含まれています。

画像はFlutterより

Flutter 2.10の新機能一覧

1. パフォーマンスの改善

Flutter 2.10では、Flutterコミュニティメンバーknoppが提供するダーティ領域管理機能の初期サポートが追加されました。これにより、iOS/Metal上の個々のダーティ領域に対して選択的な再描画が可能になります。これにより、一部のベンチマークにおける90パーセンタイルと99パーセンタイルのラスタライズ時間が大幅に短縮され、これらのベンチマークにおけるGPU使用率が90%以上から10%未満に低下します。

さらに、このバージョンでは画像フォーマットの最適化も行われました。開発者はレイヤーの透明度をより効率的に調整できます。ベンチマークでは、1フレームあたりのラスタライズ時間が少なくとも3分の1短縮されました。

プロファイルモードとリリースモードでは、DartコードはAOT方式でコンパイルされます。このコードにより、多くのコンパイラ最適化とアグレッシブなツリーシェイキングが実現されます。ただし、タイプフロー分析はプログラム全体をカバーする必要があるため、パフォーマンスに多少の影響があります。2.10バージョンでは、より高速なタイプフロー分析の実装がもたらされました。ベンチマークでは、Flutterアプリケーションの全体的なビルド時間が約10%短縮されました。

2. iOSアップデート

パフォーマンス改善に加えて、Flutter 2.10では各プラットフォームにさまざまな拡張機能が追加されました。例えば、開発者luckysmgによるスムーズなiOSキーボードアニメーション、iOSカメラプラグインの安定性向上、そして64ビットアーキテクチャのiOSシステム向けにメモリ使用量を削減する新機能「圧縮ポインタ」が導入されました。

3. Androidアップデート

同時に、Flutter 2.10ではAndroid向けの改善も行われました。開発者が新しいアプリを作成する際、Flutterは最新バージョンのAndroid、すなわちAndroid 12をサポートします。さらに、このバージョンではMultiDexが有効化されました。Android SDKバージョン21未満を使用しており、64Kメソッド数の制限を超えた場合、--multidexflutter build appbundle または flutter build apk に渡すだけでMultiDexをサポートできます。

4. Webアップデート

FlutterバージョンにはWeb向けの改善も含まれています。以前のバージョンでは、マウスを複数行テキストボックスの端にドラッグしても、スクロールが同期されませんでした。2.10バージョンでは、選択カーソルをテキストボックス外にドラッグすると、テキストボックスがスクロールし、対応するコンテンツをブラウズして選択できるようになりました。この機能はWebおよびデスクトップアプリケーションで使用できます。

5. Material 3

Flutter 2.10はMaterial 3への移行の始まりであり、単一の色から全体の配色を生成する機能が含まれています。

開発者は任意の色を使用して新しい ColorScheme タイプを作成できます。ThemeData のコンストラクタには新しい colorSchemeSeed パラメータも含まれており、色から直接テーマを生成できます。さらに、このバージョンには ThemeData.useMaterial3 パラメータが含まれており、Widgetを新しいMaterial 3の外観に切り替えることができます。Flutterには1028個の新しいMaterialアイコンも追加されました。

画像はFlutterより

上記の機能以外にも、Flutter 2.10では統合テスト、DevTools、VSCodeなどが改善され、DevチャンネルとiOS 9.3.6のサポートが完全に削除されました。

今回のバージョンアップデートで最も注目されるのは、Windowsアプリ開発の安定サポートです。これについて、FlutterプロダクトマネージャーのTim Sneathが詳細に解説した記事を公開しました。一緒に見ていきましょう。

Windows対応が完了したFlutter

画像はFlutter公式サイトより

Flutterは効率的なクロスプラットフォームソフトウェアフレームワークの作成を目指しており、過去数年間で大きく成長しました。FlutterはAndroid、iOS、Linux、Windows、macOS、そしてWeb向けのアプリケーションを開発でき、既存のすべてのコードと互換性があります。世界中の地域の開発者からの支持と信頼を得ています。

Googleは「本日、このビジョンの大きな拡張を迎え、Windowsをアプリケーションターゲットとしてサポートすることを初めてリリースしました。これにより、Windows開発者はモバイル開発者がこれまで享受してきたのと同じ生産性とパワーの恩恵を受けることができるようになります」と述べています。

この目標を達成するために、GoogleはFlutterの開発に尽力してきました。5年前、GoogleはFlutter Alphaを発表しました。このバージョンはモバイルオペレーティングシステムの開発速度を大幅に向上させました。FlutterアプリケーションはDartで記述でき、Android、iOS、Windows、macOS、Linux、Web、そして組み込みデバイス上で動作します。

しかし、Flutterのデスクトップサポートを実現するのは容易ではありませんでした。Windows向けに再設計する必要があり、デスクトップアプリケーションはキーボードやマウスなどの異なるハードウェアやさまざまな画面サイズに対応する必要があります。また、インプットメソッド、視覚スタイルなどにも異なる要件があり、ファイルシステムセレクターやWindowsレジストリなどのデータストレージに関するさまざまな内容もサポートする必要があります。

FlutterがAndroidやiOSをサポートするのと同様に、FlutterのWindows版はDartフレームワークとC++エンジンを組み合わせています。WindowsとFlutterは埋め込みレイヤーを介して通信します。この埋め込みレイヤーはFlutterエンジンをホストし、Windowsメッセージの翻訳と配信を担当します。FlutterとWindowsはUIを画面に描画し、既存のWindowsパターンと連携します。

画像はFlutterおよびDartプロダクトマネージャーのブログより

開発者はWindows上でFlutterフレームワークのすべての機能を使用でき、DartまたはC++で記述されたプラットフォームプラグインを介してWin32、COM、およびWindows Runtime APIと通信できます。Flutterチームはまた、多くの一般的なプラグインをWindows対応に調整しています。これには、camerafile_pickershared_preferencesが含まれます。さらに重要なのは、Flutterコミュニティが他の多くのパッケージに対するWindowsサポートを追加していることです。これには、Windowsタスクバー統合からシリアルポートアクセスまで、あらゆるものが含まれています。

Windows向けに構築されたFlutterアプリケーションをサポートするパッケージはすでに数百にのぼります。

画像はFlutterより

完全にカスタマイズされたWindows UIについては、fluent_uiflutter_acrylic パッケージを使用して、Microsoft Fluentデザインシステムを美しく表現するアプリケーションを作成することもできます。msix ツールを使用すると、アプリケーションをインストーラーにパッケージ化し、Windows上のMicrosoft Storeにアップロードできます。

全体として、Flutter 2.10のリリースにより、Windows上での高速な実行が実現され、他のデスクトップやモバイルデバイス、Webへの転送も可能になりました。以下は初期の例です。

画像はFlutterより

画像はFlutterより

このバージョンのリリース後、Microsoft Windows開発者プラットフォーム担当コーポレートバイスプレジデントのKevin Gallo氏は次のように述べています。「FlutterがWindowsアプリケーション作成のサポートを実現したことを大変嬉しく思います。オープンプラットフォームとして、Windowsはすべての開発者の参加を歓迎します。FlutterがWindowsアプリケーションのサポートを実現し、Microsoft Storeに掲載されることは、当社への信頼を示すものです。Windows上でのFlutterの成長に期待しています!」

これに加えて、多くのFlutterパートナーもWindowsサポートを強化しています。

  • ローコードFlutterアプリケーションデザインツールであるFlutterFlowは、Windowsサポートを発表し、デスクトップ向けの機能構築を支援します。
  • ローカルデータストレージツールRealmの最新バージョンは、Flutterを使用したWindowsアプリケーションの構築をサポートし、Dart FFIを使用して基盤データベースに高速アクセスし、iOSやAndroidなどのモバイルプラットフォーム向けの既存サポートを拡張します。
  • NevercodeはCodemagic CI/CDツールをWindows対応にアップデートし、ユーザーがクラウド上でWindowsアプリケーションをテストおよびビルドし、自動的にMicrosoft Storeにデプロイできるようにしました。
  • SyncfusionはWindows対応のウィジェットをアップデートしました。データ可視化コンポーネントなどがPDFファイルやExcelテーブルの作成をサポートします。
  • Riveは、グラフィックツールスイートのWindows版が間もなくリリースされることを発表しました。開発者はステートマシンを使用してコードにリアルタイムで応答するインタラクティブなベクターアニメーションを作成できます。また、パフォーマンスとメモリに優れたWindowsアプリケーションも間もなくMicrosoft Storeで提供される予定です。

現時点では、Flutter 2.10の評価は引き続き非常に良好です。Flutter 2.10のリリースにどのような期待を寄せていますか?以下にコメントをお寄せください。

【参考资料】

版权声明:本文为CSDN博主「技术视野」のオリジナル記事であり、CC 4.0 BY-SA著作権契約に従います。転載の際は、原文の出典リンクとこの声明を明記してください。

原文リンク:https://blog.csdn.net/csdndevelopers/article/details/122808516

さらに探索

関連読書

その他の記事
同じカテゴリ / 同じタグ 2022/05/09

大前端時代の乱流:最も包括的なFlutter Webを紹介

Flutter Webの安定版リリースから1年以上が経過しました。この1年以上の開発を経て、大前端時代の乱流として、Flutter Webがどのような違いを持つのか、本記事では現在Flutterではあまり包括的に扱われていないWebに関する内容を中心に紹介します。

続きを読む
同じカテゴリ / 同じタグ 2022/05/06

Flutterアプリ開発入門ガイド

クロスプラットフォーム開発がソフトウェアデリバリー市場で急速に普及するにつれ、世界のトップモバイルアプリ開発企業もこの分野に注目しています。

続きを読む