¿Soluciones para distribuir aplicaciones HTML5 como aplicaciones de escritorio? [cerrado]


141

¿Cuáles son algunas soluciones para distribuir una aplicación de escritorio basada en HTML5?

Quiero poder distribuir mi aplicación HTML5 como una aplicación de escritorio independiente en Windows, OSX y Linux. Me gustaría que las personas puedan hacer doble clic en el acceso directo del icono de mi aplicación para ejecutar mi programa.

No quiero que se muestre la ventana del navegador, solo mi aplicación. es posible?


44
Chrome + Fullscreen funciona bien
PostMan

2
Chrome en Windows tiene una opción de "hacer acceso directo a la aplicación" desde el menú de herramientas. Creará un enlace en el escritorio que abre una ventana estándar sin barra de direcciones.
6502

3
¿Tiene otros requisitos, como acceder a archivos locales u otras cosas que normalmente no son posibles dentro del navegador?
Tiemen

76
¿Alguien puede explicarme por qué esta pregunta está marcada como no constructiva ? Pregunta si hay una plataforma, la respuesta es objetiva: . Y podría "implementarse" con algunas posibilidades, entonces, ¿por qué está marcado de esta manera?
Francesco Belladonna

10
Esta pregunta es relevante y actual, como se muestra en este artículo reciente: clintberry.com/2013/html5-apps-desktop-2013 .
Por Quested Aronsson

Respuestas:


75

Aplicaciones HTML5 en 2014

Marcos de chrome / webkit

  • Electrón (antiguo Atom Shell)

    Electron es una biblioteca de código abierto desarrollada por GitHub para crear aplicaciones de escritorio multiplataforma con HTML, CSS y JavaScript. Electron logra esto combinando Chromium y Node.js en un solo tiempo de ejecución y las aplicaciones se pueden empaquetar para Mac, Windows y Linux. ( fuente )

    La gente de github usa esto para proporcionar su editor de código Atom como una aplicación. Tiene una API documentada y un canal de ayuda en los foros oficiales de átomos.

  • Node-Webkit , el enfoque más mínimo

    node-webkit es un tiempo de ejecución de la aplicación basado en Chromium y node.js. Puede escribir aplicaciones nativas en HTML y JavaScript con node-webkit. También le permite llamar a los módulos Node.js directamente desde el DOM y permite una nueva forma de escribir aplicaciones nativas con todas las tecnologías web.

    Intel está detrás de esto (?). Me han dicho que es muy duro por los bordes.

  • Brackets Shell , el sandbox del editor de código de Adobes (y base de Adobe Edge)

    Nota: Brackets-shell solo se mantiene para su uso en el proyecto Brackets. Aunque algunas personas definitivamente han tenido éxito al usarlo como un shell de la aplicación para otros proyectos, no proporcionamos ningún soporte oficial para eso y no hemos hecho un montón de trabajo para hacer que el shell de la aplicación sea fácilmente reutilizable. Es probable que a muchas personas les resulte más fácil usar un proyecto como node-webkit, que es más genérico por diseño.

    dice el archivo Léame, pero hay muchas personas que lo hicieron, sin embargo.

Marcos + Herramientas

  • Adobe AIR , como sugirieron otras respuestas.

    El tiempo de ejecución de Adobe® AIR® permite a los desarrolladores empaquetar el mismo código en aplicaciones nativas para computadoras de escritorio Windows y Mac OS, así como iPhone, iPad, Kindle Fire, Nook Tablet y otros dispositivos Android ™, llegando a las tiendas de aplicaciones móviles por más de 500 millones dispositivos.

  • Sencha es una empresa que vende herramientas para desarrolladores de aplicaciones, incluido el desarrollo y distribución de aplicaciones html5.

Enfoques inactivos


77
Mozilla Prism está inactivo ahora
Harshith JV

