Programar con Ubuntu Phone / Pebble
Android, iOs y Windows Phone son los tres sistemas operativos más populares que se pueden encontrar en los dispositivos móviles. Para llegar a este grado de implantación ha sido necesario por una parte la existencia de un sistema operativo maduro y por otra parte la creación de aplicaciones que le aporten valor añadido. Ambos factores no son independientes sino que están relacionados. Los programadores son personas más o menos humanos que quieren obtener ingresos de su trabajo (tienen el vicio de comer 3 veces al día). Para que sea rentable una aplicación es necesario que el número de usuarios que tiene un sistema operativo sea grande. De esta forma habrá más posibilidades de que alguno de los usuarios compre la aplicación. Lo contrario también ocurre ya que si vamos del lado de los usuarios, el sistema operativo que usarán será el que tenga más aplicaciones disponibles para trabajar.
Hemos visto tres de los sistemas operativos más populares pero no son los únicos que podemos encontrar en los dispositivos móviles. Con una cuota pequeña también están Ubuntu Phone o Firefox OS. Si seguimos el criterio anterior tenemos que hay muy pocos usuarios al existir pocos terminales que funcionen con estos sistemas operativos. Como hay pocos usuarios tampoco es un mercado rentable para los programadores y se cierra el ciclo. A esta diferencia se le añade también el salto tecnológico. Si comparamos una aplicación de Android que use Material Design con otra de Ubuntu Phone que use QT veremos diferencias importantes en cuanto a apariencia y funcionalidad. ¿Qué beneficios tiene en ese caso para el programador hacer caso a una plataforma minoritaria? Si buscamos obtener ingresos vendiendo aplicaciones es mejor trabajar con los sistemas mayoritarios en estos momentos.
Tanto Ubuntu Phone como Firefox OS tienen otra finalidad en su planteamiento. Si crecen con el tiempo pueden llegar a tener una parte de la cuota del mercado. Como esto es un futurible es mejor pasar a las características que tienen en estos momentos. Una aplicación que esté programada en C/C++ (QT) o en HTML5 se puede portar de forma más sencilla al PC. De la misma forma es razonable poder migrar las aplicaciones que usamos en el PC a Ubuntu Phone con algunos cambios. En el caso de HTML5 no haría falta realizar ninguna migración ya que la misma aplicación se ejecuta igual con independencia del sistema operativo. Quiero que quede claro que el proceso de portar una aplicación no es modificar un archivo y ya funciona todo. Requiere dedicar un tiempo en la migración pero evita tener por una parte una aplicación que se ejecuta en el PC y en paralelo otra aplicación equivalente al trabajar con Android, iOS o Windows Phone. Poco a poco se están difuminando la frontera entre ordenador y dispositivo móvil y es algo que se verá en relativamente poco tiempo.
Antes de empezar a programar con Ubuntu Phone conviene preparar el entorno de trabajo. Tanto en este caso como en el de Firefox OS o en el reloj Pebble se puede usar como distribución de GNU/Linux la distribución Ubuntu. No es obligatorio usarla pero la tarea de desarrollo se simplifica un poco debido a que muchas de las herramientas están preparadas para Ubuntu. Las cosas ya se complicarán por si solas, si podemos simplificar alguno de los pasos que seguimos al programar bienvenido sea. Podemos trabajar de varias formas dependiendo de los recursos de la máquina. Lo ideal es instalar Ubuntu en el ordenador que usaremos para trabajar. Si no lo podemos hacer (por la razón que sea) las siguientes opciones son instalar Ubuntu en una memoria Flash o usar una máquina virtual.
La máquina virtual tiene varias ventajas:
- El sistema y todas las herramientas que usamos están contenidos en un archivo.
- Se puede trabajar con la misma máquina virtual en diferentes sistemas operativos sin modificar nada.
- Es fácil hacer una prueba y si algo sale mal volver a un estado anterior de la máquina virtual.
Estas ventajas tienen un coste y es la penalización en el rendimiento que aparece. Si tenemos un equipo con suficientes recursos no notaremos prácticamente la pérdida de rendimiento. En el caso de tener un equipo sencillo lo más práctico es instalar Ubuntu en el disco duro o en una memoria Flash.
Instalación de VirtualBox
Hay varias alternativas a la hora de usar una máquina virtual. En el artículo usaré VirtualBox porque es gratuita y funciona en Windows, GNU/Linux y MAC. En este punto sólo necesitamos “algo” que contenga la instalación de Ubuntu que vamos a usar. Como trabajaremos con un entorno gráfico usaremos Ubuntu con el escritorio XFCE (XUbuntu). XFCE consume menos recursos que Unity y funciona más rápido en la máquina virtual.
- ISO de Xubuntu:
- VirtualBox
- Windows: http://download.virtualbox.org/virtualbox/4.3.26/VirtualBox-4.3.26-98988-Win.exe
- Ubuntu, Fedora: https://www.virtualbox.org/wiki/Linux_ Downloads
- VirtualBox extensions (obligatorio instalarlo): http://download.virtualbox.org/virtualbox/4.3.26/Oracle_ VM_VirtualBox_ Extension_ Pack-4.3.26-98988.vbox-extpack
El último de los archivos (VirtualBox Extensions) mejora el rendimiento del sistema instalado en la máquina virtual y permite compartir el portapapeles con la máquina real entre otras funciones. Descargamos todos los archivos e instalamos VirtualBox. Una vez esté instalado hacemos doble clic sobre VirtualBox Extensions. En el artículo no voy a poner los detalles de la instalación de VirtualBox (doble clic y seguir el asistente). Si os surge alguna duda podéis preguntarla en los comentarios.
Después de instalar los dos archivos de VirtualBox lo ejecutamos. Tendremos una pantalla similar a la siguiente:

