2009-08-09 12 views
7

Planeo escribir un Desktop Client para Windows y Mac. Será impulsado por técnicas web (HTML + JS). Por lo tanto, se ejecutará en un motor WebKit en el escritorio del usuario.Framework para (HTML + JS) Desktop Client

Recientemente, vi un enfoque interesante para este problema: Appcelerator Me encanta su concepto básico, pero no quiero depender de sus servicios. En cambio, quiero tener control total sobre el programa WebKit, que carga mi aplicación.

¿Existen marcos de WebKit de código abierto decentes para crear aplicaciones de escritorio? Se aprecian las funciones de integración de escritorio, como Growl-support y demás.

Saludos,

Stefan


Actualización: No estoy en busca de Adobe Air ;-)

Respuesta

11

Además de Appcelerator, conozco dos frameworks gui de escritorio que tienen un componente de navegador que envuelve webkit: GTK + y Qt. Puede hacer que el componente del navegador llene la ventana de su aplicación y escribir la mayoría (o todas) de la aplicación en HTML + CSS. Si le gusta el lenguaje Python o su biblioteca estándar muy significativa, puede usar los enlaces python pyQt o pyGTK.

Una alternativa más "fornida" a Prism, si está dispuesto a usar el motor Gecko, es XULRunner (https://developer.mozilla.org/En/XULRunner). Si bien Prism es un conjunto de enlaces ligeros al escritorio para una aplicación web, XULRunner le permite crear una aplicación completa como Firefox o Thunderbird, etc. Aunque muchas aplicaciones XULRunner están escritas con XUL, es fácil escribir toda la aplicación usando HTML/CSS dentro de un solo componente XUL WebBrowser, y su javascript aún tiene toda la potencia de una aplicación de escritorio nativa.

He escrito un par de aplicaciones de escritorio con XULRunner. Casi todos los códigos de las aplicaciones son HTML/CSS/Javascript, pero he incluido el framework de Python (a través de pyXPCOM y pyXPCOMext) y he escrito una capa delgada que expone algunas funcionalidades de Python al Javascript. Los componentes de Mozilla que vienen con XULRunner le brindan una cantidad decente de funcionalidad de forma gratuita, pero si necesita más funcionalidades o una biblioteca de programación con todas las funciones, Python hará el truco. También hay enlaces a Java. O bien, si desea utilizar bibliotecas C o C++, puede compilar XULRunner desde cero.

Actualización: Algunas cosas han cambiado desde que originalmente escribí lo anterior en 2009. Por un lado, el proyecto Prisma fue eliminado de Mozilla Labs y posteriormente se suspendió por completo a finales de 2011 (http://www.salsitasoft.com/2011/09/08/discontinuing-webrunner/). Una alternativa que vale la pena mirar es https://github.com/rogerwang/node-webkit.

Diciembre de 2014 Actualización: Otra opción reciente es GitHub's Atom Shell.Utiliza el módulo de "contenido" de Chromium, al igual que node-webkit y Chromium Embedded Framework (y lo publica como una lib independiente: https://github.com/brightray/libchromiumcontent). Una diferencia importante con node-webkit es que en lugar de fusionar el bucle de eventos del nodo con el bucle de eventos de Chromium, Atom los lanza en procesos separados y utiliza una mezcla de sincronización y mensajes entre procesos asíncronos para comunicarse entre ellos.

Si está interesado en incrustar Chromium en una aplicación C++ o .Net, también existe Awesomium.

+0

Vaya buena llamada a XULRunner. Vale la pena señalar que desde Firefox 3, [XULRunner viene con Firefox] (https://developer.mozilla.org/en/XULRunner_tips#Using_Firefox_3_to_run_XULRunner_applications)! Simplemente haga un script que use el ejecutable de Firefox para iniciar su aplicación XUL: 'path/to/firefox -app path/to/application.ini'. – styfle

1

Si no está absolutamente comprometido con WebKit, recuerdo algo sobre una proyecto para que pueda hacer algo similar con el motor de Firefox. Básicamente, una ventana minimalista alrededor del renderizador gecko más Gears y atajo de escritorio para su aplicación. Sin embargo, no puedo encontrar un enlace por el momento.

+0

¿Está escribiendo sobre http://prism.mozilla.com/? Lo probé hace algunos meses, pero para mí se parece demasiado a un navegador. Hm, tal vez debería construir algo personalizado. – Stefan

3

La plataforma Appcelerator es open source, por lo que no depende de la compañía; siempre podría piratear el código a su alrededor si quisiera. Si desea más control, siempre puede simplemente hook directly into WebKit. El Gecko equivalente a AIR/Appcelerator Joel se refiere probablemente a Mozilla Prism.

+0

Robert, gracias por los enlaces. Muy interesante. – Stefan

Cuestiones relacionadas