Como todos sabéis Qt es el conjunto de librerías con las que se desarrolla Velneo V7, por lo tanto Velneo y toda la comunidad de desarrollo dependemos de la evolución de Qt. Su evolución nos condiciona para lo bueno y para lo malo, y eso tenemos que tenerlo siempre muy presente. Nos condiciona mucho, por lo tanto, podemos tomar decisiones inadecuadas por culpa del camino que las propias librarías toman (se acuerdan del barco, nosotros también tuvimos que achicar un poco de agua).

Pero si algo tiene de bueno Qt es su evolución y adaptabilidad a las nuevas situaciones. Hoy os voy a hablar de como Qt está evolucionado en las últimas iteraciones y cual es el camino que tomará Qt en la nueva versión Qt 4.8 y 5.0 (Velneo está actualmente compilado con Qt 4.7.2 y dentro de unos meses empezará con 4.8.X).

Qt evolucionará en los próximos meses a una mayor portabilidad, esto significa que pronto podremos disponer de librerías estables y oficiales en Android. Y sin tardar demasiado es posible que en iOS y otras muchas plataformas.

Hablemos del presente Qt 4.7 y 4.8

En las versiones anteriores de Qt podemos destacar como el desarrollo estaba orientado a determinados sistemas de ventanas (X11/Mac/Win) y a determinados sistemas embebidos (Windows CE/Mobile/Symbian/Maemo/Meego).

Su implementación multiplataforma era demasiado concreta y difícilmente portable a nuevas plataformas. Fundamentalmente por requerir de distintas implementaciones de representación de UI para cada sistema operativo.

image

Este diseño era adecuado en el pasado (donde las plataformas estaban claramente definidas en los desktops y teléfonos). Pero las cosas cambian muy deprisa, de repente el mercado Mobile convulsionó (con la salida de iOS) y surgieron varios sistemas operativos (Maemo, Meego, Android, Bada, los de RIM…) y nuevos dispositivos (MID´s, tablet´s, phones, car PC…). Esta explosión obliga a Qt a evolucionar en el apartado multiplataforma mejorando la portabilidad de su código.

Para conseguir este fin Qt desarrolla el proyecto Lighthouse desde hace bastante tiempo.

Por fin este proyecto verá la luz oficialmente y será incluido en la próxima versión de Qt 4.8. Además será fundamental en Qt 5.0.

Para conseguir este objetivo lo que Qt implementa en esencia es:

Un nuevo defined para Lighthouse.

image

Aportar una serie de plugins para facilitar la portabilidad en distintos escenarios.

image

Se implementa un modelo abstracto de representación.

image

Con todo esto se facilitará enormemente la tarea de realizar ports de Qt.

Hablemos del futuro, hablemos de Qt 5

En Qt 5 los principales cambios serán:

  • Hacer mejor uso de las GPU mejorando la representación gráfica con menos consumos de recursos.
  • Facilitar la creación de aplicaciones e interfaces de usuario avanzados. Haciendo la implementación más rápida y fácil (mediante QML y Javascript);
  • Hacer que las aplicaciones estén conectadas a la web de la forma más potente posible.
  • Reducir la complejidad y la cantidad de código necesaria para mantener e implementar un port.

Qt 5 será el inicio de una nueva forma de desarrollar aplicaciones. Ofrecerá toda la potencia de Qt combinada con C++, poniendo el foco en un modelo donde C++ sea la forma de implementar la funcionalidad del backend necesaria para Qt Quick.

Pero no solo cambiará esto en Qt también su enfoque de cara a la comunidad de desarrollo. Qt 4 está siendo desarrollado por Trolltech y Nokia liberando los resultados a la comunidad de desarrollo en cada iteración. En Qt 5 se pretende desarrollar de la forma más abierta posible (gobierno abierto). Será un proyecto open source desde el momento del inicio. No habrá diferencias entre los desarrolladores que trabajen desde fuera o dentro de Nokia.

Lo mejor para saber como evolucionará Qt es estar muy pendiente de los blogs y conferencias relacionadas. Para hacer miga os paso varios enlaces de imprescindible lectura referentes a Lighthouse y Qt.

http://labs.qt.nokia.com/2011/05/09/thoughts-about-qt-5/

http://labs.qt.nokia.com/category/labs/lighthouse/

http://www.youtube.com/user/QtStudios?blend=22&ob=5

4 Comments

  1. Lo primero gracias por tus articulos, y una pregunta por curiosidad. En el video se ve un teclado en pantalla, ¿sabes por que tiene intercambiadas las teclas «Y» y «Z». Un saludo

  2. Sinceramente dudo mucho, que apple acepte cualquier applicación en la app store (al menos con la politica actual, que sea desarollada con otra lenguaje que no sea objective c.
    Como ejemplo a min me a reprovado una aplicación, porque en la pantalla principal tenia el texto «aplicación para iOS / Android», y en el documento de analisis decia que no podria siquiera mencionar otros sistemas operativos de moviles….

    Ahora siempre queda la opción de que las aplicaciones se pasen directamente del ordenador del desarollador al dispositivo final, así no hay que pasar por la app store.

  3. Lo realmente interesante es ver como Qt se está preparando para universalizarse en el mayor número de plataformas. Esto nos beneficia a todos. Al final sea de forma legal o no cualquier plataforma será susceptible de ser portada. Excepto Java (con sus sabidos problemas de fragmentación) pocos están en esta posición a día de hoy.

Responder a jorge.hontoria Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *