ventajas tutorial principiantes para node libro framework ejemplos desventajas javascript macos node.js desktop-application

javascript - tutorial - Empaquetando una aplicación web node.js como una aplicación de escritorio normal



node js tutorial pdf (5)

¿No puedes hacer esto con un script bash? No sé lo suficiente para proporcionar los detalles, pero ese es probablemente el camino a seguir.

He buscado un poco pero no puedo encontrar una herramienta existente para esto.

Tengo un servidor web node.js que está diseñado para ejecutarse en su propia computadora que hace algunas cosas elegantes para usted. Sería bastante increíble si pudiera hacer doble clic en MySnazzyThing.app lugar de instalar nodejs, y npm y ejecutar el node mysnazzyapp.js en la línea de comandos.

El ejecutable .app pondría en cola el servidor de nodo y abriría una ventana webkit nativa simple que mostraría lo que normalmente estaría en localhost:3000 si estuviera ejecutando en la línea de comando.

Esta aplicación nativa podría, por ejemplo, distribuirse a través de la tienda de aplicaciones mac. Y bam, una aplicación de escritorio node.js

¿Existe alguna herramienta de este tipo? ¿O hay razones técnicas por las que esto no funcionaría como lo imagino?


Actualmente hay una gran cantidad de formas de lograr esto.

El claro ganador en el espacio de empaquetado de una aplicación node + html5, actualmente es Electron (utilizado por Atom, VSCode, Slack, Discord, etc.).

También puede usar cualquier otro idioma empaquetado como una aplicación (usando herramientas para esos idiomas / pilas), y verificar la instalación de un nodo, iniciar el script "servidor" con un nodo, luego iniciar el navegador predeterminado (o algún componente de vista web, algún otro medio), finalmente establezca la ubicación en el servicio del nodo. Este es un método ligero y eficiente, pero no tan bien integrado con el sistema operativo como una solución como el electrón.

El principal competidor de Electron aquí, es NW.js. Por lo que puedo decir, la característica principal que NW.js tiene que Electron no (todavía) es la compilación / ofuscación. Mientras que Electron hace que las actualizaciones automáticas sean fáciles.

https://electron.atom.io/ https://nwjs.io/


Opción 1: electron (también conocido como átomo-capa)

Este es el shell que usa el editor Atom de github. Es muy similar a node-webkit, aunque primero ejecutará el script y tendrá que crear una vista / ventana para el usuario. Hay algunas otras diferencias menores, pero vale la pena mirar.

Opción 2: NW.js anteriormente node-webkit

La esencia es que básicamente amplía el motor JS para que usted pueda escribir una aplicación basada en la web que soporte el modelo de objetos extendidos y módulos del nodo ... luego empaqueta sus paquetes.json start.html módulos y archivos js en un zip (con el extensión .nw) y ejecutarlo con nw (.exe) .. hay versiones de windows, mac y linux disponibles.

Opción 3: Thrust ( adaptador de nodo )

Este es un enlace realmente perdido en torno a webkit / chrome con un canal ipc para una aplicación de lanzamiento. Puede usar el canal de mensajes o puede escribir su aplicación como una aplicación más tradicional del lado del servidor en el nodo y controlar el inicio de una ventana. Lo cual puede hacerte sentir bien.

Thrust tiene enlaces para múltiples idiomas. Puse esto delante de MacGapNode solo porque estoy favoreciendo primero las opciones multiplataforma.

Opción 4: MacGapNode (solo OSX)

MacGap con integración de nodo (Parece que se está quedando obsoleto)

Aparte: Servicios ...

No puedo hablar de OSX sobre esto como .App, pero bien podría ser posible crear una instalación de servicio en segundo plano en NodeJS y un enlace a un sitio "local" en el escritorio. La mayoría de los navegadores tienen una opción para no mostrar todas las características (sé que Firefox en particular lo hace).

Sé que su pregunta es para OSX en particular, pero en Windows puede usar NSSM para ejecutar cualquier cosa como un servicio, y lo he usado para servicios basados ​​en NodeJS en Windows. Sin embargo, creo que algunas de las otras opciones anteriores son mejores según tus necesidades.

Remoto:

Esta respuesta se copia para múltiples preguntas, estas referencias son principalmente para actualizar la conveniencia.

  • Empaquetando una aplicación web node.js como una aplicación de escritorio normal [cerrado]
  • Empaque una aplicación Node.js como una aplicación osx


Sugiero buscar en Topcube, su objetivo es "Darles a los desarrolladores de nodos una forma de tener una GUI de escritorio en sus servidores de nodos usando HTML5 + CSS3 como la plataforma GUI". Topcube en github .