2012-01-09 38 views
55

He creado una aplicación utilizando node.js, y estoy interesado en saber si es posible empacar el lado del cliente (js, html, css) y el lado del servidor en una aplicación independiente (eso no requiere navegador)¿Es posible crear aplicaciones de escritorio con node.js?

+0

supongo que quiere decir "por medio de una interfaz de usuario convencional"? No está diseñado para eso, así que dudo que sea muy útil para eso. Usamos nuestros marcos para las cosas para las que están diseñados. nodejs ni siquiera es un lenguaje, así que recuerda eso. Es solo un marco para ejecutar una aplicación de JavaScript contra una VM de JavaScript. – jcolebrand

+2

Esto parece ser parte de un grupo duplicado: http://stackoverflow.com/questions/6145561/is-there-a-way-to-compile-node-js-source-files, http://stackoverflow.com/questions/7557364/packing-node-js-scripts-node-exe-into-a-single-executable, http://stackoverflow.com/questions/8173232/make-exe-from-node-js-app, http : //stackoverflow.com/questions/8794140/is-it-possible-to-create-desktop-applications-with-node-js, http://stackoverflow.com/questions/9724817/how-to-create-a -stand-alone-command-line-application-with-node-js, http://stackoverflow.com/questions/13388108/standalone-node-js-application – Mogsdad

+0

Una buena lista de herramientas está aquí: http: // stackoverflow .com/a/12486874/32679 – GrGr

Respuesta

45

https://github.com/rogerwang/node-webkit es un proyecto con el objetivo de ejecutar una instancia del webkit motor del navegador en el mismo proceso que nodejs. Le permite usar directamente la API de nodos en el navegador. Es actualmente solo funciona en Linux funciona en Windows, Mac y Linux ahora.

+0

Esto se parece a appjs, aunque node-webkit le permite usar funciones de Javascript directamente desde el DOM, mientras que appjs (aparentemente) requiere tanto del lado del servidor como del lado del cliente. –

+0

Además, ¿tiene alguna instrucción para instalar node-webkit? Estoy deseando aprenderlo. –

+1

Ahora parece ser compatible con Linux, Mac OSX y Windows. – counterbeing

8

He estado investigando este tema desde que se anunció el proyecto node-webkit.
Tengo un blog acerca de mis primeros esfuerzos http://csainty.blogspot.com/2012/01/creating-desktop-apps-with-nodejs.html

En la última gota de código ahora se puede especificar una devolución de llamada Closedown aplicación, lo que hace que sea muy fácil ahora crear una instancia de su applicaton y un servidor web localhost cuando se inicia la aplicación. Luego ciérrelo todo limpiamente cuando esté cerrado.

Esto hace que sea bastante fácil portar una aplicación web al escritorio dependiendo de las dependencias de otros servidores que pueda tener.

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(); 
    } 
}); 
+0

Con nwjs no es necesario iniciar los activos estáticos de la aplicación web del servidor web al servidor. Puede establecer "main": "app/index.html" en manifest.json, puede cargar la aplicación web desde archivos locales, y las restricciones de seguridad no se aplicarán, puede hacer ajax, etc. – sibidiba

13

También estoy investigando esto.

AppJS se ve muy prometedor como una aplicación para la construcción de aplicaciones de escritorio multiplataforma usando HTML5, CSS3 y NodeJS. Desafortunadamente para mí, probablemente no esté lo suficientemente desarrollado para mi próximo proyecto.

+0

+1 para un gran descubrimiento. El proyecto se ve bien con varias aplicaciones ya desarrolladas. –

Cuestiones relacionadas