Entradas

Logo del curso de programación de Ubuntu Touch

Programar aplicaciones nativas de escritorio con Qt y C/C++

A lo largo del Curso de programación de Ubuntu Touch se ha estudiado la forma de programar WebApps y aplicaciones nativas que se ejecutan en Ubuntu Touch / UBports. Para el interfaz de usuario se ha utilizado QML y para la lógica se ha empleado JavaScript. En el nuevo bloque del curso, que ya podéis consultar, añado C/C++ como lenguaje para la lógica. Éste no es el único cambio que encontraréis ya que hay también un cambio importante en la filosofía de trabajo.

En lugar de usar el SDK de Ubuntu Touch se emplearán las herramientas nativas que vienen en GNU/Linux. ¿Cuál es la razón para hacer este cambio? Tendréis que continuar leyendo para conocerla.

Leer más

Logo del curso de programación de Ubuntu Touch

Representa datos en una gráfica con QML, JavaScript y SQLite

Acabo de publicar la entrega de diciembre del Curso de programación de Ubuntu Touch. Partiendo de la aplicación de ejemplo del mes pasado, un registrador de temperatura, se añaden nuevas funcionalidades que completen la aplicación. Este capítulo es una colaboración con Fulvio Russo y en esta entrega explica como representar en una gráfica de barras la evolución de la temperatura a lo largo del mes. La aplicación está preparada para Ubuntu Touch pero se puede modificar y ejecutar en el ordenador. La única condición es utilizar una distribución que tome como base Ubuntu 16.04.

Leer más

Logo del curso de programación de Ubuntu Touch

Acceso a base de datos con QML, JavaScript y SQLite

He publicado una nueva entrega del curso de programación de Ubuntu Touch. Esta entrega, que está en inglés y español, es una colaboración con Fulvio Russo. La aplicación que se estudia es un registrador de temperatura. El usuario puede introducir la temperatura de su ciudad cada día y posteriormente acceder a la información guardada. Hay dos aspectos interesantes en la entrega de hoy. El primero es que las temperaturas se guardan en una base de datos SQLite. Se estudiarán todas las operaciones típicas de una base de datos: inserción, eliminado, búsqueda y actualización. El segundo aspecto a comentar es que la aplicación tiene persistencia. El usuario puede configurar algunos parámetros y esos valores se cargan cuando inicia de nuevo la aplicación. Para lograrlo se utiliza el objeto Settings.

Leer más

Capítulo 04 – Lógica de la aplicación (7)

Os recuerdo que el curso tiene una lista de correo asociada en la que aparecen todas las novedades. Por cuestiones de tiempo no había podido poner el anuncio de la nueva entrega en InnerZaurus pero ahora es un buen momento para hacerlo. Como sabréis los que estéis siguiendo el curso, la calculadora ha sufrido un rediseño que la hace visualmente más agradable. Con este cambio se perdió la conexión con la lógica y en esta entrega se arregla este problema. El algoritmo inicial de la calculadora era sencillo: el usuario introducía un número, la operación y después el segundo número. Todos los cálculos se tenían que hacer siguiendo el mismo criterio.

Leer más

Capítulo 04 – Creación de una aplicación con QML (6)

Ya podéis leer una nueva entrega del curso. En esta entrega se estudia la forma de organizar los archivos en QML así como la creación de componentes personalizados. A medida que se añaden funciones a la calculadora, el número de botones y de combinaciones crece de forma importante. Para abordar este problema no se puede hacer todo de golpe sino que hay que dividir el problema en partes más manejables. Por una parte se ha dividido el archivo principal del interfaz de forma que cada bloque de la calculadora tenga un archivo propio. Por otra parte se han creado varios componentes personalizados que amplían la funcionalidad de la calculadora y simplifican el desarrollo.

Leer más

Capítulo 04 – Creación de una aplicación con QML (5)

Ya podéis leer una nueva entrega del curso de programación. Las novedades afectan al capítulo 2 (Instalación de las herramientas de desarrollo) y al capítulo 4 (Creación de una aplicación con QML). Recientemente se ha actualizado el SDK de Ubuntu Touch con novedades que afectan al contenedor que se usa en la compilación cruzada (LXD) y al entorno de desarrollo (QtCreator). Esas novedades han provocado que parte del capítulo 2 dejara de tener validez porque cambiaban las pantallas. He modificado esa parte para que coincidan las pantallas y la explicación. El interfaz tiene problemas de adaptación dependiendo de si la aplicación se ejecuta en el escritorio o un teléfono.

Leer más

Capítulo 04 – Creación de una aplicación con QML (4)

Acabo de publicar una nueva entrega del curso de programación de Ubuntu Touch. El interfaz de la calculadora ya está más o menos definido y es el momento de implementar la lógica de la aplicación. Para hacerlo tenemos que abandonar un poco QML y pasar a JavaScript. De forma resumida el usuario pulsa los botones de la calculadora y esa información se pasa al código en JavaScript para que realice las operaciones. Al mismo tiempo ese código debe modificar los controles del interfaz para ofrecer realimentación al usuario. Por sencillez la lógica se ha implementado en JavaScript. No descarto en un futuro pasar a C/C++ pero será cuando los conceptos básicos estén más establecidos.
Leer más

Capítulo 04 – Creación de una aplicación con QML (3)

La semana pasada publiqué una entrega del curso de programación de Ubuntu Touch. El anuncio lo mandé a la lista de correo pero no lo había puesto en InnerZaurus. Seguimos el bloque de aplicaciones nativas con programación de una calculadora. Ya se ha visto la forma de trabajar con botones modificando sus atributos de texto, tamaño y color. Los botones se pueden pulsar y cambian su apariencia para mostrar este estado pero en estos momentos no tienen ninguna lógica por debajo. Al programar una aplicación es importante que el usuario tenga una realimentación de las acciones que toma. Si pulsa el botón de una calculadora espera que cambie la apariencia del botón y se muestre el texto del botón pulsado en algún sitio. Ésto se puede realizar utilizando una etiqueta. Leer más

Capítulo 04 – Creación de una aplicación con QML (1)

En los capítulos anteriores hemos programado una aplicación sencilla utilizando como base la plantilla que tiene el entorno de desarrollo. Aunque seguiremos con la misma filosofía a partir de este capítulo, ya no estaremos tan encorsetados y tendremos más libertad. Para hacer el interfaz del usuario se utiliza el lenguaje QML. QML es un lenguaje de marcado en el que partimos de una pantalla (vista) y vamos distribuyendo los diferentes elementos que tiene la pantalla. Por ejemplo se pueden añadir etiquetas, cajas de texto o botones que implementarán la lógica que nosotros definamos. Para montar el interfaz de usuario hay que tener una serie de conceptos básicos claros. No son complejos y si tenéis cualquier duda podéis resolverla en los medios asociados al curso. En este capítulo se estudiará de forma básica la cabecera de la vista y el uso de las etiquetas.

Leer más