NeutralinoJS は Electron と Tauri の次のライバルになる?やり過ぎ

序文

数年前、Web 開発者がデスクトップ アプリケーションの世界に足を踏み入れる唯一の方法は、Electron または NW.js でした。しかし、これら 2 つは比較的大きな問題を抱えています。これらは比較的重く、メモリ フットプリントが大きいのですが、この解決策は多くの人にとって非常に魅力的です。Microsoft、Slack、Discord などの大企業が投資しましたが、9 つの異なるアプリを実行するために 9 つの異なるバージョンの Chromium をインストールしたくないという人がまだたくさんいます。

NeutralinoJS には特別なソリューションがあります。Node + Chromium 全体を各アプリケーションにパッケージ化するのではなく、各オペレーティング システムに付属のインストール済みブラウザーを再利用してみませんか? Linux と macOS には WebKit があり、Microsoft Windows には IE、Edge、そして Chromium があります。理論的には素晴らしいアイデアですが、システム トレイ、通知、ファイル システム アクセス、データ ストレージ、およびセキュリティのネイティブ サポートなどの複雑さにより、多くの人がそれを実行することをためらっています。

1. NeutralinoJS とは?

Neutralinojs は、軽量でポータブルなデスクトップ アプリケーション開発フレームワークです。JavaScript、HTML、および CSS を使用して、軽量のクロスプラットフォーム デスクトップ アプリケーションを開発できます。同時に、任意のプログラミング言語で Neutralinojs を拡張し (IPC を拡張することにより)、任意のソース ファイルの一部として Neutralinojs を使用することができます (サブプロセス IPC により)。

スリランカのプログラマー Shalitha Suranga によって 2018 年にリリースされた NeutralinoJS は、3 つの異なるデスクトップ プラットフォームをサポートする最初のフレームワークの 1 つであり、Web 開発者が非常に簡単に使用できるようにしました。3 年後、NeutralinoJS は独自の Javascript クライアント ライブラリ、拡張機能のサポート、および非常に小さなフットプリント (< 3 MB) を備えています。

NeutralinoJS は、Electron と Tauri の次善の代替手段です!

NeutralinoJS は、Rust やその他の多くのものをインストールする必要があった Tauri と比較して、巨人の肩の上に立っています。ネイティブ機能を利用するために新しい言語を学ぶ必要はありません。巨大な npm エコシステムはありませんが、Neutralino 名前空間でさまざまなシステム API をサポートしています。例えば:

  • Neutralino.init
  • Neutralino.app
  • Neutralino.computer
  • Neutralino.debug
  • Neutralino.filesystem
  • Neutralino.os
  • Neutralino.ストレージ
  • Neutralino.window
  • Neutralino.events
  • Neutralino.extensions
  • Neutralino.updater

2. ニュートラリノイスがエレクトロンの代わりになる力を持っていると言われているのはなぜですか?

Electron と NWjs では、Node.js と何百もの依存ライブラリをインストールする必要があります。埋め込まれた Chromium と Node.js は単純なアプリを肥大化させます。ほとんどの場合、フレームワークはアプリケーションのソース コードよりも重くなります。Neutralinojs は、Electron および NW.js に代わる軽量でポータブルな SDK を提供します。

Neutralinojs は Chromium をパッケージ化しませんが、オペレーティング システムの既存の Web ブラウザー ライブラリを使用します (例: Linux の gtk-webkit2)。Neutralinojs は、ネイティブ操作用の安全な WebSocket 接続を実装し、静的 Web サーバーを組み込んで Web コンテンツを提供します。さらに、組み込みの JavaScript クライアント ライブラリを開発者に提供します。

Neutralinojs は、JavaScript、HTML、CSS などの Web テクノロジを使用してネイティブ デスクトップ アプリケーションを作成するためのフレームワークであるため、Web サイトを構築できる場合は、クロスプラットフォームのデスクトップ アプリケーションを構築できます。お気に入りのフロントエンド フレームワーク (Angular、React、Svelte、Vue など) を使用して、次の Neutralinojs アプリケーションを構築できます。

3. NeutralinoJS の特徴は?

3.1 ネイティブ API

