153

TideSDK が事実上死んでしまった今、私は HTML/CSS/JS アプリケーションをスタンドアロンのデスクトップ アプリケーションとして実行する代替の「ラッパー」を探してきました。これまでに実行した 3 つの実行可能なオプションは、NW.js (以前の node-webkit)、 brackets -shell、およびElectron (以前の atom-shell) です。

問題は、機能セット、互換性などに関して、3 つの間の十分に完全な比較がないように見えることです。特に以下に関する3つ:

  • プラットフォームのサポート; オペレーティング システム、依存関係など。
  • HTML5、CSS3、JavaScript に関する限り、言語機能のサポート。「HTML5 ビデオは機能しますか? もしそうなら、どのコーデックが利用可能ですか?」などと考えてみてください。
  • トレイ アイコン、ポップアップ通知、OS レンダリング メニュー バーなど、非標準の追加機能。
  • 拡張性; 例えば。ネイティブ コードを「プラグイン」する機能、Node.js と対話する機能など。
  • 建築; 特に、開発者としての日常的な使用に影響を与えるアーキテクチャの違い。
  • デバッグ; 含まれる開発ツール、一般的に使用されるツールとの互換性node-inspectorなど。
  • ... 等々。

アプリケーション開発者としてどちらを選択する際に重要な、客観的で技術的な違いは何ですか?

4

5 に答える 5

43

約 2 か月前に同様の調査を行い、最終的に node-webkit を使用しました。node-webkit の最大の利点は、node.js と npm です。npm のパッケージ管理は非常に優れており、ノードはファイルシステムへのアクセスをうまく行っています。

Brackets-shell は面白そうに見えましたが、優れた IDE 以外に、この IDE が他のものと同じくらい優れている、または優れている理由がわかりませんでした。彼らは、「ブラケットシェルはブラケットプロジェクトで使用するためにのみ維持されている」ことを非常に明確にしています。

https://github.com/adobe/brackets-shell#overview

Atom-shell は最近アクティブになっているようですが、実際には Webkit ランタイムに接続されているエディタ/IDE を記述しているという点で、括弧のように見えます。また、node.js の上に構築されています。これには、中学校の化学を思い出さずにオンラインで検索するのが難しいという欠点があります.

私は本当に新しいエディターを望んでいません。ほとんどのプログラマーはお気に入りのエディターを既に持っています。実際のアプリケーション開発では、それらはすべて webkit を使用するため、ほとんど同じように機能し、同じように機能するはずです。基本的に、ウェブサイトのように 90 ~ 95% を記述し、次にネイティブ部分といくつかの構成を処理します。

これらのことは、これら 3 つのプラットフォームすべてに当てはまります - Windows、Mac、および Linux 言語サポートで実行されます - HTML5、CSS3、および Javascript : これらは JavaScript を実行するため、必要なほぼすべてのライブラリ/フレームワークをダウンロードして実行できます。

Webkit の大きな注意点は、コーデックのサポートです。dll を再構築してそれらをサポートしない限り、通常、フリーではないビデオ コーデックで問題が発生します。たとえば、出荷された node-webkit は mp4 ビデオを再生しません。

于 2014-06-09T15:09:11.410 に答える
40

ここ数日、Atom-Shellで遊んでいますが、今のところ気に入っています。

それについての最もよい部分は、それがGitHubによって支えられていることです..これにより、特に大きな支持を得た場合、長期的にプラットフォームに落ち着くことができるはずです. これは、Node.js の主要な貢献者であるStrongLoopとの契約による Node.js の直接的な改善によっても可能になりました(彼らは、他のどの会社よりも多くの Node.js コア開発者を雇用していると主張しています。Joyent でさえ)。

始めるのもかなり快適だと思いました。構造を学び、最初の概念実証を実行するのに約 1 日かかりました。とてもかっこいい。


箇条書き:

  • プラットフォームのサポート: Windows、Linux、Mac OSX (詳細はこちら)
  • 言語機能のサポート: HTML5、CSS3、Chromium 経由の JS - これまでのところ、問題はありませんが、動画については特にテストしていません。
  • ネイティブ機能:ネイティブ アプリ メニュー、タスク トレイのサポート、グローバル ホットキー、プロトコル ハンドラーのサポート (これまでに見たもの)
  • 拡張性:優れた Node.js 統合。クライアントとサーバーの両方が Node.js モジュールとネイティブを「要求」できます。また、 Bowerライブラリ (jQuery を含む) も問題なくテストできました。
  • アーキテクチャ:他の点でカバーされていますが、一般的に非常にスムーズです。

更新 (2014 年 11 月 25 日): Atom-Shell の正式な使用例はまだ見つかっていませんが、それを使用して、自分で使用するいくつかの小さなアプリを作成しました。最も複雑なのは、プルするアプリです。私のPMソフトウェアから私の時間は記録され、Paypalの請求書が作成されます。

プラットフォームに対する私の意見は依然として肯定的です。それはかなり素晴らしいです。

私の時間請求アプリでは、Bootstrap 3 のDashboard Example Templateといくつかのノード モジュール (bluebird、Paypal SDK、Teamwork PM Client) をうまく取り入れて、やや複雑なアプリを作成しました。数日かかりましたが、うまく機能します。

Atom-Shell について否定的なことは何も思い浮かびません。Atom-Shell は堅牢で、安定しており、高速で、コーディングも簡単です。これが誰かに役立つことを願っています。

于 2014-08-11T13:27:22.660 に答える