javascript - multiplataforma - ¿Soluciones para distribuir aplicaciones HTML5 como aplicaciones de escritorio?
phonegap (16)
¿Cuáles son algunas soluciones para distribuir una aplicación de escritorio basada en HTML5?
Quiero ser capaz de 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 de mi icono de la aplicación para ejecutar mi programa.
No quiero que se muestre la ventana del navegador, solo mi aplicación. es posible?
Aplicaciones HTML5 en 2014
Marcos por chrome / webkit
Electron (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 único tiempo de ejecución y las aplicaciones pueden ser empaquetadas para Mac, Windows y Linux. ( source )
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 atómicos oficiales.
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 de Node.js directamente desde 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 difícil en los bordes.
Brackets Shell , el sandbox del editor de código Adobes (y base de Adobe Edge)
Nota: El brackets-shell solo se mantiene para el uso del proyecto Brackets. Aunque algunas personas definitivamente han tenido éxito al usarlo como consola de aplicaciones para otros proyectos, no ofrecemos ningún soporte oficial para eso y no hemos hecho mucho trabajo para que el shell de la aplicación sea fácilmente reutilizable. Muchas personas probablemente encuentren 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 un montón de gente que lo hizo, sin embargo.
Frameworks + Herramientas
Adobe AIR , como sugirió otra respuesta.
El tiempo de ejecución de Adobe® AIR® permite a los desarrolladores empaquetar el mismo código en aplicaciones nativas para escritorios de 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 compañía que vende herramientas para desarrolladores de aplicaciones, incluido el desarrollo y la distribución de aplicaciones html5.
Enfoques inactivos
Tide SDK ( archivado en 2015-07-12 en archive.org ), versión beta, suspendido el 12 de julio de 2015
XULRunner de Mozilla puede hacer el truco para usted, pero agrega un poco de sobrecarga.
app.js finalizó el 28 de octubre de 2013 por haber sido superado por ( https://github.com/rogerwang/node-webkit)[node-webkit] .
Porque es simple y sin embargo poderoso. Al usar AppJS, no necesita preocuparse por la codificación multiplataforma o el aprendizaje de nuevos lenguajes y herramientas. Ya estás familiarizado con HTML, CSS y JavaScript. ¿Qué es mejor que esta pila para el desarrollo de aplicaciones? Además, AppJS usa Chromium en el núcleo para que funcione las últimas API de HTML 5. Entonces, concéntrese en la tarea que su aplicación debería hacer.
El Prisma de Mozilla está descompuesto, su slugline fue:
Llevar aplicaciones web a su escritorio
Prism es una aplicación que permite a los usuarios dividir las aplicaciones web de su navegador y ejecutarlas directamente en su escritorio.
Actualmente la respuesta es que hay diferentes soluciones de cada plataforma.
- Para MAC OSX, creará una aplicación Cocoa Desktop con UIWebView
- Para Windows, creará una aplicación de escritorio .NET con un componente de navegador.
Chrome puede hacer lo que hace el prisma Ver - Herramientas-> Crear acceso directo a la aplicación
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 "en el servidor".
Hmmm ... una máquina virtual para HTML5 / CSS / JS ... suena como un navegador. :)
Tal vez Adobe AIR haga el truco, porque está basado en la idea de llevar aplicaciones ricas de Internet al escritorio. Nunca lo he usado, sin embargo.
Una cosa que podrías 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ás desarrollando una Mac, solo deja caer una WebView en la ventana y agrega un código básico para cargar tu html en la aplicación puesta en marcha).
Mira este nuevo proyecto de Mozilla. También puede crear aplicaciones de escritorio: https://developer.mozilla.org/en/Apps
Detalle aquí: http://hacks.mozilla.org/2012/05/desktop-apps-with-html5-and-the-mozilla-web-runtime/
Para teléfonos móviles, puede usar PhoneGap http://www.phonegap.com/ . Probable con algo más de codificación, puedes usarlo para escritorio.
Puede probar Phonegap, hay un puerto de escritorio de Windows: https://github.com/davejohnson/phonegap-windows
Probé el mac-puerto, funcionó bien. No probé la versión de Windows todavía.
Puede usar AppJS que usa Nodejs y Chromium para crear aplicaciones html5 para escritorio. échale un vistazo: app.js Github Link: https://github.com/appjs/appjs
Puede usar un servidor incrustado como Tomcat o tal vez Apache.
Utilizo Tomcat para una aplicación web completa de Java. Ejecute 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 prueba usar webkit
Sencha Sencha Pokki http://www.pokki.com/
Si solo lo necesita para Windows, debe considerar las aplicaciones HTML (HTA), que 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, simplemente conéctese 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>
Un poco tarde, pero puedes 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 modo de kiosco y aplicación.
Algo parecido a los accesos directos a las aplicaciones de Chrome, pero donde instalas Chrome para ellos.
[En Windows solamente] prueba el enfoque de la Aplicación HTML (HTA): simplemente guarda tu archivo .html con la extensión .hta. También proporciona algunos ajustes adicionales para deshacerse de la ventana del navegador, establecer el nivel de confianza para la aplicación, etc. Lea más aquí: http://en.wikipedia.org/wiki/HTML_Application y aquí http://technet.microsoft.com/en-ca/scriptcenter/dd742317.aspx
Adobe AIR está diseñado para permitirle trabajar principalmente en HTML, CSS y JavaScript mientras proporciona una aplicación de escritorio. (Advertencia: en realidad no lo he usado).
Es posible que desee ver XULRunner de Mozilla. En 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 prácticamente todo lo que quiera.
Además, dependiendo de la sofisticación de su aplicación, existen varios marcos de "widgets" (como Dashboard en la Mac, Yahoo Widgets, Windows Gadgets) que son básicamente también tiempos de ejecución de HTML.