Privacy Ratings

デスクトップアプリとモバイルアプリにおすすめのフレームワーク

クロスプラットフォームフレームワークは、1 つのコードベースから Windows、macOS、Linux、Android、iOS 向けのアプリを構築します。そのツールや SDK はそれを使って構築されたすべてのアプリに組み込まれるため、フレームワークのテレメトリーがアプリのテレメトリーになることがあります。以下のフレームワークはすべて、オープンソース、トラッカーとテレメトリー、資金源、独立監査という同じ公開の評価基準で評価しています。

推奨するスタックは、Tauri と Svelte と TypeScript の組み合わせです。Forward Email のアプリがその公開例で、1 つの Tauri・Svelte・TypeScript のコードベースから、ウェブメールとデスクトップアプリ、モバイルアプリを提供しています。

  1. 1. Tauri グレード B 編集部のおすすめ

    ウェブのフロントエンドと Rust のバックエンドでデスクトップアプリケーションとモバイルアプリケーションを構築するためのフレームワーク。OS のウェブビューを使います。

    おすすめの理由: 1 つのウェブコードベースから、デスクトップとモバイル向けの小さく高速なアプリを構築できます。ブラウザを同梱せず、システムのウェブビューを使います。権限システムを備えた Rust のコア、テレメトリーなし、公開された独立監査があります。Svelte と TypeScript との相性が良く、Forward Email のアプリ(github.com/forwardemail/mail.forwardemail.net)は、1 つの Tauri・Svelte・TypeScript のコードベースから Windows、macOS、Linux、Android、iOS 向けに提供されています。

    拠点:オランダ (ナイン・アイズ)。 スコア 85/100。

  2. 2. Apache Cordova グレード B

    HTML、CSS、JavaScript でモバイルアプリを構築するための Apache Software Foundation のフレームワーク。アプリはネイティブのウェブビューにパッケージされ、デバイス API 用のプラグインを利用できます。

    拠点:米国 (ファイブ・アイズ)。 スコア 80/100。

  3. 3. BeeWare グレード B

    ネイティブアプリを構築するための Python ツール群。各プラットフォームのネイティブウィジェットを使う GUI ツールキット Toga や、パッケージングツール Briefcase が含まれます。

    スコア 80/100。

  4. 4. GTK グレード B

    グラフィカルユーザーインターフェースを構築するためのツールキット。C で書かれ、多くの言語向けのバインディングがあります。GNOME プロジェクトが開発しています。

    拠点:米国 (ファイブ・アイズ)。 スコア 80/100。

  5. 5. Iced グレード B

    Elm アーキテクチャをベースにした Rust 向けのクロスプラットフォーム GUI ライブラリ。シンプルさと型安全性を重視しています。

    スコア 80/100。

  6. 6. Kivy グレード B

    マルチタッチに対応したクロスプラットフォームアプリ向けの Python フレームワーク。GPU で高速化された独自のウィジェットを描画し、KV デザイン言語を使います。

    スコア 80/100。

  7. 7. NativeScript グレード B

    JavaScript または TypeScript でネイティブの Android・iOS アプリを構築するためのフレームワーク。プラットフォームのネイティブ API に直接アクセスでき、Angular、Vue、React、Svelte、Solid で使えます。

    拠点:米国 (ファイブ・アイズ)。 スコア 80/100。

  8. 8. Wails グレード B

    Go とウェブ技術でデスクトップアプリを構築するためのフレームワーク。フロントエンドには OS のネイティブウェブビューを使います。

    スコア 80/100。

  9. 9. Slint グレード C

    宣言型マークアップ言語でネイティブのユーザーインターフェースを構築するための UI ツールキット。Rust、C++、JavaScript、Python 向けの API があり、デスクトップ、モバイル、組み込みデバイスに対応しています。

    拠点:ドイツ (フォーティーン・アイズ)。 スコア 65/100。

  10. 10. .NET MAUI グレード D

    1 つの C# と XAML のコードベースからネイティブの Android、iOS、macOS、Windows アプリを構築するための、Microsoft のクロスプラットフォーム UI フレームワーク。

    拠点:米国 (ファイブ・アイズ)。 スコア 50/100。

  11. 11. Avalonia UI グレード D

    XAML と C# で独自のコントロールを描画する .NET 向けのクロスプラットフォーム UI フレームワーク。Windows、macOS、Linux、Android、iOS、WebAssembly に対応しています。

    拠点:エストニア。 スコア 50/100。

  12. 12. Capacitor グレード D

    ウェブアプリを Android と iOS 上で、またプログレッシブウェブアプリとして実行するためのクロスプラットフォームのネイティブランタイム。デバイスのネイティブ機能を使うためのプラグイン API を備えています。

    拠点:米国 (ファイブ・アイズ)。 スコア 50/100。

  13. 13. Electrobun グレード D

    TypeScript でデスクトップアプリを構築するためのフレームワーク。Zig、Objective-C、C++ で書かれたネイティブレイヤー、コンパクトなバンドル、差分アップデートの内蔵機能を備えています。

    スコア 50/100。

  14. 14. Electron グレード D

    Chromium と Node.js を同梱し、JavaScript、HTML、CSS でクロスプラットフォームのデスクトップアプリケーションを構築するためのフレームワーク。

    拠点:米国 (ファイブ・アイズ)。 スコア 50/100。

  15. 15. Expo グレード D

    React Native をベースに Android、iOS、ウェブのアプリを構築するためのフレームワークとツール群。CLI、SDK モジュール、ファイルベースのルーティング、任意のクラウドビルドサービスを備えています。

    拠点:米国 (ファイブ・アイズ)。 スコア 50/100。

  16. 16. Flutter グレード D

    1 つの Dart コードベースからネイティブコンパイルされたモバイル、ウェブ、デスクトップのアプリを構築するための Google の UI ツールキット。独自のレンダリングエンジンでウィジェットを描画します。

    拠点:米国 (ファイブ・アイズ)。 スコア 50/100。

  17. 17. Framework7 グレード D

    iOS や Material Design の外観を持つモバイル、デスクトップ、ウェブのアプリを構築するための HTML・JavaScript フレームワーク。Vue、React、Svelte で使えます。

    スコア 50/100。

  18. 18. Fyne グレード D

    1 つのコードベースからデスクトップ、モバイル、ウェブのアプリを構築する Go 向けの GUI ツールキット。

    スコア 50/100。

  19. 19. Ionic グレード D

    HTML、CSS、JavaScript でモバイル、デスクトップ、プログレッシブウェブアプリを構築するための、ウェブコンポーネントによる UI ツールキット。Angular、React、Vue で使えます。

    拠点:米国 (ファイブ・アイズ)。 スコア 50/100。

  20. 20. Jetpack Compose グレード D

    Kotlin で書かれた、Android アプリ向けの Google の宣言型 UI ツールキット。インターフェースをコンポーズ可能な関数から構築します。

    拠点:米国 (ファイブ・アイズ)。 スコア 50/100。

  21. 21. Kotlin Multiplatform グレード D

    Android、iOS、デスクトップ、ウェブ、サーバーの間で Kotlin のコードを共有するための JetBrains の技術。共有ユーザーインターフェースには Compose Multiplatform を使います。

    拠点:チェコ。 スコア 50/100。

  22. 22. Lynx グレード D

    CSS や React などのウェブ技術でネイティブのモバイル・ウェブインターフェースを構築するためのクロスプラットフォームフレームワーク。マルチスレッドのレンダリングエンジンを使います。

    スコア 50/100。

  23. 23. NW.js グレード D

    Chromium と Node.js を組み合わせ、HTML と JavaScript でデスクトップアプリを構築するためのランタイム。DOM から Node.js モジュールを呼び出せます。

    スコア 50/100。

  24. 24. Quasar グレード D

    1 つのコードベースからウェブ、モバイル、デスクトップのアプリを構築するための Vue.js ベースのフレームワーク。Material コンポーネントライブラリと CLI を備えています。

    スコア 50/100。

  25. 25. React Native グレード D

    React と JavaScript または TypeScript でネイティブの Android・iOS アプリを構築するための Meta のフレームワーク。プラットフォームネイティブの UI コンポーネントをレンダリングします。

    拠点:米国 (ファイブ・アイズ)。 スコア 50/100。

