デスクトップ アプリケーション開発の主流のフレームワークは何ですか?

オープンソース テクノロジの開発の恩恵を受け、迅速な開発を求める実際のビジネス ニーズに対応するクロスプラットフォーム開発は、モバイル クロスプラットフォームに限定されません。デスクトップ側はモバイル側ほど豊富な市場アプリケーション シナリオはありませんが、市場の需要も。
個々の開発者にとって、クロスプラットフォーム フレームワークは主に次の 3 つの主要な機能を満たすために使用されます。

生産性の向上: このフレームワークは、開発者がコスト削減と効率向上の基礎となる迅速な開発を実現するのに役立ちます。「高速性」を達成できない場合は、コードを最初から書くよりもそれほど速くはなりません。

パッケージ化されたフレームワークは軽量で軽量です。ほとんどの開発者は、基本的な環境のインストール方法を知らない一般ユーザーです(運用保守なし、運用保守なし、運用保守なし)。

クロスプラットフォーム: 多くの開発者は依然として Mac を日々の開発のメイン開発マシンとして使用しているため、クロスプラットフォーム (クロスモバイル プラットフォーム、クロスモバイルとデスクトップ プラットフォーム) に対する強いニーズがあります。

今日、この記事では、クロスプラットフォームのデスクトップ アプリケーション開発のための 5 つの主流フレームワークである Electron、wxPython、FinClip、Tauri、および Flutter について取り上げます。

Electron は
、このフレームワークは誰もがよく知っていると信じています。
まず第一に、Electron 自体は Node.js に基づいているため、Node.js の既製のリソースを利用できます。
次に、Electron はクロスプラットフォームであるため、Web アプリケーションとデスクトップ アプリケーションを同時に開発でき、UI やコード (JS) などの従来のリソースの一部を共有することができ、開発者の負担を大幅に軽減できます。企業でも、システム開発のために繰り返し人材を投資する必要はありません。
さらに、Electron は Web API をサポートして Web アプリケーションと同じ作業を実行するだけでなく、ハードウェア デバイスと対話するためにオペレーティング システムの基盤となる API を多数呼び出すこともできます。C++ と Go を使用してローカル モジュールを作成することもできるため、多くの処理を完了できます。 Web アプリケーション: アプリではできないこと。

概要:html、js、cssなどの言語を使用し、強力な機能、豪華なインターフェース、クロスプラットフォーム、低開発コストという利点を兼ね備えていると言えます。ただし、パフォーマンスは褒められません~~

wxPython
wxPython と pyqt は似ており、どちらも Python 言語で開発されています。前者は wxWidgets のカプセル化であり、後者は有名な qt のカプセル化です。wxWidgets は、デスクトップ アプリケーションを作成するためのオペレーティング システムの API に基づいています。つまり、Windows でデスクトップ アプリケーションを開発すると、従来の Windows デスクトップ ソフトウェアのスタイルのように見えます。Mac では、Mac スタイルになります。すべて3 つは独自の自己描画エンジンを持っています。

つまり、3 つのプラットフォームで wxWidgets を使用すると、ボタンは 3 つのプラットフォーム独自の API に従って描画されます。wxWidgets は多くのオペレーティング システム API を提供し、静的にリンクできますが、多くの小さな問題があります。

Tauri
「マルチプラットフォーム展開向けに、最適化され、安全で、フロントエンドに依存しないアプリケーションを構築します。」
Tauri の公式 Web サイトのスローガンから、Tauri の主なセールス ポイントのいくつかがわかります。

最適化: 高性能、小型
安全: 強力なセキュリティ
フロントエンド非依存: フロントエンド非依存
マルチプラットフォーム: クロスプラットフォーム
Tauri フレームワークは Rust 言語で実装されており、Tauri アプリケーションのバックエンドも Rust で書かれています。Rust は、Mozilla によって開発された汎用のコンパイル済みシステム プログラミング言語です。Rust 言語自体には次の機能があります。

高いパフォーマンス (最適化): Rust のパフォーマンスは C/C++ に匹敵します。Rust の「所有権」メカニズムにより、Rust は GC を必要とせず、手動のメモリ管理を必要とする C/C++ などの言語を回避することもできます。リリースを忘れる メモリが原因で起こるメモリ リークの問題。

