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.

El SDK de Ubuntu Touch

Cuando se programa una aplicación partimos de unos archivos de código fuente. El compilador, junto con otras herramientas que están en el SDK, toma ese código fuente y lo transforma en una aplicación. Si queremos programar una aplicación para UBports hay que usar el SDK de Ubuntu Touch.

El SDK tiene fallos. No sería algo demasiado importante si recibiera actualizaciones que los arreglaran. Como ésto no ocurre (es un proyecto muerto) hay que modificar un poco la forma de trabajar para ser más productivo. Qt es un framework multiplataforma que se puede usar en GNU/Linux, Windows o Android. Aprovecharemos este detalle para ser más productivos en el curso.

En lugar de programar las aplicaciones con el SDK de Ubuntu Touch lo haremos con las herramientas que ya incluye GNU/Linux. De esta forma, cualquier usuario que tenga un entorno que pueda ejecutar Qt podrá seguir el curso.

Convergencia de Ubuntu Touch

¿El curso abandona la programación de aplicaciones para UBports?

Puede dar la sensación pero ocurre exactamente lo contrario. Inicialmente se trabajará con las herramientas de escritorio. Cuando el código de la aplicación tenga cierto grado de madurez se podrá pasar al SDK de Ubuntu Touch. Qt es multiplataforma y nos aprovecharemos de esa ventaja. La portabilidad de la aplicación no será inmediata ya que hay componentes que están en UBports y no en el escritorio.

Una forma de trabajar sería separar la lógica de la aplicación del interfaz de usuario. La lógica sería común a los diferentes sistemas y cambiaría la forma en la que se muestra el interfaz al usuario.

¿Qué aplicación se programará con Qt y C/C++?

Cada bloque del curso tiene una aplicación propia. Para este bloque he elegido programar un gestor de tareas. El usuario escribe las tareas del día a día y las puede ver de diferentes formas. Inicialmente la aplicación trabajará de forma local pero en un futuro se sincronizará con servidores en línea. Como base tomaré el gestor de tareas Todoist.

El nuevo bloque se puede seguir desde cero. Si que conviene tener cierta base en la programación con QML. En caso de no tenerlo es posible consultar los capítulos del curso que explican los fundamentos. En esos capítulos se utiliza JavaScript pero son sencillos de leer.

Webapp de Todoist

Webapp de Todoist

Conclusiones

El bloque de las aplicaciones nativas recibirá contenido nuevo con más frecuencia. No dejaré el resto de bloques parados ya que continúan las traducciones al inglés y la creación de nuevos contenidos relacionados con el curso. Que tengáis un feliz 2018. Nos vemos en el curso.

Referencias

0 comentarios

Dejar un comentario

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

Deja un comentario

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