¿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?

foreyez
fuente
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

Samuel Herzog
fuente
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

Morteza Milani
fuente
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.

Will Hartung
fuente
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".

Ggutenberg
fuente
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

usuario822746
fuente
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).

TJ Crowder
fuente
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).

Jeff
fuente
1

Para teléfonos móviles, puede usar PhoneGap http://www.phonegap.com/ . Probablemente con algo más de codificación puede usarlo para escritorio.

usuario977828
fuente
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.
Mustafa Hanif
fuente
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

Bruno Tafarelo
fuente
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.

Franco
fuente
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>
William Walseth
fuente
+1 Busque soporte para Linux y Mac también :)
Bhargav Nanekalva