Programación con Ubuntu Phone (I)

Ubuntu Phone es un sistema operativo joven y tiene un número reducido de aplicaciones. Para programar nuevas aplicaciones hay dos opciones: usar QML para las aplicaciones nativas o HTML5 para las WebApps. En cualquiera de los casos necesitaremos un PC que tenga configuradas una serie de herramientas que simplifiquen la creación de las aplicaciones. En este artículo veremos los pasos a seguir para configurar equipo que use Ubuntu (o alguna de sus distribuciones derivadas), crear una aplicación de ejemplo y ejecutarla en un Ubuntu Phone. En concreto se usará como terminal un bq Aquaris E4.5 Ubuntu Edition con Ubuntu 14.10.

No importa que Ubuntu se ejecute de forma nativa o de forma virtualizada. En ambos casos los pasos son muy similares. Para el artículo he virtualizado Xubuntu pero no es necesario. Personalmente prefiero tener las cosas en una máquina virtual (aunque use Fedora de forma nativa) para separar el sistema operativo que uso de normal del sistema que ya está configurado para una tarea concreta. Como versión de Xubuntu he elegido la 14.04 porque es la última versión LTS que está disponible. Ubuntu tiene dos tipos de versiones: las normales y las LTS. Las primeras tienen un ciclo de vida corto y obligar a actualizar a la siguiente versión cuando finaliza el tiempo de soporte. En el segundo caso prescindimos de tener las últimas versiones de las aplicaciones a costa de aumentar el tiempo de soporte. La elección es vuestra. Si alguno usa una versión concreta y le aparece un error en alguno de los pasos puede indicarlo en los comentarios. Cuando tenga un poco de tiempo libre intentaré replicar el error.

De la misma forma que tenemos una versión de Ubuntu concreta en el PC, lo mismo sucede con el Ubuntu Phone. En la fecha de escribir este artículo la última versión estable es la 14.10. La versión 15.04 está en desarrollo y saldrá en principio a finales de mes si se respeta el calendario de lanzamientos de la versión de es escritorio de Ubuntu. La aplicación que crearemos se ejecutará con independencia de la versión que usemos. La única condición en este caso es tener instalada la versión concreta del framework.

Créditos: La imagen del artículo está sacada de la sala de prensa de bq.

La distribución Ubuntu viene en varios “sabores” (oficiales y no oficiales). Cada “sabor” mantiene el sistema base y añade diferentes configuraciones. Por ejemplo, Ubuntu usa como escritorio Unity mientras que KUbuntu utiliza KDE. El sistema base y los repositorios son los mismos en las dos versiones. Cuando queremos instalar una aplicación en GNU/Linux se recurre al concepto de paquete. Un paquete puede contener una aplicación, una librería o recursos. Los paquetes se encuentran centralizados en lo que se conoce como repositorios. Al trabajar de esta forma es más sencilla actualizar el sistema y tener controlados los paquetes. Los repositorios pueden ser oficiales o de terceros (PPA). Los primeros los gestiona una comunidad oficial (Canonical o similar) mientras que los segundos son de los usuarios. Suelen contener versiones más actualizadas de las aplicaciones aunque no están tan controladas (y si no tenemos cuidado pueden venir con algunos regalos).

Instalar el Ubuntu SDK

Para instalar el Ubuntu SDK es necesario añadir un repositorio PPA. Aunque no es obligatorio os recomiendo tener el sistema actualizado. Recordad también que la mínima versión que se puede usar en estos momentos de Ubuntu es la 14.04.

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

 

Añadimos el repositorio PPA con el siguiente comando.

sudo add-apt-repository ppa:ubuntu-sdk-team/ppa

 

Instalación del repositorio PPA

Instalamos el paquete del Ubuntu SDK

sudo apt-get install ubuntu-sdk

Cuando termine el proceso se podrá ejecutar QTCreator ejecutando el comando “ubuntu-sdk”. También aparecerá en el menú de aplicaciones del escritorio.

Configurar QTCreator para Ubuntu 14.10 y 15.04.

