ultima para online mac descargar codes code html5 node-webkit electron brackets-shell

html5 - para - ¿Cuáles son las diferencias funcionales entre NW.js, Brackets-Shell y Electron?



brackets ubuntu (5)

Ahora que TideSDK está realmente muerto, he estado buscando ''envoltorios'' alternativos para ejecutar aplicaciones HTML / CSS / JS como aplicaciones de escritorio independientes. Las tres opciones viables que he encontrado hasta ahora son NW.js (anteriormente node-webkit), brackets-shell y Electron (anteriormente atom-shell).

El problema es que no parece haber una comparación suficientemente completa entre los tres en términos de conjunto de características, compatibilidad, etc. Espero convertir esto en un hilo canónico más o menos sobre las diferencias (objetivas) entre los tres, en particular con respecto a:

  • Soporte de plataforma ; sistemas operativos, dependencias, etc.
  • Soporte de funciones de idioma , en lo que respecta a HTML5, CSS3 y JavaScript. Piense en cosas como "¿funciona el video HTML5, y si es así, qué códecs están disponibles?"
  • Funciones adicionales no estándar , como iconos de bandeja, notificaciones emergentes y barras de menús representadas por el sistema operativo.
  • Extensibilidad ; p.ej. capacidad de ''conectar'' el código nativo, hablar con Node.js, y así sucesivamente.
  • Arquitectura ; en particular, las diferencias arquitectónicas que afectan el uso diario como desarrollador.
  • Depuración ; herramientas de desarrollo incluidas, compatibilidad con herramientas de uso común como node-inspector , etc.
  • ... y así.

¿Cuáles son las diferencias objetivas y técnicas que importan al elegir entre ellas como desarrollador de aplicaciones?


Además de ser totalmente compatible con los estándares web, NW.js admite una lista de características no estándar para el desarrollo de aplicaciones nativas, que incluyen:

Hay mucho más para ver en la wiki, incluyendo Menú, Bandeja, etc.


He estado jugando con Atom-Shell en los últimos días, y lo estoy amando hasta ahora.

La mejor parte es que está respaldado por GitHub ... lo que debería permitirle instalarse en la plataforma a largo plazo, especialmente si gana un gran número de seguidores. También es posible gracias a las mejoras directas de Node.js cortesía de un contrato con Atom-Shell , que es un importante colaborador de Node.js (afirman emplear más desarrolladores principales de Node.js que cualquier otra compañía, incluso Joyent).

También me pareció bastante cómodo comenzar. Me tomó alrededor de un día aprender la estructura y ejecutar mi primera prueba de concepto. Muy genial.

Puntos Bullet:

  • Soporte de plataforma: Windows, Linux, Mac OSX ( Más información aquí )
  • Soporte de funciones de idioma: HTML5, CSS3, JS a través de Chromium: hasta ahora, cero problemas, pero no he probado el video específicamente.
  • Características nativas: menús de aplicaciones nativas, soporte de bandeja de tareas, teclas rápidas globales, soporte de manejador de protocolo (que he visto hasta ahora)
  • Extensibilidad: excelente integración de Node.js, tanto el cliente como el servidor pueden "requerir" módulos y nativos de Node.js. También probé con éxito las bibliotecas de Bower (incluido jQuery) sin problemas.
  • Arquitectura: Cubierto en los otros puntos, pero en general es muy suave.

Actualización (25/11/14): Todavía no he encontrado el uso de Atom-Shell en ninguna capacidad oficial, pero lo he usado para crear algunas aplicaciones pequeñas para mi propio uso, la más compleja es una aplicación que tira mi tiempo registra desde mi software de PM y crea facturas de Paypal.

Mi opinión sobre la plataforma sigue siendo positiva. Es bastante impresionante.

En mi aplicación de facturación de tiempo introduje con éxito Bootstrap 3''s Dashboard Example Template y algunos módulos de nodo (bluebird, Paypal SDK, Teamwork PM Client) para crear una aplicación ligeramente compleja. Me tomó unos días y hace bien su trabajo.

Realmente no puedo pensar en nada negativo que decir acerca de Atom-Shell, es sólido, estable, rápido y fácil de codificar. Espero que esto ayude a alguien.


