Google は、Flutter 2 ユーザー インターフェース開発フレームワークを導入しました。これにより、同プロジェクトは、モバイル アプリケーションを開発するためのフレームワークから、デスクトップ プログラムや Web アプリケーションを含むあらゆる種類のプログラムを作成するための汎用フレームワークへと変貌を遂げました。
FlutterはReact Nativeの代替技術と見なされており、単一のコードベースを使用してiOSを含む複数のプラットフォーム向けアプリケーションをリリースすることを可能にする。 Android, Windows, macOS и Linuxブラウザ上で動作するアプリケーションも同様です。Flutter 1で以前に作成されたモバイルアプリケーションは、Flutter 2に移行した後もコードを書き直すことなく、デスクトップやWebでの使用に適応させることができます。
Flutter コードの主要部分は Dart 言語で実装され、アプリケーションを実行するランタイム エンジンは C++ で書かれています。 アプリケーションを開発するときは、Flutter のネイティブ Dart 言語に加えて、Dart 外部関数インターフェイスを使用して C/C++ コードを呼び出すことができます。 アプリケーションをターゲット プラットフォームのネイティブ コードにコンパイルすることで、高い実行パフォーマンスが実現されます。 この場合、変更のたびにプログラムを再コンパイルする必要はありません。Dart には、実行中のアプリケーションに変更を加えて結果をすぐに評価できるホット リロード モードが用意されています。
Flutter 2 は、本番環境への展開に適した Web アプリケーションの作成を完全にサポートすることを約束します。 Flutter for the Web を使用する主なシナリオとして、スタンドアロン Web アプリケーション (PWA、プログレッシブ Web アプリ) の開発、シングルページ Web アプリケーション (SPA、シングルページ アプリ) の作成、モバイル アプリケーションから Web アプリケーションへの変換の 2 つが挙げられます。 Web 開発ツールの機能には、3D および XNUMXD グラフィック レンダリング アクセラレーション メカニズムの使用、画面上の要素の柔軟なレイアウト、WebAssembly にコンパイルされた CanvasKit レンダリング エンジンなどがあります。
デスクトップアプリのサポートは現在ベータ版で、今年中の今後のリリースで安定化される予定です。Canonical、Microsoft、およびトヨタは、Flutter開発のサポートを発表しました。Canonicalは、アプリの主要フレームワークとしてFlutterを選択し、新しいインストーラーの開発にもFlutterを使用しています。 Ubuntuマイクロソフトは、Surface Duoのような複数の画面を備えた折りたたみ式デバイス向けにFlutterを改良しました。トヨタは車載インフォテインメントシステムにFlutterを採用する予定です。また、FlutterはGoogleのマイクロカーネルオペレーティングシステムであるFuchsiaのユーザーインターフェースにも採用されています。

同時に、根本的に再設計された Dart 2.12 ブランチの開発を継続する Dart 2 プログラミング言語リリースが公開されました。 Dart 2 は、強力な静的型付けを使用する点で Dart 言語のオリジナル バージョンと異なります (型は自動的に推論できるため、型の指定は必須ではありませんが、動的型付けは使用されなくなり、最初に計算された型が変数に割り当てられ、その後、厳密な型チェックが適用されます)。
このリリースでは、null 安全モードが安定化された点が注目に値します。これにより、値が未定義で Null に設定されている変数の使用を試みることによって発生するクラッシュを回避します。このモードは、明示的に null 値が割り当てられていない限り、変数が未定義の値を持つことができないことを意味します。このモードでは変数の型が厳密に考慮され、コンパイラが追加の最適化を適用できるようになります。型の適合性はコンパイル時にチェックされます。たとえば、「int」などの未定義の状態を意味しない型の変数に値「Null」を割り当てようとすると、エラーがスローされます。
Dart 2.12におけるもう一つの重要な改善点は、FFIライブラリの安定実装です。これにより、C APIにアクセスできる高性能コードの作成が可能になります。パフォーマンスとサイズの最適化も実装されています。Flutterを使用して記述された開発者ツールとコードプロファイリングシステムが追加され、DartおよびFlutterアプリケーション開発用の新しいプラグインも追加されました。 Android Studio/IntelliJとVS Code。

出所: オープンネット.ru
