GoogleがFlutter2をリリース:新機能

公開: 2021-04-02

GoogleはFlutterのバージョン2.0をリリースしました。これは、アプリビルダーがクロスプラットフォームアプリケーションを作成できるようにするオープンソースのUI開発キットです。 アップグレードは、さまざまなプラットフォーム上のアプリをサポートするための、まったく新しい機能パックとFlutterの拡張された移植性を強調しています。

今日は、Flutter2が提供するものを探ります。 ブログを最後まで読んでください。

Flutter 2:完全な概要

Webサポート

FlutterのハイエンドWebサポートは、FlutterEngageでのFlutter2のローンチイベントにおける最も重要な宣言です。 以前は、Webの基盤は主にドキュメント中心でした。 現在、豊富なプラットフォームAPIは、ペイントAPI、ハードウェアアクセラレーションによる2Dおよび3Dグラフィックス、柔軟なレイアウトを使用した高度なアプリケーション開発を容易にします。

Flutter 2は、モバイルと同じエクスペリエンスをWeb上で提供する安定したWebサポートを提供します。 モバイルアプリ開発サービスの専門家は、同じコードベースを使用して、Android、iOS、およびブラウザー用のアプリを構築できます。 Flutter 2では、Webはアプリのもう1つのデバイスターゲットであるため、Dartで記述された既存のFlutterコードを優れたWebエクスペリエンスにコンパイルすることができます。

新しいリリースは、3つのアプリシナリオに焦点を当てています。

  • シングルページアプリ(SPA)
  • プログレッシブウェブアプリ(PWA)
  • 既存のFlutterベースのモバイルアプリをWebに導入し、同じエクスペリエンスを提供する

Flutterは、ウィジェットに相当するHTMLにトランスパイルしません。 むしろ、FlutterのWebエンジンは、2つのレンダラーから選択できます。

  1. WebGLとWebAssemblyを利用してSkiaペイントコマンドをブラウザキャンバスにレンダリングするCanvasKitレンダラー
  2. 幅広い互換性とサイズに最適化されたHTMLレンダラー

Flutter Plasmaのデモも作成されており、モバイルとデスクトップでシームレスに実行できるDartを使用して洗練されたWebグラフィックスエクスペリエンスを簡単に作成できることを示しています。

コミュニティは、テキストの自動入力、PWAマニフェスト、ルーティングとアドレスバーのURLの制御など、いくつかのWeb固有の機能も追加しました。

デスクトップサポート

まだベータ状態であり、安定版は今年後半にリリースされる可能性があります。 それにもかかわらず、それが提供しなければならないものを見てみましょう。

デスクトップブラウザの場合、コミュニティはキーボードショートカット、インタラクティブスクロールバー、Chrome OS、Windows、macOSで簡単にアクセスできるスクリーンリーダーのサポートを追加し、デスクトップモードのデフォルトのコンテンツ密度を強化しました。

Googleは、Flutterデスクトップを高品質にし、テキスト編集がサポートされている各プラットフォームでネイティブエクスペリエンスを提供し、テキスト選択ピボットポイントなどの基本機能を統合するなど、いくつかの機能強化を行いました。また、TextFieldに組み込みのコンテキストメニューを追加しました。クパチーノおよびマテリアルデザイン言語用のTextFormFieldウィジェット。 グラブハンドルがReorderableListViewウィジェットに追加されます。

更新されたスクロールバーウィジェットは、デスクトップで使用できるさまざまな魅力的な機能を提供します。 Flutter 2では、Flutterアプリのコマンドライン引数管理も可能です。 そうすれば、Windowsファイルエクスプローラーでデータファイルをダブルクリックするなどして、アプリでファイルを開くことができます。

フラッター修正

Flutter Fixは、さまざまなもののコレクションです。 DartFixと呼ばれるDartCLIツールの専用コマンドラインがあります。 非推奨のAPIのリストを探し、これらを使用してコードをアップグレードすると便利です。 また、FlutterSDKに同梱されているアクセス可能な修正のリストにアクセスすることもできます。

さらに、Android Studio IDE、VScode、IntelliJ用のFlutter拡張機能の更新セットがあり、アクセス可能なソリューションの同様のリストを表示し、開発者がマウスを使用するだけでコードを変更できるようにします。

拡張された移植性

Googleは、Flutterの最大の移植性を示す最近の3つのチームアップを強調しています。

まず、MicrosoftはFlutterのサポートを拡張します。 マイクロソフトは、Flutterで高品質のWindowsサポートを提供するための最近のコラボレーションに加えて、折りたたみ式Androidデバイスのアプリ開発を容易にするFlutterエンジンにも貢献します。

第二に、CanonicalはFlutterをデスクトップに導入したことでGoogleと提携しています。 Linuxでのアプリの開発とデプロイをサポートします。 Canonicalは、いくつかのハードウェア構成で優れたエクスペリエンスを提供することを約束します。