8
Solo un aviso con Adobe Air. Si planea usar cualquier tipo de solución de plantilla de JavaScript (es decir, manillares, bigote), la mayoría de ellos no funcionan debido a errores de seguridad relacionados con la nueva función () llamadas de JavaScript.
James Parker el

¡Gracias por esa pista tan útil! desafortunadamente no tuve la oportunidad de probar ninguno de los ejemplos enumerados anteriormente todavía. Simplemente los recolecté a través de la investigación.
Samuel Herzog

Puede hacer que su aplicación se ejecute más allá del entorno limitado de seguridad. También tuve ese problema con el sistema de plantillas KendoUI, y pude superarlo. De cualquier manera, cambié de Air a Titanium Desktop, pero actualmente estoy buscando alternativas ya que la implementación del kit de web de Windows de TD tiene serios problemas con los elementos de formulario (entradas / menús desplegables). )
Vasco Costa

Puede considerar Sentenza Desktop para empaquetar la aplicación web HTML5 / CSS3 / JS en la aplicación Mac OS X (.app). Una biblioteca API también está disponible. No requiere ningún framework (como Adobe Air o TideSDK). Implementación de Mac App Store compatible.
Beny

15

Puede usar AppJS que usa Nodejs y Chromium para crear aplicaciones html5 para escritorio. échale un vistazo: http://appjs.com Github Link: https://github.com/appjs/appjs


1
Una similar es node-webkit, tiene algunas características agradables como compilar su javascript usando la instantánea v8. enlace
pillar15

Aviso de desaprobación El proyecto AppJS no se ha desarrollado activamente durante algunos años. Por favor revisa NW.js o Electron en su lugar.
Aaron Franke

10

Es posible que desee ver XULRunner de Mozilla. A un nivel de 10000 pies, el navegador FireFox es una aplicación XULRunner (obviamente una muy sofisticada, pero ...). Pero XULRunner le permite usar Javascript y XML para crear aplicaciones, y la ventana del navegador es uno de esos componentes, por lo que una vez que obtenga su ventana básica, probablemente pueda hacer casi cualquier cosa que desee.

Además, dependiendo de la sofisticación de su aplicación, hay varios marcos de "widgets" (como Dashboard en Mac, Yahoo Widgets, Windows Gadgets) que también son básicamente tiempos de ejecución HTML.


2
Recomiendo mirar XULRunner. Para lo que describe, es ideal y está bien documentado. Chrome también funcionaría igual de bien, supongo, pero no lo he investigado.
Jared Farrish

XUL runner es un marco increíble y muy flexible, pero no está bien documentado como dices. Un novato tendrá que sufrir mucho para comenzar.
esafwan

10

Definitivamente echa un vistazo a Titanium . Justo hoy tomé una aplicación HTML5 funcional y con algunas modificaciones menores pude colocarla en Titanium y empaquetarla para Mac, Windows y Linux.

Y también es compatible con PHP, Python y Ruby si su aplicación requiere un procesamiento "del lado del servidor".


Si desea una solución preempaquetada, creo que esta es la respuesta.
Dylanized

15
Mis experiencias con Titanium han sido terribles: se ve muy bien por fuera, pero está lleno de errores y se convierte en un infierno para usar muy rápidamente. No puedo recomendarlo.
Damián

3
También pensé que sería una buena opción, pero: 1) no podía hacer que se ejecutara un simple "create-new-project / run" en Linux (Ubuntu 11.10) 2) Titanium Desktop se está transformando en un proyecto impulsado por la comunidad ( eso significa que, a menos que alguien tome su código, morirá)
Luis Lobo Borobia

44
Sé que esto es viejo, pero acabo de leer esta respuesta y pasé un tiempo hasta que descubrí que Titanium Desktop estaba muerto. Entonces, ya no es una opción. Por cierto, estoy pensando en crear algo con C # y cromo incrustado, como lo hizo Github en su herramienta para Windows
NicoGranelli

