序文
最近、クロスプラットフォームのデスクトップ アプリケーションが求められています。// システムをサポートする必要がありますwindows
。アプリケーションを更新linux
するmac
ための小さなインターフェイスを作成する必要があります。主な機能は、更新ファイルをダウンロードしてローカルに置き換えることです。は非常に単純な小さな関数です。
UI
最適化されていないサンプル インターフェイスの構築には数分かかりました。
最近クライアントのプログラマがとても忙しくてこの機能をやる時間がないので、私はたまたま暇で興味を持っていました。クロスプラットフォームアプリケーションの開発フレームワークをいくつか調べましたがメイン言語、go
がgo
wails
webview
webview
このとき、flutter
デスクトップ アプリケーションの開発もサポートされるようになったということを突然思い出しました。
GitHub
星がたくさんあるGoogle
大手メーカーからの支持- アクティブなコミュニティ
dart
シンプルで使いやすい- モバイル端末を起点として、モバイル端末の開発は比較的完了しています。
- ハイパフォーマンス
試してみましょう! うまく機能すれば、後でチーム内で昇進することができます。
フラッターのメリットとデメリット
アドバンテージ
- 高速な開発サイクル: ホット リロードは現在、ほとんどのフレームワークでサポートされていますが、ホット リロード機能により開発サイクルが短縮されることにも言及する必要があります。アプリの実行中にコード変更の影響をリアルタイムで確認できるため、迅速なデバッグや反復開発に役立ちます。
- 美しいユーザー インターフェイス:
flutter
豊富な組み込みウィジェットとカスタム描画オプションを提供し、開発者は美しく高度にカスタマイズされたユーザー インターフェイスを簡単に作成できます。 - 高性能:レンダリングにグラフィックス エンジン
flutter
を使用すると、Skia
さまざまなプラットフォームで高性能のユーザー インターフェイス エクスペリエンスを実現できます。また、内蔵のハードウェア アクセラレーション機能により、スムーズなアニメーションとトランジションを提供します。 - 単一のコード ベース: 開発者は単一のコード ベースを保守するだけで複数のプラットフォーム用のアプリケーションを構築できるため、コードの保守とチームのコラボレーションが簡素化されます。
- 豊富なコミュニティ サポート:
flutter
当社には、開発者が問題を解決し、開発プロセスを加速するのに役立つ多数のリソース、プラグイン、ソリューションを提供する大規模で活発なコミュニティがあります。
欠点がある
- アプリのサイズ:
flutter
アプリには独自のランタイム エンジンとフレームワークが含まれる必要があるため、アプリの初期サイズは大きくなる可能性があります。アプリケーションのサイズを削減する取り組みが継続的に行われていますがGoogle
、一部のアプリケーションでは依然として問題が発生する可能性があります。 - プラットフォームの特異性:
flutter
クロスプラットフォームのアプリケーションを構築することは可能ですが、場合によっては、特定のプラットフォームの機能と動作が完全に抽象化されておらず、プラットフォーム固有のカスタム開発が必要になることがあります。これは、すべてのクロスプラットフォーム アプリケーションが直面する必要がある問題です。 - サードパーティ ライブラリのサポート:
flutter
コミュニティでは多くのプラグインとライブラリが提供されていますが、特定の領域では他のプラットフォームに比べてサードパーティ ライブラリが比較的少ない場合があります。特にデスクトップ開発については、現時点ではサポートが比較的少ないです。 - 更新頻度:
flutter
フレームワークは常に進化しており、新しいバージョンでは新しい機能や改善がもたらされますが、その結果、最新バージョンとの互換性を維持するためにアプリを頻繁に更新する必要が生じる場合もあります。結局のところ、それは新しいことなので、bug
もっと練習するのは良いことです。
私のクロスプラットフォーム開発経験
モバイルに特化phonegap
( cordova
) => デスクトップに特化electron
=> 小規模なプログラムとの互換性uniapp
=> モバイル デスクトップflutter
。
要約する
flutter
始める難易度は悪くなく、全体的な開発体験も悪くなく、中国語コミュニティも非常に強力で、基本的にすべての質問は検索で解決できます。
しかし、上記の小さなアプリケーションを作成するのに 1 日かかりました (開発環境のセットアップ、そのフレームワーク構造、基本的な構文、データ要求などを理解するなど)。長い間解決策を見つけてください。
ここで愚痴を言いたいのですが、私が作ったアプリケーションには解凍機能が付いていますが、gbk
エンコードの問題flutter
が発生しました。中国ユーザーにとってはあまり親切ではありません。この問題に長い時間がかかり、最終的にはソースコードを調べなければなりませんでした。それを解決してください (おそらく私はあまりにも悪い = -=!)。
クロスプラットフォームは利便性をもたらしますが、複雑さも増すため、開発者には依然として幅広い知識が必要です。これらのクロスプラットフォーム開発フレームワークを使用する場合、比較的低レベルのフレームワークの場合は必然的にネイティブ フレームワークを使用することになりますが、通常は、問題を探し回っていれば解決策を見つけることができます。
他のテクノロジを使用するかを選択する場合はflutter
、プロジェクトのニーズとチームの経験に基づいてトレードオフと決定を行う必要があります。