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.

Kirigami en la OpenStore

Kirigami en la OpenStore

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.

Listado de componentes de Kirigami

Listado de componentes de Kirigami

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.

Lista de tarjetas de Kirigami

Lista de tarjetas de Kirigami

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.

Lista de tarjetas de Kirigami (Android)

Lista de tarjetas de Kirigami (Android)

Componentes:

Controles de Kirigami (Android)

Controles de Kirigami (Android)

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.

Listado de controles PC

Listado de controles PC

Ejemplo de controles:

Lista de tarjetas PC

Lista de tarjetas PC

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.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.