66
Titanium Desktop se ha convertido en TideSDK tidesdk.org
Peacemoon

5

Chrome puede hacer lo que hace Prism Ver - Herramientas-> Crear acceso directo a la aplicación


No sabía que ... +1
arg20

Desafortunadamente, los accesos directos a aplicaciones no están disponibles en Mac.
Shane Holloway


3

Adobe AIR está destinado a permitirle trabajar principalmente en HTML, CSS y JavaScript mientras proporciona una aplicación de escritorio. (Advertencia: en realidad no lo he usado yo mismo).


1
el navegador integrado en AIR es antiguo y nunca se actualizará, así que no lo recomiendo (lo usé en más proyectos)
simion314

@ simion314: Tengo curiosidad, ya que AIR es un proyecto en curso, por qué dice que el navegador "nunca" se actualizará.
TJ Crowder

consulte foros.adobe.com/message/6177332 Adobe trabaja más para la parte móvil de AIR, y en el móvil usan StageWebView y no actualizarán el motor de webkit en AIR, la vista de stagewebview se limita a mostrar cosas, por ejemplo, si intente cargar una biblioteca o aplicación javascript compleja como ckeditor 4 fallará debido a algunas incompatibilidades con el motor de webkit (algunas están relacionadas con el sandboxing pero no todas)
simion314


2

Hmmm ... una máquina virtual para HTML5 / CSS / JS ... suena como un navegador. :)

Quizás Adobe AIR haría el truco, porque se basa en la idea de llevar aplicaciones de Internet enriquecidas al escritorio. Sin embargo, nunca lo he usado.

Una cosa que podría hacer es desarrollar una aplicación de escritorio muy básica que use algún tipo de control de navegador web preempaquetado (por ejemplo, si está desarrollando para una Mac, simplemente suelte un WebView en la ventana y agregue un código básico para cargar su html en la aplicación puesta en marcha).





1

Actualmente la respuesta es que son diferentes soluciones de cada plataforma.

  • Para MAC OSX Creará una aplicación de escritorio Cocoa con UIWebView
  • Para Windows, creará una aplicación de escritorio .NET con un componente de navegador.

Creo que usar una ventana con un componente de navegador tiene varias limitaciones (¿puede acceder al sistema de archivos o mostrar una ventana emergente?), ¿Conoce algún proyecto que no sea este enfoque? ...
clagccs

La mejor respuesta y nadie lo reconoce. En la parte posterior, la mayoría de las soluciones híbridas utilizan un componente de vista web que se comporta como un navegador. ¡Esto es todo lo que necesita, obtenga una vista web, cargue el html / css / js y listo!
Dan Ochiana

1

Puede usar un servidor incorporado como Tomcat o quizás Apache.

Yo uso tomcat para una aplicación web completa de Java. Ejecutar dentro del navegador, pero la aplicación debe estar instalada. El acceso directo para iniciar la aplicación, iniciar el servicio y abrir el navegador.

O intente usar webkit


1

Un poco tarde, pero puede usar una versión portátil de Google Chrome y luego crear una pequeña aplicación de Windows para instalarla, y crear un acceso directo .ink a su --kiosco y modo de aplicación.
Un poco como los accesos directos de aplicaciones de Chrome, pero donde instala Chrome para ellos.


1

Si solo lo necesita para Windows, debe considerar las aplicaciones HTML (HTA), ha sido parte de Internet Explorer desde IE 5 (más de 10 años).

No se requiere servidor, formato HTML completo, acceso completo a recursos locales (incluso puertos COM / USB), increíble. Además, es fácil de depurar con Visual Studio, solo se une a MSHTA.exe

Puede habilitar HTML 5 en HTA con la siguiente metaetiqueta:

<!-- enable html5 features --> 
<meta http-equiv="X-UA-Compatible" content="IE=edge"></meta>

+1 Busque soporte para Linux y Mac también :)
Bhargav Nanekalva
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.