QTCreator es un entorno de programación (IDE) que nos facilitará la programación para Ubuntu Phone. En el asistente inicial configuraremos las herramientas que usaremos más adelante.

Asistente de QTCreator

Las aplicaciones que se crean pueden tener diferentes Kits. Cada Kit está preparado para una plataforma concreta. Por ejemplo, podemos tener un kit para programar para Ubuntu 14.10 y otro para la 15.04. Estas versiones corresponden al lado del teléfono. Para crear un Kit pulsamos en Create New Kit, seleccionamos la arquitectura armhf y elegimos la versión del framework.

Configuración de los Kits de compilación

La compilación cruzada permite, a partir del código fuente, crear un ejecutable para una arquitectura diferente a la que estamos usando. En nuestro caso partimos de una arquitectura de PC y compilaremos para la arquitectura ARM. Como se descargan bastantes paquetes para la compilación cruzada os recomiendo instalar primero los paquetes de la versión estable de Ubuntu Phone (la 14.10) y si os queda espacio los de la versión de desarrollo (la 15.10).

Kits para Ubuntu 14.10 y Ubuntu 15.04

Cuando finalice (tardará bastante tiempo dependiendo de la conexión que tengamos) pulsamos en el botón Next. En el último paso podemos elegir un teléfono con Ubuntu Phone o configurar el emulador. Como es necesario hacer un par de pasos en el teléfono para que el ordenador lo detecte lo veremos más adelante.

Crear una aplicación de ejemplo.

El dashboard es un panel de resumen que nos muestra las diferentes opciones que tenemos para trabajar. Pulsamos sobre Create a New Project para crear una aplicación de ejemplo.

Dashboard de QTCreator

Seleccionamos la primera opción.

Proyecto de ejemplo

Indicamos la ruta en la que se guardará el proyecto y su nombre.

Configuración del proyecto

Rellenamos algunos parámetros más y seleccionamos la versión del framework de la aplicación.

Datos de la aplicación

Seleccionamos los dispositivos para los que queremos compilar.

Kits de compilación

El asistente ya ha finalizado. En el caso de usar un control de versiones (aconsejable) lo configuraremos en este punto.

Configuración del control de versiones

A partir de este punto ya se puede trabajar en el proyecto.

Proyecto de ejemplo creado

Configurar Ubuntu Phone para permitir la depuración de las aplicaciones

Los siguientes pasos se realizan en el teléfono. Accedemos a la configuración del sistema usando la barra lateral. Se muestra arrastrando de izquierda a derecha empezando por el borde de la pantalla.

Configuración del sistema

En seguridad y privacidad tenemos que poner un código. Este paso es obligatorio para poder ejecutar las aplicaciones en el teléfono.

Configuración del PIN

Bajamos hasta el final de la configuración del sistema y pulsamos en Acerca de este teléfono. Seleccionamos el Modo de desarrollador. En esta pantalla sólo hay que activar el Modo de desarrollador.

Modo de desarrollador

Ya hemos acabado todos los pasos necesarios en el teléfono. Ahora empieza la parte divertida.

Ejecutar la aplicación en el Ubuntu Phone

Hemos configurado la parte del PC con el Ubuntu SDK y QTCreator. En la parte del teléfono también hemos activado las opciones de depuración. El siguiente paso es conectar el teléfono. En mi caso he tenido que añadir un paso previo al estar trabajando con una máquina virtual y consiste en asociar el teléfono con la máquina virtual. Conectamos el teléfono y a los pocos segundos QTCreator lo reconocerá.

Configuración del Ubuntu Phone con QTCreator

Pulsamos en el icono del Play (parte inferior izquierda) para lanzar la aplicación en el teléfono.

Hola mundo (1)
 
 
Hola mundo (2)

La aplicación es bastante simple pero permite comprobar que todo funciona de forma correcta. En las siguientes entregas programaremos una aplicación que sea más interesante…

Referencias: https://developer.ubuntu.com/en/start/ubuntu-sdk/installing-the-sdk/

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 *