Pregunta

Por el momento, nuestra aplicación utiliza el componente Trident Win32, pero queremos alejarnos de eso por algunas razones, entre las que destaca nuestro deseo de ir multiplataforma.

Estamos viendo WebKit y Gecko , pero me encantaría recibir algunos comentarios antes de tomar una decisión. Estos son algunos de los requisitos más importantes:

  1. Debería ser relativamente rápido, con una huella pequeña. Idealmente, podríamos recortar todo lo que no necesitamos sin demasiado esfuerzo.

  2. La documentación decente es importante. No preveo la necesidad de hacer algo demasiado inusual con él, pero nunca se sabe.

  3. Estamos usando C ++, y nos gustaría trabajar con una arquitectura orientada a objetos bien diseñada, si es posible.

  4. La multiplataforma es imprescindible, y un buen rendimiento sería útil a largo plazo (podríamos terminar portando a plataformas móviles).

¿Hay alguna consideración que deba tener en cuenta antes de tomar una decisión? ¿Alguien ha trabajado con WebKit o Gecko antes? Si es así, ¿hay algún artículo o tutorial que pueda ser útil?

Actualización:

Gracias por las respuestas chicos. Terminamos con Qt 4.5, que incluye WebKit. Estamos muy contentos con esto hasta ahora, de hecho, creo que Qt es probablemente el mejor marco de interfaz de usuario que he usado; La diferencia entre la codificación con las API nativas de Win32 y esto es asombrosa. También es muy fácil de aprender, el único problema importante que tuvimos fue acostumbrarnos al paradigma de señales / ranuras.

¿Fue útil?

Solución

Un poco de historia podría ayudarlo en su decisión. Cuando Apple estaba considerando qué motor usar para hacer Safari, miraron a Gecko, pero decidieron usar KHTML, bifurcarlo y lo llamaron WebKit. Sus razones para hacer esto fueron que Gecko tenía toneladas de restos heredados de Netscape y era mucho más complicado.

KHTML / WebKit era más nuevo y, por lo tanto, tenía menos legado. También fue más limpio, más rápido y mejor documentado.

Uno de los objetivos de Firefox 3 era limpiar la base de código y simplificarla. Por lo que escuché, hicieron esto, pero no sé cómo se compara con las iteraciones actuales de WebKit. Aparentemente no fue suficiente para Google cuando crearon Chrome, y tienen una participación significativa en Firefox.

Consulte aquí para obtener más detalles.

Otros consejos

Soy parcial, pero si no le importa usar (LGPL-ed) Qt, ¿qué pasa con el uso de QtWebKit ? Es bastante fácil de insertar, multiplataforma, por supuesto, tiene una buena demostración del navegador web y también otras ejemplos relacionados .

Depende de tus necesidades. Incluso Webkit puede ser excesivo si solo desea mostrar HTML antiguo. En algunas de mis aplicaciones, uso wxHTML en su lugar. Es un componente de la biblioteca wxWidgets (aunque no estoy seguro si puede usarlo sin wx). Es liviano, admite solo elementos HTML básicos (es posible que en la próxima versión esté disponible algún soporte de CSS) y tiene un control wxHtmlEasyPrinting realmente agradable que brinda una vista previa de impresión agradable y también imprime muy bien. En cuanto a multiplataforma, wxWidgets funciona en Windows, Linux, Mac y algunos otros sistemas, por lo que seguramente se ajuste a sus requisitos.

No recomiendo ir por el camino de Gecko. Es posible integrarlo, pero es mucho más difícil de hacer que KHTML / Webkit, simplemente porque Gecko no se creó teniendo en cuenta la integración.

Creo que sugeriría el motor WebKit de Safari / Chrome que se derivó de KHTML, el motor de representación de Konqueror.

Intente optar por Webkit, ya que lo utilizan muchos navegadores diferentes (Konqueror, Safari y Google Chrome). Esto hace que Webkit sea más versátil y más adaptable a otras necesidades.

El desarrollo de Gecko está muy vinculado con Firefox. Se realizan muchas modificaciones en Gecko porque Firefox las dicta. Por ejemplo, Firefox 3 decidió que iba a bloquear todos los certificados autofirmados por motivos de seguridad. La implementación se ha realizado en el motor de Gecko, lo que significa que cualquier aplicación que decida incrustar Gecko tiene esta restricción de seguridad añadida.

Si puede quedarse con Webkit, ya que es principalmente un motor de representación para páginas HTML. Eso ha sido desarrollado con la intención de ser utilizado entre diferentes navegadores web. Si bien Gecko es principalmente el motor de renderizado de un solo navegador que ofrece una API para incrustar.

Entiendo que Webkit es bastante bueno & amp; más pequeño que Gecko. Se supone que Gecko tuvo una renovación recientemente, lo que lo hace bastante comparable, sin embargo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top