Neutralinojs Javascript API は、ファイル操作、コマンドの実行、ネイティブ ダイアログの表示など、OS レベルの機能へのアクセスを公開します。

3.2 移植性と依存性ゼロ

Neutralinojs アプリケーションを実行するために追加の依存関係は必要ありません。最大の利点は、すべてのプラットフォーム アプリケーションを 1 つのプラットフォームで実行できることです。コンパイラは必要ありません!

3.3 クロスプラットフォームのサポート

Neutralinojs アプリケーションは、Linux、Windows、macOS、Web、および Chrome で実行できます。すべての主要なオペレーティング システムと Web ブラウザーに対して、単一のポータブル アプリケーションを公開できます。

3.4 軽量で高速

シンプルな圧縮されていない Neutralinojs アプリケーションのサイズはわずか 2 MB ですが、圧縮されたアプリケーションのサイズは約 0.5 MB です。実際、他の Chromium ベースのクロスプラットフォーム アプリケーション開発フレームワークのように、物理メモリやストレージを消費しません。

3.5 シンプルで柔軟

Neutralinojs チームは、シンプルで柔軟な開発インターフェースをプログラマーに提供する傾向があります。このフレームワークには、シンプルなポータブル自動アップデーターと CLI があります。OOP ベースのクラスや時間のかかるセットアップで作業を複雑にしないでください。

3.6 あらゆるバックエンド、あらゆるフロントエンド

HMR などのお気に入りの機能を備えた任意のフロントエンド フレームワークを使用して、Neutralinojs アプリケーションを構築できます。さらに、サブプロセス IPC を使用して任意のソース ファイルの一部として Neutralinojs を使用したり、IPC 拡張機能を使用して任意のバックエンド言語で Neutralinojs API を拡張したりできます。

4.電子対中性子

Neutralionjs には、Electron との API 互換性はありません。Neutralionjs は electron よりも高速でメモリ フットプリントが小さいですが、Node をサポートしておらず、npm エコシステムがなく、巨大なコミュニティ サポートもありません。Electron アプリを Neutralino に移行するための最良のオプションは、バックエンド コードを Go や Rust などのネイティブ コンパイル言語に書き直すか、NodeJS 全体をバイナリとしてパッケージ化することです。

全体として、これまでのところ、Electron は Neutralionjs よりも優れており、信頼性も高くなっています。

5. 最初の NeutralinoJS プロジェクトを開始しますか?

5.1 NeutralinoJS のインストール

npm install -g @neutralinojs/neu

この時点で、neu コマンドをグローバルに使用できます。

5.2 ハローニュートラリーノ

プロジェクトは、次のコマンドで初期化できます。

neu create <project-name>

アプリのコードベースで上記のコマンドを実行すると、同じ名前のディレクトリが作成されます。あとは、neutralino.config.json ファイルを編集するだけです。url と documentRoot の 2 つのキーを編集して、フレームワークのビルド ディレクトリを指すようにできます。Reactの場合は次のとおりです。

"documentRoot": "./build/",
"url": "/index.html",

次のコマンドでデバッグを有効にできます。

neu run

この時点で、アプリケーションはネイティブ ウィンドウで開くはずです。

全体として、NeutralinoJS は Tauri に比べてセットアップと使用が非常に簡単です。確かに、Tauri のほぼすべての機能が組み込まれているわけではありませんが、ネイティブ拡張機能を使用して簡単に追加できます。

短所: インストール パッケージがない、実行可能ファイルにアイコンなどのファイル情報がない、純粋なバイナリ ファイルがある

回避策 (Windows のみ):

パッキングがないのでリソースチューナーを使ってバージョン情報とアイコンを追加(リソースハッカーの改造失敗)

次に、innosetup を使用してインストーラーをビルドします。resources.neu (コード)、WebView2Loader.dll、yourappname-win_x64.exe を必ず含めてください。

参考文献

https://dev.to/byteslash/what-is-neutralinojs-alternative-to-electron-5fjc

https://blog.notesnook.com/neutralinojs-next-best-alternative-to-electron-and-tauri/

https://neutralino.js.org/

https://github.com/neutralinojs/neutralinojs

おすすめ

転載: blog.csdn.net/weixin_44786530/article/details/130520554