このリストの作り方

項目は、編集部のおすすめを先頭に、その後は公開された評価基準に基づくスコア順に並んでいます。すべての回答が根拠にリンクし、ホスト型サービスは自動でテストされます。 リストは評価が変わると更新されます。

すべてを比較:クロスプラットフォームアプリフレームワーク。 評価基準と採点.

質問

クロスプラットフォームアプリに最適なフレームワークは何ですか?

Svelte と TypeScript と組み合わせた Tauri は、1 つのウェブコードベースから小さなデスクトップアプリとモバイルアプリを構築し、ブラウザを同梱せずにシステムのウェブビューを使い、テレメトリーがなく、公開された独立監査を受けています。モバイルでは React Native と Flutter が最も一般的な選択肢ですが、一部の構成ではそのツールが既定で利用データを送信します。

Tauri は Electron より優れていますか?

Tauri のアプリは Chromium を同梱せずにシステムのウェブビューを使うため、通常ははるかに小さく、Tauri は Android と iOS にも対応しています。Electron はすべてのプラットフォームで同じブラウザエンジンを提供します。根拠については両方の評価を参照してください。

Flutter と Expo はテレメトリーを収集しますか?

Flutter と Expo のコマンドラインツールは、無効にするまで既定で利用データを送信します。各評価には、無効にする方法を説明したドキュメントへのリンクがあります。