Y ya que sabemos qué es un SDK, ¿Qué es Qt?
Según la web oficial de Qt: “Qt es una aplicación multi plataforma y un framework de Interfaz de Usuario. Incluye una librería multiplataforma, herramientas de desarrollo integradas y un IDE multi plataforma. Usando Qt, puedes escribir aplicaciones web y luego desplegarlas en entornos de escritorio para otras plataformas y sistemas operativos embebidos sin necesidad de reescribir el código fuente”.
Wikipedia nos dice:
“Qt es una biblioteca multiplataforma ampliamente usada para desarrollar aplicaciones con una 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 utilizada en KDE, un entorno de escritorio para sistemas como GNU/Linux o FreeBSD, entre otros. 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. También es usada en sistemas informáticos empotrados para automoción, aeronavegación y aparatos domésticos como frigoríficos.
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 y una multitud de otros para el manejo de ficheros, además de estructuras de datos tradicionales. Distribuida bajo los términos de GNU Lesser General Public License (y otras), Qt es software libre y de código abierto.
Es producido por la división de software Qt de Nokia, que entró en vigor después de la adquisición por parte de Nokia de la empresa noruega Trolltech, el productor original de Qt, el 17 de junio de 2008.4 Nokia anuncio que va a detener sus desarrollos en Symbian para usar la plataforma de Microsoft para sus teléfonos inteligentes en Febrero de 2011. En marzo del mismo año, anunciaron la adquisición de las licencias comerciales de Qt por Digia PLC, aunque Nokia continúa como la fuerza de desarrollo principal detrás de la librería.
Qt es utilizada principalmente en Autodesk Maya, Dassault DraftSight, Google Earth, KDE, Adobe Photoshop Album, la Agencia Espacial Europea, Opie, Siemens, Volvo, Walt Disney Animation Studios, Skype, Qt Extended, VLC media player, Samsung, Philips, Panasonic, VirtualBox y Mathematica”.
En resumen, Qt es un framework de desarrollo de software, su poder está en sus librerías que abarcan una gran variedad de tareas, desde el manejo de base de datos, creación de interfaces gráficas de usuario, el manejo de sockets, soporte para programación multihilo, comunicación con bases de datos, manejo de cadenas de caracteres, el tratamiento o creación de gráficos 3D (y muchas, muchas cosas más). Para empezar a trabajar con él, podemos bajar gratuitamente el SDK de Q, que incluye todas las herramientas para el desarrollo de software con ese framework: un IDE llamado Qt Creator, un compilador (MinGW para Windows y gcc para Linux), y un Diseñador de interfaces de tipo WYSIWYG llamado Qt Designer, así como otras herramientas opcionales como Qt Translator y Qt Linguist para crear aplicaciones multilenguaje y Qt Assistant que posee la documentación completa de las librerías de Qt. Hay quienes lo comparan con Visual Basic u otros frameworks de desarrollo como .NET de Microsoft o Swing de Java, pero algunos no son multiplataforma (son solo para Windows) así como muchos otros que son solo para Linux, otros porque su rendimiento es pobre para medianas aplicaciones aparte de que no son software libre.
Qt utiliza C++ de manera nativa, pero ofrece soporte para otros lenguajes como Python mediante PyQt, Java mediante QtJambi, o C# mediante Qyoto. Con Qt podemos desarrollar aplicaciones para dispositivos móviles, como Android (por ahora, solo bajo Linux), Maemo, Meego, Symbian. Eso sí, las aplicaciones desarrolladas con Qt son compiladas, no son al estilo java que corren sobre una máquina virtual, ni como las de Pyton que son interpretadas, sino más bien, se valen de la API nativa para la cual fueron desarrollados. Así, si estamos trabajando en Windows, pero estamos desarrollando una aplicación que queremos que corra tanto en Windows como en Linux, la compilamos primero para Windows y luego la compilamos para Linux o viceversa. Y obtenemos así, dos productos que hacen lo mismo, con el mismo código, pero para plataformas distintas con una interfaz casi similar solo que cambia el estilo de los gráficos según el motor de gráficos de cada SO (como por ejemplo GNOME o KDE). Debo recalcar, que si hacemos uso explícito de la API de Linux o Windows o cualquier otro SO en la aplicación que desarrollamos, deberemos cambiar esos llamados a esas APIs cada vez que queramos compilar para un SO en específico. Por ejemplo, en mi aplicación puedo llamar a la calculadora del sistema a través del Shell de Linux, perfectamente desde mi aplicación Qt. Si compilo esa aplicación para Linux, no habrá problemas. Pero si la compilo para Windows, si lo habrá, porque el comando para llamar a la calculadora en Linux no es el mismo que se usa para llamar la calculadora en Windows. O bien podemos cambiar esa línea al momento de recompilar, o bien podemos, soportar todos los casos dependiendo del SO, donde se esté ejecutando la aplicación; queda a elección nuestra.
En conclusión, Qt será tu mejor amigo a la hora de hacer aplicaciones USABLES y MULTIPLATAFORMAS, con una interfaz seria y adaptable, en muy poco tiempo y con poco esfuerzo: UNA MUY BUENA INVERSION, considerando que puedes vender dichas aplicaciones (comprando una licencia comercial claro) o que puedes compartirlas en la gran comunidad del software libre.
0 comentarios:
Publicar un comentario