He estado trabajando con brackets-shell desde hace un tiempo, aquí están algunos de mis hallazgos:

  • brackets-shell se desarrolla principalmente como un shell bajo el proyecto IDE de paréntesis, pero el proyecto puede ejecutar cualquier aplicación web. Solo necesita apuntarlo a su propia página html. Clint Berry escribió un excelente tutorial sobre cómo hacer esto: http://clintberry.com/2013/html5-desktop-apps-with-brackets-shell/
  • El proyecto está respaldado por Adobe y tiene mucha actividad
  • La documentación podría ser mejor

  • soporte de plataforma Admite Windows, Mac y Linux. Un paquete de instalador también se puede crear. Solo lo probé en Win y Mac, funciona muy bien.

  • característica de soporte html5, css3, js. El video Html5 no funciona de la caja, pero es muy fácil de habilitar (de manera predeterminada, el archivo ffmpegsumo.dll no se copia en el instalador; si cambias el script para copiarlo, funcionará).
  • características nativas barra de menú, ''abrir archivo con'', acceso al sistema de archivos. No estoy usando ninguno de estos, ya que todo lo que necesito es la comunicación con el proceso del nodo.
  • extensibilidad un nodojs está integrado y puede comunicarse con un nodo desde su aplicación web. De esta manera, puede usar un nodo para acceder al sistema de archivos, etc.
  • arquitectura El proyecto está bien configurado, manteniendo una buena separación entre el proyecto de shell y su propia aplicación web que se ejecuta dentro de él. En su propia aplicación, está disponible un objeto global de appshell que le da acceso a la funcionalidad de corchetes (acceso al sistema de archivos, comunicación con el proceso de nodo, ...).

Hice una investigación similar hace dos meses, y al final fui con node-webkit. El mayor beneficio en node-webkit es node.js y npm. La administración de paquetes de npm es realmente agradable, y el nodo tiene un buen acceso al sistema de archivos.

Brackets-shell se veía interesante, pero aparte de un IDE agradable, realmente no conseguí lo que lo hacía tan bueno o mejor que el resto. Están muy claros de que "el brackets-shell solo se mantiene para el uso del proyecto Brackets", que los gritos se me escapan.

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

Atom-shell parece haber estado activo recientemente, pero parece ser que hay corchetes en realidad están escribiendo y editor / IDE que simplemente está conectado a un tiempo de ejecución webkit. También está construido encima de node.js. Este tiene el inconveniente de ser difícil de buscar cosas en línea sin que se le recuerde la química de su escuela secundaria.

Realmente no quiero un editor nuevo, y la mayoría de los programadores ya tienen su favorito. Para el desarrollo de la aplicación real, prácticamente funcionan igual, y deberían, ya que todos usan webkit. Básicamente escribes 90-95% como un sitio web, y luego lidias con las partes nativas, y algunas configuraciones.

Estas cosas son ciertas para las tres plataformas: se ejecuta en Windows, Mac y Linux. HTML5, CSS3 y Javascript: dado que ejecutan JavaScript, puede descargar y ejecutar casi cualquier biblioteca / marco que desee.

La gran advertencia en webkit es el soporte de códec. Por lo general, tendrá problemas con los códecs de video no libres, a menos que reconstruya el dll / so para darles soporte. Por ejemplo, el node-webkit enviado no reproducirá video mp4.


Una cosa a tener en cuenta (si te importa), es que el electrón oficialmente no es compatible con Windows Vista. La cuota de mercado de Vista se encuentra a medio camino entre OSX 10.9 y 10.10 (ambos son totalmente compatibles con Electron). Vista también sigue siendo compatible con Microsoft hasta 2017.

NW.js funciona bien en Vista, así como OSX 10.9+. NW.js funciona en Ubuntu, Debian, Zorin, Manjaro, Arch y la mayoría de los sistemas operativos Linux basados ​​en Debian. Electron se ha negado a que las PR arreglen errores específicos de Ubuntu en su plataforma, lo cual es preocupante.

NW.js también funciona en XP. Actualmente el 18% del mercado todavía está en XP. Entonces, si su aplicación de escritorio tiene un propósito más general o quiere tener acceso a los usuarios finales aún en XP, probablemente esté mejor con NW.js (0.14.7) ya que Electron solo es compatible con Win 7 o superior.

Si usa NW.js 0.12.3 también puede soportar OSX 10.6+ y versiones muy antiguas de sistemas operativos Linux basados ​​en Debian como Ubuntu y Win XP +. Sin embargo, se recomienda realizar compilaciones especiales solo para esos sistemas heredados y utilizar las versiones más recientes de NW.js para los sistemas operativos más nuevos.