martes, 14 de mayo de 2013

Introducción al Framework Qt 5 para el desarrollo de aplicaciones multiplataforma.

clip_image001

Muchos desarrolladores de software están complacidos con las mejoras que trae la nueva versión de Qt 5. Esta versión pone el foco en Qt Quick, en la experiencia de usuario y en la aceleración gráfica basada en OpenGL/OpenGLES. Esta versión también perfecciona el rendimiento, la funcionalidad y la facilidad de implementación en todo tipo de proyectos, desde apps de escritorio a móviles.

Para los que no lo conocen, Qt es un framework multiplataforma ampliamente usado para desarrollar aplicaciones con interfaz gráfica de usuario, así como también para el desarrollo de programas sin interfaz gráfica, como herramientas para la línea de comandos y consolas para servidores. Qt es desarrollada como un software libre y de código abierto a través de Qt Project [1] donde participa tanto la comunidad, como desarrolladores de Nokia, Digia y otras empresas. Qt es distribuida bajo los términos de Licencia GNU LGPL 2.1, GNU GPL 2 y 3, por otro lado Digia está a cargo de las licencias comerciales. Qt utiliza el lenguaje de programación C++ de forma nativa, adicionalmente puede ser utilizado en varios otros lenguajes de programación a través de bindings. Funciona en todas las principales plataformas, y tiene un amplio apoyo. El API de la biblioteca cuenta con métodos para acceder a bases de datos mediante SQL, así como uso de XML, gestión de hilos, soporte de red, una API multiplataforma unificada para la manipulación de archivos, ficheros, estructuras de datos tradicionales y otros.

¿Qué hay de nuevo en Qt 5?

  • Muchas mejoras gráficas y de rendimiento. Especialmente orientadas a entornos embebidos y móviles. Qt Quick 2 aporta grandes avances, basado en OpenGL incluye un sistema de partículas y una colección de efectos avanzados. También incluye soporte esencial para Qt Multimedia.
  • Productividad y flexibilidad para el desarrollador. JavaScript y QML son el centro de Qt 5 manteniendo la compatibilidad y funcionalidad plena sobre C++. Qt WebKit 2 hará que HTML5 sea otra opción más para nuestros desarrollos.
  • Facilita la portabilidad. Ahora todo es más sencillo para los desarrolladores gracias a la nueva estructura de Essentials y de la estructura modular.
    • Essentials :Qt Core, Qt GUI, Qt Multimedia, Qt Network, Qt Qml, Qt Quick, Qt SQL, Qt Test, Qt WebKit, Qt WebKit Widgets, Qt Widgets.
    • Add-ons : Qt D-Bus, Qt Graphical Effects, Qt Image Formats, Qt OpenGL, Qt Print Support, Qt Declarative, Qt Script, Qt Script Tools, Qt SVG, Qt XMLand Qt XML Patterns.

Así pues Qt 5.0 final trae mejoras en varios aspectos: rendimiento, funcionalidad y facilidad de implementación en todo tipo de proyectos, desde apps de escritorio a móviles, siendo este último punto de especial interés para los desarrolladores ya que Digia promete la mayor integración posible con Android e iOS a medio plazo.

Técnicamente Qt integra un nuevo código modular (núcleos para el desarrollo de apps y servicios y complementos que pueden ser añadidos sólo cuando se necesita) que mejora la capacidad multiplataforma del toolkit además de que mejora y reduce (en muchos casos) el tamaño final de las apps creadas con este toolkit.

Respecto a los gráficos se ha optado por OpenGL ES. Las opciones para integrar la navegación web se han mejorado gracias a las optimizaciones en HTML5 así como en el soporte para Qt 4. Es decir, lo que técnicamente se llama retrocompatibilidad.

Qt5 presenta algunas novedades, como añadidos en el núcleo (JSON, más y mejor soporte de C++11), uso de una plataforma de abstracción (QPA) que facilitará completar el porte a Android e iOS, el uso de XCB en lugar de Xlib en X11, una nueva API multimedia, mejoras en los métodos de entrada, más funcionalidad en el módulo de red, grandes progresos en QtWebkit, y algunos detalles más. Otro aspecto importante es el uso de Qt Quick 2, que permite crear fácilmente interfaces de usuario vistosas en un lenguaje declarativo (QML, muy similar a JSON) haciendo uso de funcionalidades gráficas potentes, y dejando lo más pesado al código nativo, o programando las partes de la interfaz que necesiten código imperativo en JavaScript.

Esto es todo por hoy, en próximos artículos estaremos abordando otros temas relacionados al framework Qt; cuya popularidad sigue en aumento, vale destacar que es usado en: Autodesk Maya, The Foundry's Nuke, Adobe Photoshop Album, Google Earth, Skype, VLC media player, VirtualBox, Dassault DraftSight, y Mathematica, y por la Agencia Espacial Europea, DreamWorks, HP, KDE, Lucasfilm, Panasonic, Philips, Samsung, Siemens, Volvo, Walt Disney Animation Studios y Research In Motion.


¿Te ha gustado este Post? Compártelo con tus amigos.

No hay comentarios:

Publicar un comentario

IconIconIcon