5

私は WPF 開発者です。私たちのチームは、WPF で開発された古いデスクトップ製品を置き換える優れたクロスプラットフォーム ソリューションを探しています。私たちは最近、Avalonia が優れた方法の 1 つかもしれないことを発見しましたが、デモの事例や深い洞察はあまりないようです。唯一の良いものはhttps://www.reddit.com/r/csharp/comments/dgfxbl/my_experience_developing_crossplatform_app/

あなたの経験を分かち合い、どうもありがとう。

知りたいこと:

  1. クロスプラットフォームのパフォーマンス。
  2. Avalonia が開発したアプリケーションの安定性
  3. PRO および CON から Java、QT、WEB などの他のクロスプラットフォーム ソリューションへ。
4

1 に答える 1

15
  1. レンダリングに Skia を使用しているため、いくつかのワークロードでは WPF よりも高速に動作しますが、フレームワークの一部がまだ最適化されていないため、他のワークロードでは遅くなります。プラットフォームのカバレッジに関しては、基本的にすべての x86 Linux ディストリビューション (非 glibc ベースおよび ARM にはカスタム SkiaSharp ビルドが必要)、Windows 7 以降、および OSX 10.13 以降でそのまま使用できます。クロスプラットフォームの GUI を利用でき、グローバル メニューもサポートされるようになりました。トレイ メニューは、次のリリースまたはそれ以降のリリースで期待されています。現在不足しているのは、適切な東部ロケールのサポートです。そのための ETA はありません。おそらく 2020 Q4 です。
  2. 0.8.x および 0.9.x バージョンは、Wasabi Walletプロジェクト (Avalonia を使用した成功事例の 1 つ) の助けのおかげで、さまざまなシステム (Qubes OS のようなエキゾチックな Linux ディストリビューションでさえ) で実環境で徹底的にテストされました。 .

3.1. プロ:

  • これは C# と完全な XAML (つまり、コントロール ラッピングがなく、テンプレートを完全に制御できます) であるため、自動メモリ管理とコンパイル時の型チェックを備えた優れたプログラミング言語と、MVVM をサポートする堅牢なカスタマイズ可能な UI マークアップを使用できます。
  • WPF から移植し、「手動」の MVVM、ReactiveUI、Prism、または MEF を使用している場合は、ビュー モデル レイヤー全体を再利用できます。
  • P/Invoke を介してプラットフォーム API に完全にアクセスできます (Electron ベースのアプリでは簡単にアクセスできません)。

3.2. 短所:

  • 2021 年のどこかまでモバイル プラットフォームのサポートなし
  • Web ベースのフレームワークのように、すぐに使用できるラピッド プロトタイピング コンポーネントはそれほど多くありません。
  • 重大な変更があります。ただし、ほぼすべての Web ベースのテクノロジについても同じことが言えます。1 年間誰も触れていない複雑な React アプリの依存関係を更新してみてください。
于 2020-01-12T13:00:16.787 に答える