web-dev-qa-db-ja.com

node.js webappを通常のデスクトップアプリとしてパッケージ化する

少し検索しましたが、このための既存のツールが見つかりません。

Node.js Webサーバーがあります。これは、あなたのコンピューターで実行するように設計されており、すばらしい機能を提供します。ダブルクリックできたら_MySnazzyThing.app nodejsをインストールする代わりに、npmを実行してnode mysnazzyapp.jsコマンドラインで。

.app実行可能ファイルはノードサーバーをスプールし、単純なネイティブWebkitウィンドウを開きます。このウィンドウは通常localhost:3000コマンドラインで実行していた場合。

このネイティブアプリは、たとえば、Macアプリストアを通じて配布できます。そして、node.jsデスクトップアプリであるbam。

そのようなツールは存在しますか?それとも、私が想像するようにこれが機能しない技術的な理由はありますか?

86
Alex Wayne

AppJSを使用してこれを実現できます。 https://github.com/appjs/appjs

21
Motin

オプション1: 電子 (別名atom-Shell)

これはgithubのAtomエディターが使用するシェルです。node-webkitに非常に似ていますが、最初にスクリプトを実行し、ユーザーのビュー/ウィンドウを作成する必要があります。いくつかの小さな違いがありますが、見る価値はあります。


オプション2: NW.js 以前はnode-webkit

要点は、ノードの拡張オブジェクトモデルとモジュールをサポートするWebベースのアプリを作成するために、基本的にJSエンジンを拡張することです...そして、package.json start.htmlモジュールとjsファイルをZipにパッケージ化します( .nw拡張子)、nw(.exe)で実行します。Windows、Mac、Linuxのビルドが利用可能です。


オプション3: Carlo chrom(ium)Nodeからのシェル。

これにより、ローカルで実行されているサーバーアプリケーションに接続できるシェルとして、ローカルにインストールされたChromeを起動できます。ローカルクロームが必要ですが、要求に非常に近いです。


オプション4: MacGapNode (OSXのみ)

MacGap with Node Integration(古くなっているようです)


余談:サービス...

私はOSXについてこれを.Appとして話すことはできませんが、NodeJSにバックグラウンドサービスインストールを作成し、デスクトップ上の「ローカル」サイトへのリンクを作成することは可能です。ほとんどのブラウザには、すべての機能を表示しないオプションがあります(特にfirefoxには表示されます)。

あなたの質問は特にOSXに対するものであることは知っていますが、WindowsではNSSMを使用してサービスとして何でも実行でき、WindowsでNodeJSベースのサービスに使用しました。上記の他のオプションのいくつかは、あなたのニーズに応じてより良いと思います。


削除されました:


この回答は複数の質問のためにコピーされています。これらの参照は主に更新の利便性のためです。

90
Tracker1

Topcubeを検討することをお勧めします。「ノード開発者に、GUIプラットフォームとしてHTML5 + CSS3を使用して、ノードサーバーにデスクトップGUIを提供する方法を提供する」ことが目標です。 githubのTopcube

8
Brian Heese