最後に、大手自動車メーカーであるトヨタは、Flutterによって実現されるさまざまなインフォテインメントシステムを作成することにより、次世代のデジタル体験を自動車に提供するための画期的な戦略の採用を宣言しました。 トヨタは、Flutterのスマートフォン層タッチシステム、迅速な反復、開発者の人間工学、および一貫した高性能のために、Flutter開発者を採用しようとしました。 Flutterの組み込みAPIにより、トヨタはFlutterをカスタマイズし、最先端のインフォテインメントシステムを構築するための要件を満たすことができます。

アプリに追加

Flutter 2は、高品質の結果を保証しながら、あらゆるアプリ開発機関の開発者の作業負荷を軽減することを目的としています。 アプリへの追加は、その目的を強調するためのさらに別の機能です。

開発者は、既存のAndroidまたはiOSアプリにFlutterを追加できます。 アプリへの追加機能は、現在のネイティブデータベースを保存している間、両方のプラットフォームでFlutterコードを再利用するための優れた方法です。 この変更により、GoogleはFlutterエンジンをネイティブアプリに統合する可能性を提案しています。

フラッターフォリオ

すでに説明したように、FlutterはAndroid、iOS、Webの3つのプラットフォームと、ベータ版のWindows、Linux、macOSの3つのプラットフォームをサポートするようになりました。 いくつかのフォーム(小、大、中画面)、いくつかのイディオム(Web、モバイル、デスクトップ)、およびいくつかの入力モード(キーボード、マウス、タッチ)に変更するアプリを作成するにはどうすればよいですか?

Flutter Folioは、この質問に対する答えを提供します。

Flutter Folioは、Android、iOS、Mac、Windows、Linux、Webなどのすべてのプラットフォームとデバイスでシームレスに実行されるアプリケーションを作成するFlutterの機能を備えたスクラップブッキングアプリです。 これは、gskinnerとFlutterチームと共同で構築されたアダプティブアプリの完璧な例です。

Flutter DevTools

Flutter DevToolsは、Flutterアプリのデバッグに使用されます。 DevToolsを起動する前でも問題に焦点を当てた新機能が導入されました。これは、IntelliJ、Android Studio、またはVisual Studio Codeが例外が発生したときに通知し、デバッグプロセスを開始するためにDevToolsに提示する機能です。

DevToolsの実行中、タブの新しいエラーバッジは、アプリのさまざまな問題を追跡するのに役立ちます。

DevToolsには、機能よりも高い解像度で画像を簡単に表示できる別の新機能が追加されました。 余分なメモリ使用量とアプリのサイズを減らすのに役立ちます。 開発者は、FlutterInspectorで特大画像を反転してこの機能をオンにすることができます。

Googleは、固定レイアウトを表示する機能も追加しました。 これにより、開発者はさまざまなタイプのレイアウトをデバッグできます。

FlutterDevTools2で利用できるその他の機能は次のとおりです。

  • パフォーマンスビューの名前がCPUプロファイラーに変更されました。 同様に、タイムラインビューの名前がパフォーマンスに変更されます。 変更は、それらが提供する機能を強調しています。
  • 新しいメモリビューチャートは、より小さく、使いやすく、より高速です。 特定の時間の活動を説明する新しいホバーカードが組み込まれています。
  • 検索およびフィルタリング機能が[ログ]タブに追加されました。
  • 平均FSデータとさまざまなユーザビリティの強化がフラッターフレームチャートに含まれています。
  • タイミンググリッドは、CPUプロファイラーのフレームチャートに含まれています。
  • トラックログフォームが開始されるため、開発者は起動時にログ履歴の合計を確認できます。
  • 失敗したネットワーク要求は、ネットワークプロファイラーで呼び出されて即座に修正されます。

Flutter用のGoogleモバイル広告

Googleは、Flutter向けGoogleモバイル広告のベータ版のリリースを発表しました。 新しいSDKは、AdMobおよびAdManagerと連携して、バナー、ネイティブ、インタースティシャル、およびリワードビデオ広告を組み込んださまざまな広告フォーマットを提供します。

Googleはまた、Cloud Messaging、Cloud Firestore、Cloud Function、Authentication、Cloud Storage、Crashlyticsなどの主要なFirebaseサービスのFlutterプラグインのさまざまな更新、サウンドヌルの安全性の統合支援、およびCloudMessagingPackageの更新を宣言しました。

ダート2.12

これは、Googleのさらに別の重要な啓示です。 Dart 2.12は、サウンドヌルの安全性をサポートしています。 null参照例外を削除する可能性があります。 そうすることで、開発者が明示的に選択した場合に、開発時と実行時に型にnull値を含めることができるようになります。

このアップデートには、FFI(Foreign Function Interface)の一貫したアプリケーションも含まれています。 これにより、開発者はネイティブC APIを呼び出すためにdart:ffiライブラリを使用できます。

まとめる時間

ご覧のとおり、Flutter 2は、アプリ開発の分野に画期的な変化をもたらしています。 Webとモバイルアプリの使用の境界線は徐々に薄れ、さまざまなプラットフォームやデバイスの優れたユーザーエクスペリエンスを提供するようになっています。 フローに沿って進めたい場合は、Flutter2を使用してアプリを作成するときが来ました。