2010-04-13 11 views
13

XulRunner/Gecko parece ser realmente interesante para desarrollar aplicaciones intensivas en GUI (mediante el uso de tecnologías ampliamente utilizadas como HTML/CSS/SVG/XUL/Javascript). Pero la subyacente C++ APIS (XPCOM, NECKO, ...) parece tan antigua y compleja. Además, la falta general de documentación/herramientas de desarrollo es realmente aterradora.¿es XULRUNNER adecuado como reemplazo para otros frameworks de aplicaciones de escritorio C++ como QT?

Por otro lado, QT tiene una plataforma bastante agradable, y está bien documentada y admitida. La parte UI es realmente "tradicional" sin embargo.

¿Cuáles son sus experiencias con XULRUNNER, especialmente en comparación con otros marcos de aplicaciones de escritorio de C++ como QT/GTK/MFC ...? ¿Lo que falta? ¿Qué es asombroso?

Pregunta adicional: si quisiera migrar una aplicación MFC existente a una plataforma de escritorio multiplataforma C++, ¿sería prudente usar XULRUNNER en lugar de QT o GTK?

+0

Preste atención a las señales de advertencia: XulRunner conduce a un callejón sin salida. Date la vuelta ahora antes de que tengas demasiada inversión. Desarrollé un complemento de Firefox en XUL anteriormente, y digamos que preferiría no volver a hacerlo. – 10basetom

+0

@ 10basetom, gracias por este importante comentario. He hecho esta pregunta hace 6 años, y en ese momento, todavía era algo a considerar. ¡Hoy está claro que esto es un callejón sin salida! –

Respuesta

6

No hay tantas aplicaciones creadas usando XulRunner, que yo sepa. Y debería saberlo, ya que yo era Tech Lead para uno de ellos e intentamos contratar gente con experiencia. En retrospectiva, esto no me sorprende. Nuestra decisión de usar XulRunner fue hecha por un no desarrollador, en contra de mi consejo. Muchas cosas tardaron el doble de tiempo que habrían tomado en wxWidgets, que utilizamos antes. Ahora también he usado Qt en otros proyectos, y debo decir que es incluso mejor que wxWidgets. De modo que puedo afirmar con bastante fiabilidad que Qt será más del doble de eficiente que XulRunner, y además tendrá un mucho que le facilitará encontrar desarrolladores experimentados.

Claro, Javascript en XulRunner es agradable. Pero Qt también viene con QtScript, que envuelve JavaScriptCore. Y cuando se trata de construir UI verdaderamente ricas, es decir, más que solo una pila de imágenes, HTML + SVG + CSS + JS simplemente no lo cortan. Fueron desarrollados para facilitar las cosas simples, no para hacer cosas complejas posibles. Solo mira la característica más nueva, video. La solución de HTML5: una etiqueta, y dejar que algún código C++ detrás de escena haga el trabajo real. Aunque el video es solo una gran pila de imágenes que se muestran de a una por vez.

Entonces, el problema no es tanto que falten cosas. Es solo que el desarrollo es lento y el resultado es lento.

Por el lado impresionante, el mecanismo de complemento en realidad funciona bastante bien.

Ahora, todo esto se aplica si comienza desde cero. Si ya tiene un montón de código MFC/C++, quédese con C++ y elimine solo la parte MFC. Eso significa que Qt o posiblemente wxWidgets son los ganadores obvios.

2

No creo que quieras escribir el código XUL en C++. El objetivo de las API de XPCOM, etc. es que pueda interactuar con las bibliotecas de C existentes o si necesita escribir cosas específicas de la plataforma que requieran llamar a API fuera del motor de JavaScript.

Si desea escribir una aplicación GUI multiplataforma en javascript, aunque podría ser lo que está buscando.

1

No estaba en ese equipo, pero la aplicación de escritorio joost usaba XULRUNNER para la interfaz de usuario. Aunque es una opción, personalmente no lo tocaría con un stick para GUI multiplataforma. De hecho, mi experiencia demuestra que tener una única aplicación multiplataforma siempre será insatisfactorio.

Mi sugerencia: dividir la funcionalidad de su aplicación central y crear interfaces de usuario nativas para la plataforma que necesite. Obtendrás una experiencia de usuario mucho mejor.

6

Para ser honesto, yo no estoy de acuerdo que no hay muchos XULRunner aplicaciones por ahí ... hay un montón, estos son sólo algunos de los que tiene conocimiento de Mozilla:

https://developer.mozilla.org/en/xulrunner_hall_of_fame

developer.mozilla.org/en/List_of_Mozilla-Based_Applications

Esto, por supuesto, excluye a Firefox y Thunderbird.

Nuestra propia está en la lista www.redbacksystems.com/liaison/

he estado desarrollando en esta plataforma desde alrededor de 2003 y me encanta, les da la opción Nunca haría programa en cualquier otra plataforma ahora.

¿Por qué querría escribir en QT o GTK cuando puede escribir en estándares simples compatibles con JavaScript/ECMA incluyendo E4X, con excepcional compatibilidad con CSS y XML, incluyendo XBL (aunque sea 1.0), RDF, XML Templating, remoto actualización, complemento y extensión, etc, etc., y ni siquiera me inicie en la geolocalización o el soporte de SQL nativo.

Si no puede arrancar una aplicación XULRunner bastante completa en unos pocos días, entonces probablemente tenga algo muy mal. Se requerirá cualquier otro esfuerzo de codificación, independientemente de su plataforma de implementación.

Para mí, el kit de herramientas de Mozilla es la plataforma de elección sin excepción.

Por cierto, según tengo entendido, Joost tenía desafíos específicos ya que estaban escribiendo/implementando sus propios videoredes y también intentando contenido de DRM.

+0

¿Qué vas a hacer ahora que Mozilla ha dejado de utilizar Xulrunner y está desaprobando XUL/XPCOM? – Wyatt8740

Cuestiones relacionadas