序文
近年、クロスプラットフォーム開発フレームワークが開発界の主流になってきました。中でも Flutter は、Google が発表した注目度の高い UI ツールキットとして、かつて広く注目を集めました。しかし、2023 年現在、Flutter に関する話題はほとんど聞かれなくなっているようです。では、Flutter は競争力を失ったのでしょうか?
Flutterの導入と開発
2017 年、Xianyu は Flutter を導入しました。2019 年、Xianyu は Xianyu での Flutter アプリケーションの推進を開始し、大規模な実装を実施しました。
この 3 年間の実践で、Xianyu は継続的にバグを修正して Flutter の安定性を向上させ、Google と同期させました。さらに、Flutter Boost エンジンをオープンソース化する独自のハイブリッド テクノロジー ソリューションのセットを考案しました。
これまでXianyuはフラッターをほぼ完全に受け入れてきたが、当初から疑問の声は止むことがなかった。Flutter が廃止されるという噂さえあります。
周囲には次のような批判的な声も多い。
Flutter は車輪の再発明を行っているだけで、明るい兆しはまったくありません。Flutter
の Dart 言語の使用には致命的な欠陥があります。Flutter
フレームワークを使用するアプリは非常に拡張性があります
。
新技術の出現と競争
テクノロジーの急速な発展に伴い、新しいテクノロジーやフレームワークが市場に次々と登場しています。現在のクロスプラットフォーム フレームワークはまさに鶏の血のようなもので、制作チームではロバのように更新され、しばらくするとその努力があちこちで花開くでしょう。
Flutter と比較して、React Native、Unity などの一部の新興クロスプラットフォーム フレームワークは、開発者により多くの選択肢を提供します。これらのフレームワークは、パフォーマンスの点で優れているだけでなく、コミュニティのサポートとエコシステムの点でも向上しています。
そして、KMM と同様に、kotlin 言語と裏方の資金提供者 (Google) への依存も急速に高まっています。
- KMM
Flutter のようなフレームワークの考え方に反して、KMM は一連の言語を使用して複数のプラットフォーム固有のバイトコードを生成し、すべての翻訳作業は kotlinc または kotlin-nativec コンパイラーによって実行されます。これは「上から下へ」ですが、Flutter のアイデアは「下から上へ」であり、2 つのフレームワークの適用可能なシナリオも決まります。Flutter は UI の描画に適しており、KMM は何も持たないロジック コードに適しています。モデル層、ネットワークリクエスト、データ解析、モデリングなどの UI に関するもの。
コスト差
Flutter を使用するには、アプリ パッケージ内に 2 つのエンジンを追加する必要があります。
1 つは Flutter のレンダリング エンジンで、C/C++ で開発され、OpenGL/Skia の API を直接呼び出して描画するため、iOS の UIKitや Android の View コンポーネントを取り除き、必要なスタイルに直接レンダリングします。スタイルの高度な統一性を確保するため
もう 1 つは Dart 言語のランタイムで、Dart 言語によってコンパイルされたバンドルを解析して実行するために使用されます。
これら 2 つは開発者の適応コストを削減しますが、APP のパッケージ サイズは増加します (React Native などの他の同様のクロスプラットフォーム フレームワークにもJavaScript Core または V8 エンジンが組み込まれています)。
KMM は、プラットフォームごとに異なるバイナリ依存関係パッケージを生成します。基本的に、Android と iOS のネイティブ API を呼び出します。エンジンなどの組み込みファイルはありません。アプリのサイズへの影響は比較的小さく、パフォーマンスも向上します。保証も付いております。
技術スタック:
Flutter はクロスプラットフォーム開発に多くの利点がありますが、初心者の開発者にとっては学習曲線がまだ比較的高く、
Web 開発者であろうとネイティブアプリ開発者であろうと、Flutter は Dart 開発を使用します。新しい言語を学習し、言語を理解するには時間がかかります。新しい開発モデル。Dart は JavaScript や Java と類似点があり、開発形式は React に似ていますが、依然として一定の学習しきい値が存在します。
Kotlin が Google の公式 Android 開発言語になりました
Kotlin と Java 間の対話は非常に便利であるため、現在、ほとんどの Android 開発者はアプリ開発を Kotlin に完全に切り替えています。プラットフォームと関係のない多くのツール、アルゴリズム、データ モデルは、KMM を直接使用してクロスを実現できます。 -platform. Flutterと比較して、少なくともAndroid
開発者にとってのしきい値要件はほぼゼロです
Flutter のかけがえのない利点
- 安定させる
Flutter UI は、自己描画 UI によるプラットフォーム レベルの UI やシステム アップグレードによって引き起こされるさまざまな互換性の問題を回避します。しかし、クロスプラットフォーム開発技術として、元のプラットフォームと通信するための基盤となるアダプテーション層やさまざまなプラグインを維持することは避けられず、これはすべてのクロスプラットフォームに共通する問題です。
- 大規模プロジェクトでは Flutter の使用が好まれます
Flutter は自己レンダリング エンジンを使用して、高パフォーマンスの UI エクスペリエンスを実現します。Web テクノロジーに基づいた React Native などのフレームワークと比較して、Flutter はパフォーマンスの点で明らかな利点があります。大規模プロジェクトでは、アプリケーションの流暢性と応答速度を確保するために大量のデータを処理する必要があることが多いため、これは特に重要です。
ホットリロード機能
Flutter のホット リロード機能を使用すると、開発者は再コンパイルやインストールを行わずに、コードの変更を迅速にプレビューおよびデバッグできます。これは大規模プロジェクトの開発プロセスに非常に役立ち、開発効率を大幅に向上させることができます。
やっと
要約すると、Flutter にはクロスプラットフォーム開発の分野で一定の利点がありますが、新しいテクノロジー、学習曲線、Google の戦略的調整、企業での導入などの複数の課題に直面すると、市場におけるその地位が影響を受ける可能性があります。ただし、Flutter がすでに競争力があるという意味ではありません。大手メーカーは依然として Flutter を支持しています。
Flutter は、iOS および Android 上で高品質のネイティブ ユーザー インターフェイスを迅速に構築できる Google のモバイル UI フレームワークです。Flutter は既存のコードで動作します。世界中で、Flutter はますます多くの開発者や組織によって使用されており、Flutter は完全に無料でオープンソースです。
誰もが Flutter を体系的に学習しやすくするために、ここでは Ali P7 アーキテクトおよび Google 技術チームと特別に協力して、Flutter ファミリー バケット用の学習教材セットを作成しました。
内容概要:Flutter技術解析と実戦、Flutter上級学習ノート、Flutter入門と実戦、Flutter完全開発実戦の詳細解説。
コンテンツの特徴: グラフィック表現を含む明確な構成により、理解しやすくなります。
記事の内容が多く、スペースが限られているため、情報は PDF ドキュメントにまとめられていますが、Flutter のテクニカル分析と実戦の完全なドキュメントが必要な場合は、以下のカードをスキャンして無料で入手できます。
目次
第 1 章 なぜ Flutter がクロスプラットフォーム開発の究極の選択肢であるのか
- 01 どうしてそうなるの?
- 02 クロスプラットフォーム開発
- 03 フラッターとは
- 04 フラッター機能
第2章 Windows上でのFlutter開発環境の構築
- 01 鏡を使う
- 02 システム要件
- 03 Flutter SDKを入手する
- 04 エディターの設定
- 05Androidの設定
第 3 章 最初の Flutter アプリを作成する
第4章 Flutter開発環境の構築とデバッグ
- 1. 開発環境のセットアップ
- 2. シミュレータのインストールとデバッグ
- 3. 開発環境の構築
- 4. シミュレータのインストールとデバッグ