Entradas

Logo de Android Studio

Android Studio con Qualcomm y Mediatek

Poco a poco los elementos del proyecto de verano empiezan a tomar forma. A la aplicación de la Raspberry Pi se le sumarán dos aplicaciones que funcionarán en Ubuntu Touch y en Android. En este artículo se verán los pasos para configurar el SDK de Android en Windows. No he descartado explicar los pasos en Ubuntu usando la máquina virtual que se creó en un artículo anterior. Simplemente, voy a explicar como se trabaja en los dos sistemas operativos. De esta forma se puede elegir el sistema operativo que es más práctico para programar la aplicación con Android. Como entorno se usará Android Studio ya que es el entorno oficial que usa Google.

Leer más

Logo de Ubuntu Mate

Usar una máquina virtual como entorno de desarrollo integrado

Para programar una aplicación hace falta un ordenador con un sistema operativo y varias herramientas de desarrollo. Este entorno de desarrollo es relativamente sencillo de preparar. El problema puede aparecer si se trabaja en un equipo y cada programador tiene un entorno diferente. Las herramientas pueden ser las mismas pero con versiones ligeramente diferentes. Ésto en principio no es un problema pero puede suponerlo si hay cambios en esas versiones que afectan al código desarrollado.

Hay dos formas de afrontar este problema. La primera es usando todo el equipo las mismas versiones de las herramientas de desarrollo. Si se trabaja en varios proyectos al mismo tiempo con diferentes versiones de las librerías puede ser un poco complicado. La otra forma consiste en usar una máquina virtual que contenga todas las herramientas de desarrollo y sea la misma para todo el equipo.

Leer más

Logo del curso de programación de Ubuntu Touch

Capítulos 3 y 4 (S01) del Curso publicados en inglés

Como ya comenté en el artículo Ubuntu Touch ha muerto, larga vida a Ubuntu Touch, he decidido continuar con el curso de programación. Este curso es un proyecto que empezó en castellano y que estoy traduciendo al inglés con ayuda de varios usuarios. Ayer publique la traducción de dos entregas. La primera corresponde al capítulo 3 y en ella se explica el funcionamiento de las aplicaciones Web (Web App). Se empieza con una plantilla y finalmente se crea una Web App que se puede publicar en la tienda de Ubuntu. Por su parte, en el capítulo 4 se estudia la programación de una aplicación nativa con QML. Este capítulo es largo y está dividido en varias entregas. En la entrega publicada se ve el esqueleto de una aplicación QML junto con el componente Label. Es sencilla de seguir y se tomará como base para las siguientes entregas.

Leer más

Estado del curso de programación

Las últimas semanas he estado ocupado con otros proyectos y he tenido un poco parado el curso de programación. Ahora que tengo más tiempo libre me gustaría comentaros el estado del curso. En primer lugar quiero agradecer los comentarios y correcciones que habéis hecho de las diferentes entregas. Me ayuda a orientar este proyecto y a corregir los errores que se cuelan al escribir los capítulos. Al empezar el curso no sabía si sería un proyecto viable. Ubuntu Touch es un sistema operativo marginal que no tiene la distribución de otros sistemas operativos como Android o iOS. Es más productivo escribir cosas para Android o iOS porque tendrán mucha más visibilidad.
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 (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 (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 (2)

La semana pasada se estudiaron los conceptos básicos de las aplicaciones que usan QML. Mediante el uso de etiquetas y el layout Column se organizaron los números de la calculadora. Esta organización es insuficiente ya que todas las columnas se distribuyen una detrás de otra. Para solucionar este pequeño problema, en el capítulo de esta semana, se estudian dos layots más: Row y Grid. El primero permite distribuir los componentes en filas mientras que el segundo los distribuye directamente en una tabla. Dependiendo del caso en el que estemos usaremos uno u otro (o una combinación de ellos). Una vez se ha completado el primer paso, la organización de los componentes, es necesario sustituir las etiquetas por botones. Enlace al capítulo.

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

Logo del curso de programación de Ubuntu Touch

Capítulo 01 – Introducción al curso

He subido esta tarde el primer capítulo del curso de programación de Ubuntu Phone / Touch a GitBook. El capítulo está en castellano y en él se hace una breve introducción del curso. Un detalle importante y que puede hacer que el curso tenga éxito o no es que  requiere de la participación de los usuarios. Los capítulos no son clases magistrales, es decir, doy toda la explicación y me olvido sino que es necesario participar comentando las  dudas, los errores o  dando sugerencias para que la teoría quede más clara. Para seguir el curso es aconsejable tener un mínimo de programación ya que facilita la comprensión de los conceptos. En el caso de no tener esta base tampoco es un problema real porque se explicará de forma rápida en el momento oportuno.

Leer más