Aplicaciones multiplataforma usando Kirigami (Ubuntu Touch / Android)
Una aplicación multiplataforma es una aplicación que puede funcionar en diferentes sistemas operativos. Para hacerlo necesitamos una base común, tanto en lenguaje de programación como de librerías, que facilite el funcionamiento. En escritorio es relativamente sencillo programar una aplicación multiplataforma. En sistemas móviles como Android o Ubuntu Touch la cosa se complica. Tenemos dos opciones principales. La primera es usar HTML5 y JavaScript. La aplicación se ejecutará con independencia del sistema operativo. El inconveniente aparece al acceder a elementos concretos de cada sistema. La segunda opción es usar un lenguaje como C/C++ junto con la librería Qt. Esta librería se puede usar en Android y Ubuntu Touch. Al usar C/C++ se puede acceder con facilidad a elementos concretos de cada sistema operativo. El inconveniente es el coste de desarrollo, que es superior al de HTML5.
Introducción
Qt define una serie de componentes básicos y el programador los utiliza en su aplicación para formar el interfaz de usuario. Kirigami es una librería del proyecto KDE que proporciona componentes avanzados basados en Qt. Entre sus ventajas encontramos que es multiplataforma y que no obliga a pagar licencias por usar la librería.
Kirigami en Ubuntu Touch
Para ver lo que puede hacer Kirigami, usaremos una aplicación de demo que tiene todos los controles que se pueden usar. La aplicación está en la OpenStore y se puede instalar como hemos visto en otras entradas.
Instalamos la aplicación y después la lanzamos desde el lanzador de aplicaciones de Ubuntu Touch. En la aplicación no veremos el código fuente de cada ejemplo. Para ver el código (y descubrir cómo consiguen algunas cosas) hay que ir a la Web del proyecto.
El funcionamiento es muy simple. Pulsamos sobre una opción y veremos en la parte central diferentes controles que entran en esa categoría. Es una forma sencilla de ver lo que se puede hacer con Kirigami. No voy a entrar en todas las categorías, eso os lo dejo a vosotros para investigar.
Kirigami en Android
En Android se pueden usar varios lenguajes de programación. El más usado es Java aunque Kotlin le está comiendo terreno. A estos lenguajes se le suma C/C++ aunque no se use tanto. C/C++ se usa para trabajar en aplicaciones que necesitan rendimiento, por ejemplo juegos o aplicaciones que realizan cálculos. Para usar Kirigami en Android necesitamos crear un proyecto que use C/C++. Aunque es un poco más duro de usar que Java, si usamos la librería STL (incluida en el estándar de C/C++) la curva de aprendizaje se reduce mucho.
La aplicación de demo para Android no usa la última versión disponible de Kirigami. Por esta razón muestro la categoría List Header.
Componentes:
Kirigami en escritorio
También se puede instalar Kirigami en el escritorio como paquete Snap. No importa que usemos una distribución diferente a Ubuntu, se instalará sin problemas ya que contiene todos los elementos necesarios para trabajar.
Ejemplo de controles:
Conclusiones
Programar una aplicación que funcione en varios sistemas operativos no es sencillo. Requiere de un trabajo extra pero permite que, manteniendo una misma base, ataquemos a varias plataformas. Se podría programar una aplicación que funcionara en Ubuntu Touch y en Android manteniendo la misma base de código. En Ubuntu Touch se puede acceder a todos los elementos del sistema. Con Android la cosa cambia un poco ya que estamos programando con herramientas de bajo nivel. Si hay alguna función que depende de Java tendríamos seguramente problemas para usarla desde C/C++.
Con esta entrada os quería presentar la librería Kirigami. La apariencia entre tres plataformas tan diferentes como escritorio, Ubuntu Touch y Android es prácticamente la misma. Los componentes se pueden adaptar a las particularidades concretas de cada plataforma, de forma que se vean más integrados en el sistema.

mimecar













UBports
Doist
Dejar un comentario
¿Quieres unirte a la conversación?Siéntete libre de contribuir!