Google は Flutter 2 ユーザー インターフェイス フレームワークを導入しました。これにより、モバイル アプリケーションを開発するためのフレームワークから、デスクトップ プログラムや Web アプリケーションを含むあらゆる種類のプログラムを作成するための汎用フレームワークへのプロジェクトの変革が始まりました。
Flutter は React Native の代替として見なされており、1 つのコード ベースに基づいて、iOS、Android、Windows、macOS、Linux などのさまざまなプラットフォーム用のアプリケーションや、ブラウザで実行されるアプリケーションを作成できます。 以前に Flutter 2 で作成されたモバイル アプリケーションは、Flutter XNUMX に切り替えた後、コードを書き直すことなく、デスクトップおよび Web 上で動作するように適応させることができます。
Flutter コードの主要部分は Dart 言語で実装され、アプリケーションを実行するランタイム エンジンは C++ で書かれています。 アプリケーションを開発するときは、Flutter のネイティブ Dart 言語に加えて、Dart 外部関数インターフェイスを使用して C/C++ コードを呼び出すことができます。 アプリケーションをターゲット プラットフォームのネイティブ コードにコンパイルすることで、高い実行パフォーマンスが実現されます。 この場合、変更のたびにプログラムを再コンパイルする必要はありません。Dart には、実行中のアプリケーションに変更を加えて結果をすぐに評価できるホット リロード モードが用意されています。
Flutter 2 は、運用環境の実装に適した Web 用アプリケーションの作成を完全にサポートします。 Flutter for the Web を使用するための 2 つの主なシナリオについて説明します。スタンドアロン Web アプリケーション (PWA、プログレッシブ Web アプリ) の開発、シングルページ Web アプリケーション (SPA、シングル ページ アプリ) の作成、モバイル アプリケーションから Web アプリケーションへの変換です。 Web 用開発ツールの機能には、3D および XNUMXD グラフィックスのレンダリングを高速化するメカニズムの使用、画面上の要素の柔軟な配置、WebAssembly にコンパイルされた CanvasKit レンダリング エンジンなどがあります。
デスクトップ アプリのサポートはベータ版であり、今年後半の将来のリリースで安定化される予定です。 Canonical、Microsoft、Toyota は Flutter を使用した開発のサポートを発表しました。 Canonical は、アプリケーションのメイン フレームワークとして Flutter を選択し、Ubuntu 用の新しいインストーラーの開発にも Flutter を使用しています。 Microsoft は、Surface Duo などの複数の画面を備えた折りたたみ式デバイスに Flutter を適合させました。 トヨタは、車載インフォテイメント システムに Flutter を使用する予定です。 Google が開発した Fuchsia マイクロカーネル オペレーティング システムのユーザー シェルも Flutter に基づいて構築されています。
同時に、Dart 2.12 プログラミング言語のリリースが公開され、Dart 2 の根本的に再設計されたブランチの開発が継続されています。Dart 2 は、強力な静的型付け (型) を使用する点で、Dart 言語のオリジナル バージョンとは異なります。は自動的に推論できるため、型の指定は必須ではありませんが、動的型付けは使用されなくなり、最初に計算された型が変数に割り当てられ、その後厳密な型チェックが適用されます。
このリリースは、値が未定義で Null に設定されている変数を使用しようとする試みによって引き起こされるクラッシュを回避するのに役立つ Null セーフティ モードの安定化で注目に値します。 このモードは、明示的に値 null が割り当てられない限り、変数は null 値を持つことができないことを意味します。 このモードは変数の型を厳密に尊重するため、コンパイラーは追加の最適化を適用できます。 型の準拠性はコンパイル時にチェックされます。たとえば、「int」など、未定義の状態を意味しない型の変数に値「Null」を代入しようとすると、エラーが表示されます。
Dart 2.12 のもう XNUMX つの重要な改善点は、FFI ライブラリの安定した実装です。これにより、C の API にアクセスできる高性能コードを作成できるようになります。 パフォーマンスとサイズの最適化を行いました。 開発者ツールと Flutter を使用して記述されたコード プロファイリング システム、および Android Studio/IntelliJ および VS Code 用の Dart および Flutter アプリケーションを開発するための新しいプラグインが追加されました。
出所: オープンネット.ru