安全性: Rust は、すべての値に一意の所有者があり、値のスコープが所有者のスコープと同じである所有権システムを使用して設計されています。値は、不変参照 (&T)、可変参照 (&mut T)、または値自体 (T) によって渡すことができます。変数はいつでも複数の不変参照、または 1 つの変更可能な参照を持つことができます。これは実際には明示的な読み取り/書き込みロックです。Rust コンパイラはコンパイル時にこれらのルールを強制し、すべての参照が有効であるかどうかをチェックします。C/C++ などの言語でのダングリング ポインターなどの問題を効果的に回避できます。

FFI コンパイラ対応 (マルチプラットフォーム): FFI は、あるプログラミング言語で書かれたプログラムが別のプログラミング言語で書かれたコードを呼び出すことを可能にするメカニズムです。Rust を使用すると、他の言語からの呼び出しのためのインターフェイスを簡単に提供できます。

Rust 言語のいくつかの機能も、Tauri フレームワークの信頼性と価値を高めます。さらに、Hello Word はパッケージ化後わずか 10 メートルで、開発は依然として html+css テクノロジーを使用できるため、非常に効率的です。

フィンクリップ

FinClip は、小型プログラム サンドボックス ランタイム/エンジンとも言える小型プログラム コンテナ テクノロジのセットで、動的言語 (JS) と宣言型ビュー構築 (XML) を使用して、ブラウザ カーネルに基づいたランタイムを提供します。主流のインターネット小規模プログラム技術と互換性があり、Vue に基づいた DSL フレームワークを採用して反応することができます。

Electron、Flutter、Tauri などのクロスエンド プラットフォームとは異なり、FinClip は厳密にコンテナ テクノロジです。クロスエンド プラットフォームと競合しないだけでなく、完全に統合することもできます。モバイル クロスプラットフォーム開発フレームワークでは、Flutter、Taro、kbone などで開発された小さなプログラムを FinClip で実行できます。

このミニ プログラム コンテナー テクノロジは、ビュー層とロジック層を分離することで多くの利点ももたらします。
1. 複数のミニ プログラム ページ間のデータ共有と対話が容易になります。アプレットのライフサイクルに同じコンテキストを持たせることで、ネイティブ アプリケーション開発の経験を持つ開発者になじみのあるコーディング エクスペリエンスを提供できます。2. サービスとビューの分離と並列実装により、
JS の実行によるページ レンダリングへの影響や速度低下を防ぐことができます。レンダリングパフォーマンスの向上に役立ちます;
3. JS はサービス層で実行されるため、JS で操作される DOM はビュー層に影響を与えず、ミニ プログラムは DOM 構造を操作できません。これにより、ミニ プログラムのパフォーマンスも従来よりも向上します。 H5の方が良いですよ。

これがプラットフォームのデスクトップ アプリケーション開発フレームワークに導入される理由は、FinClip のモバイル クロスターミナル開発機能に加えて、Windows、Mac、Linux、Tongxin、Kirin などの携帯電話以外のプラットフォームでの小さなプログラムの実行もサポートしているためです。 、など、つまり、モバイル端末、PC 端末、IOT、その他のスマート端末で小さなプログラムを実行できます。同時に、ミニプログラムのリストや削除を一元管理し、ミニプログラムの使用状況を監視するための完全なバックエンド管理システムも提供しており、このツールを利用することで、ビジネスを活用した迅速な導入が可能になります。 WeChat ミニ プログラム エコシステムの成熟度 ビジネス シナリオを強化および充実させ、テクノロジーとビジネスの両方でコスト削減と効率向上を実現するエコシステム。

フラッター

Flutter は Google が開発したクロスプラットフォーム アプリケーション開発フレームワークで、当初は Android および iOS 用のモバイル アプリケーションの開発にのみ使用されていました。2022 年 5 月、Google は Google I/O 2022 で Flutter 3.0 をリリースし、Windows、macOS、Linux デスクトップ オペレーティング システムのサポートを発表しました。

Flutter Desktop はインターフェイス ロジックの記述に Dart を使用しており、Dart 言語は学習と使用が簡単で、開発コストが低くなります。さらに、Flutter には豊富なコンポーネントがあり、Win 10 オペレーティング システムをサポートしています (以前のオペレーティング システムは十分にサポートされていませんでした)。ただし、デスクトップ版は安定版のサポートがリリースされたばかりであるため、エコロジーと安定性の両方を考慮する必要があり、開発者自身が記述する必要がある API も比較的少ないです。
元のリンク

おすすめ

転載: blog.csdn.net/u010274449/article/details/131966328