web-dev-qa-db-de.com

Ist es möglich, Desktop-Anwendungen mit node.js zu erstellen?

Ich habe eine Anwendung mit node.js erstellt und bin gespannt, ob es möglich ist, die Clientseite (js, html, css) und die Serverseite in eine eigenständige Anwendung zu packen (für die kein Browser erforderlich ist).

58
itamarb

https://github.com/rogerwang/node-webkit ist ein Projekt mit dem Ziel, eine Instanz der Webkit-Browser-Engine im selben Prozess wie nodejs auszuführen. Hiermit können Sie die Nodes-API direkt im Browser verwenden. Es funktioniert derzeit nur unter Linux Funktioniert jetzt unter Windows, Mac und Linux.

45
thejh

Ich untersuche das auch.

AppJS sieht als API für die Erstellung plattformübergreifender Desktop-Apps mit HTML5, CSS3 und NodeJS sehr vielversprechend aus. Leider ist es für mein nächstes Projekt wahrscheinlich nicht gut genug entwickelt.

13
benedict_w

Ich habe genau dieses Thema untersucht, seit das Node-Webkit -Projekt angekündigt wurde.
Ich habe einen Blogbeitrag über meine frühen Bemühungen http://csainty.blogspot.com/2012/01/creating-desktop-apps-with-nodejs.html

Im letzten Code-Drop können Sie jetzt einen Rückruf zum Beenden der Anwendung angeben, wodurch es jetzt einfach ist, Ihre Anwendung und einen lokalen Host-Webserver zu instanziieren, wenn die Anwendung gestartet wird. Schließen Sie dann alles sauber, wenn es geschlossen ist.

Dies macht es ziemlich einfach, eine Webanwendung auf den Desktop zu portieren, je nachdem, welche anderen Serverabhängigkeiten Sie haben.

var nwebkit = require('node-webkit'),
    http = require('http');

var server = http.createServer(function (req, res) {
    // If you need it you can create a local web server
    // You can also use express etc if preferred
    }).listen(3000, '127.0.0.1');

nwebkit.init({
    'url': 'index.html',
    'width': 800,
    'height': 600,
    'onclose': function() {
       server.close();
    }
});
9
Chris Sainty

sie können eine Desktop-App mit Qt with node schreiben

siehe diese Bindung

https://github.com/arturadib/node-qt

7
MhdSyrwan
0
alessioalex