Pulsamos en el botón Nueva. Ponemos los parámetros de la captura.
Nueva máquina virtual
Como vamos a instalar un entorno gráfico le daremos 2 GB de memoria RAM. Puede funcionar con 1 GB pero el rendimiento será menor. En esos casos es mejor pasar la ISO de Xubuntu a una memoria USB y ejecutarlo de forma nativa.
Memoria RAM de la máquina virtual
Creamos un disco duro virtual nuevo.
Tipo de disco duro de la máquina virtual
Dejamos seleccionada la primera opción.
Disco duro VDI
El espacio puede ser dinámico (se gasta según se necesita) o fijo. Usaremos un espacio dinámico con un tamaño de disco de 25 GB.
Espacio del disco duro reservado de forma dinámica
Tamaño del disco duro de la máquina virtual
El asistente ya ha finalizado y tenemos la máquina virtual preparada.
Máquina virtual preparada
El siguiente paso es instalar Xubuntu. Para continuar tenemos que tener descargada la ISO de Xubuntu. No es necesario pasar la ISO a un DVD o una memoria USB.
Instalación de Xubuntu
Pulsamos en el botón Iniciar para lanzar la máquina virtual.
Selección de la ruta que contiene la ISO de Xubuntu
Al pulsar sobre el icono se abrirá una ventana del administrador de archivos. Buscamos la ISO y la seleccionamos. Cuando arranque seleccionamos el idioma de la instalación. Marcamos la segunda opción para entrar directamente en el instalador.
Menú de inicio de XUbuntu
Seguimos el asistente.
Asistente de instalación de XUbuntu
Al estar en una máquina virtual no es necesario preocuparse de las particiones. Pulsamos en Instalar Ahora. Si estáis haciendo la instalación en un equipo real (son las mismas pantallas) hay que configurar las particiones. Al usar la primera opción sin ver lo que hace puede provocar la pérdida de los datos del disco duro.
Particionado del disco duro
Configuramos el usuario y la contraseña. La contraseña del usuario principal es la que permite ejecutar comandos como root.
Configuración del usuario del sistema
Esperamos a que termine la actualización.
Progreso de la instalación
Después de un par de minutos la instalación habrá finalizado.
Instalación finalizada
Reiniciamos el equipo y esperamos a que se inicie Xubuntu.
Instalar las VirtualBox Guest Addition
Aunque ya está instalado Xubuntu en la máquina virtual es necesario hacer un paso extra que nos facilitará el trabajo. Para que el rendimiento de la máquina virtual sea bueno es obligatorio instalar las VirtualBox Guest Addition. A efectos prácticos esta aplicación instala unos drivers que ofrecen un mejor rendimiento en la máquina virtual y permiten compartir información entre la máquina real y la virtual.
Abrimos una terminal e instalamos los paquetes que permiten compilar las Guest Addition.
sudo apt-get install dkms build-essential
Pulsamos Control derecho + D para introducir el CD que contiene las VirtualBox Guest Addition en la máquina virtual.
Se abrirá una ventana del explorador de archivos de XFCE. Ejecutamos el archivo autorun.sh e introducimos la contraseña del usuario.
Instalación de las Guest Addition
Cuando acabe pulsamos la tecla de Enter y reiniciamos la máquina virtual. En el siguiente inicio la ventana de la máquina virtual se adaptará al tamaño del monitor.
Conclusiones
Hemos visto en este artículo un resumen rápido con el estado de los sistemas operativos que tenemos en los terminales móviles. Para un programador que quiera obtener un beneficio de su trabajo el mercado objetivo debería ser Android, iOS o Windows Phone. Si bien Ubuntu Phone / Firefox OS tienen muchas posibilidades de crecer con el tiempo, en estos momentos son mercados marginales con pocos usuarios y aplicaciones.
Tanto Ubuntu Phone como Firefox OS son plataformas en estos momentos para “jugar” y probar cosas nuevas. No tienen tantas aplicaciones como Android, iOS o Windows Phone pero si que facilitan la programación y trabajar a bajo nivel. Ubuntu Phone ejecuta sobre una capa de drivers de Android un servidor gráfico de forma nativa sin la penalización de la máquina virtual de Android. Por su parte Firefox OS ejecuta sus aplicaciones dentro del navegador permitiendo que lo que es un mercado marginal se pueda aplicar a otras plataformas de forma razonable y dar un valor añadido a la aplicación.
A partir de este artículo se abrirán dos líneas de trabajo enfocadas a Ubuntu Phone y al reloj Pebble. Tomando como base la máquina virtual con Xubuntu configuraremos las herramientas de desarrollo de Ubuntu Phone y Pebble para empezar a programar y crear aplicaciones. En estos momentos no se la periodicidad que tendrán estos artículos, todo depende del tiempo libre que tenga para programar y hacer pruebas. Seguramente esta semana saldrá el artículo relacionado con el SDK de Pebble y la semana que viene el relacionado con Ubuntu Phone. Para seguir los artículos de Ubuntu Phone es interesante tener este terminal o su terminal hermano (el Aquaris E4.5).
Para cualquier duda o sugerencia podéis usar los comentarios.
Dejar un comentario
¿Quieres unirte a la conversación?Siéntete libre de contribuir!