Ayer se libero la Technology Preview de Qt Mobility 1.2, ademas del código fuente, esta versión viene acompañaba de paquetes RPM para dispositivos compatibles con MeeGo (no así de paquetes SIS para Symbian, si desean usar esta TP en Symbian deberán compilarlo ustedes mismos), el objetivo principal de esta versión es el soporte para MeeGo y se espera que este finalizada justo para el lanzamiento de MeeGo 1.2 en abril del año que viene.
Para mas información acerca de las novedades de esta versión y de los problemas conocidos no dejen de leer el anuncio de lanzamiento, en cambio si son nuevos en Qt Mobility el vídeo a continuación es una buena introducción.
Hace unos días escribía sobre como colaborar con Qt, pues a la lista anterior debemos ahora agregar el grupo Qt Latam en Qt Developer Network, la función de grupos fue presentada hoy y aun esta en beta, así que si se unen y encuentran algún problema o tienen alguna idea interesante que puede ser incorporada solo tienen que dejar su feedback.
El grupo de Qt Latam pronto va a contar con su propia sección en los foros de Qt DevNet y si los miembros así lo requieren podemos tener nuestra propia wiki, independiente de la wiki oficial de Qt DevNet, esta es la primera iteración de la función de grupos, mas funcionalidades se irán agregando en el futuro.
Así que ya saben, hay un nuevo espacio para seguir aprendiendo y colaborando, los espero.
Colaborar con un proyecto Open Source puede sonar intimidante, uno se imagina que la única forma de hacerlo es aportando código y que tiene que pasar por el escrutinio de hackers veteranos antes de poder hacer alguna contribución que agregue valor al proyecto, nada mas alejado de la realidad, ya que un proyecto Open Source no todo es código, hay muchas áreas en las que uno puede colaborar, lo importante es tener ganas y saber como y donde hacerlo.
La comunidad que gira en torno a Qt tiene sus años y esta madura y bien organizada pero ello no quita que haya muchas cosas aún por hacer, a continuación tienen un lista de lugares y las respectivas tareas que pueden realizar en ellos.
Reportando, comentando y votando bugs, también puedes pedir nuevas características y dejarlas a consideración del equipo de desarrollo y de la comunidad.
También puedes colaborar creando un blog, contando tus experiencias, escribiendo tutoriales, aplicaciones de ejemplo, grabando screencasts y participando en grupos locales y asistiendo a charlas.
Como ves hay muchas formas de colaborar con Qt y en el siguiente vídeo Alexandra Leisse repasa estas y otras maneras para comenzar a ayudar y pasar a ser un miembro activo de la comunidad Qt.
Lo bueno de QML es que permite que casos de uso como una simple vista Maestro Detalle pueda ser mejorada agregando animaciones y layouts personalizados con muy poco esfuerzo.
El ejemplo a implementar es muy simple, vamos a usar un archivo XML como data source y para presentar los datos vamos a usar un GridView en donde seleccionaremos el item a mostrar en en el ListView que hace las veces de details view.
La acción central ocurren en el delegate usado para poblar el GridView el cual espera a que se haga click en alguno de los items, para pasar el index al ListView y disparar la animación que remueve el GridView de la escena para cambiar la opacidad del ListView de 0 a 1 para poder hacerlo visible, por ultimo hay en elemento Text que hará de botón para volver a la vista original.
Consumir XML en QML es algo casi trivial, para ello contamos con el elemento XmlListModel que hará de data source de un ListView en el ejemplo a continuación, el XmlListModel cuenta con una id, un source, que en este caso hace uso de la Weather API de Yahoo, luego vienen los XmlRole los cuales describen los datos expuestos, cada uno de ellos tiene un name que sera usado luego para poder acceder a la data del role.
A continuación tenemos un delegate, en donde especificamos que datos vamos a consumir, el layout y la apariencia que tendran, por ultimo el ListView usa el model y el delegate que previamente configuramos, en este caso solo muestra un item (ver imagen abajo) ya que nuestra query solo devuelve un dato, pero si el data source devolviese mas items, cada uno de ellos poblarían el ListView, como bonus, el ListView cuenta con kinetic scroll, el cual nos da unos puntos extras en el apartado de UX con 0 esfuerzo por parte nuestra.