Node-Webkit vs Electron [closed] 質問する

Node-Webkit vs Electron [closed] 質問する

私たちはクロスプラットフォームのデスクトップアプリケーションを構築することを計画しています。ノードWebkit私たちにとっては完璧な選択です。しかし、GitHubは独自のフレームワークを開発しました。電子Node-Webkit を使用する代わりに。

それらの違いは何ですか?

ベストアンサー1

電子はページとの違いを説明しますnwjs

NW.js と同様に、Electron は Web テクノロジーを使用してデスクトップ アプリケーションを作成するためのプラットフォームを提供します。どちらのプラットフォームでも、開発者は HTML、JavaScript、Node.js を利用できます。表面的には非常によく似ています。

ただし、2 つのプロジェクトには根本的な違いがあり、Electron は NW.js とはまったく別の製品となっています。

  1. アプリケーションのエントリ NW.js では、アプリケーションのメイン エントリ ポイントは HTML Web ページになります。その場合、NW.js は指定されたエントリ ポイントをブラウザー ウィンドウで開きます。

Electron では、エントリ ポイントは常に JavaScript スクリプトです。URL を直接指定する代わりに、手動でブラウザー ウィンドウを作成し、API を使用して HTML ファイルを読み込みます。また、アプリケーションを終了するタイミングを決定するために、ウィンドウ イベントを監視する必要があります。

Electron は Node.js ランタイムのように動作します。Electron の API は低レベルなので、PhantomJS の代わりにブラウザー テストに使用できます。

  1. Node 統合 NW.js では、Web ページでの Node 統合には Chromium のパッチ適用が必要ですが、Electron では Chromium のハッキングを避けるために、libuv ループを各プラットフォームのメッセージ ループと統合する別の方法を選択しました。node_bindingsその方法については、コードを参照してください。

  2. JavaScript コンテキスト NW.js の経験者であれば、Node コンテキストと Web コンテキストの概念に精通しているはずです。これらの概念は、NW.js の実装方法に基づいて考案されました。

Electron は、Node のマルチコンテキスト機能を使用することで、Web ページに新しい JavaScript コンテキストを導入しません。

注: NW.js は 0.13 以降、オプションでマルチコンテキストをサポートしています。

  1. レガシー サポート NW.js では、Windows XP をサポートする「レガシー リリース」が引き続き提供されています。セキュリティ更新プログラムは受信されません。

ハードウェア メーカー、Microsoft、Chromium、Node.js が、このシステムに対する重要なセキュリティ更新プログラムさえリリースしていないことを考えると、Windows XP の使用は極めて安全性が低く、まったく無責任であることを警告する必要があります。

ただし、私たちの想像を超える要件が存在する可能性があることは理解しています。そのため、Windows XP で実行される Electron のようなものを探している場合は、NW.js のレガシー リリースが最適である可能性があります。

  1. 機能 サポートされている機能の数には多くの違いがあります。Electron には、より大きなコミュニティがあり、それを使用している本番アプリも多く、npm で利用できるユーザーランド モジュールが大量にあります。

たとえば、Electron には自動更新のサポートや、インストーラーの作成を容易にする無数のツールが組み込まれています。NW.js の利点の 1 つとして、NW.js は Chrome アプリの開発用に、より多くの Chrome.* API をサポートしています。

当然ながら、私たちは、Web テクノロジ (Visual Studio Code、Slack、Facebook Messenger など) で構築された洗練された製品アプリケーションには Electron の方が適したプラットフォームだと考えています。ただし、Web テクノロジの友人に対して公平でありたいと考えています。Electron では満たせない機能のニーズがある場合は、NW.js を試してみるとよいでしょう。

これはElectronのwikiページからの情報なので、偏っている可能性があることに注意してください。

電子は導入しない

Web ページ内の新しい JavaScript コンテキスト。

ソースコード保護

電子アプリケーションをパッケージ化しているアサルにはアプリケーションの保護されていないソースコードが含まれています。これにより、アプリケーション1はアプリケーション2を抽出し、ユーザーに知られずに脆弱なスクリプトを挿入することが可能になります。チェックアウトすることができます。Slackアプリを操作する方法の例を見るには、GitHubのこのプロジェクトをご覧ください。例えば、今のところ、Electronチームはソースコード保護のサポートを実装する予定はない。

NW.jsもっているソースコードを保護されたバイナリにコンパイルするための組み込みサポート

おすすめ記事