Desarrollando aplicaciones para Ubuntu [QML]

Instalando Ubuntu SDK

Ubuntu SDK es un IDE que nos proporciona las herramientas que necesitamos para desarrollar una aplicación esta basado en QTCreator.

sudo apt-get install ubuntu-sdk

Si una vez instalado lo abrimos y nos aparecerĆ” esto:

sdk

Documentación

Podemos encontrar mucha información en la web de desarrolladores de Ubuntu,Ā  tutoriales, api …

Dentro del mismo Ubuntu SDK podemos encontrar apartados de los cuales podemos aprender, ver código … Las categorĆ­as son Help, Wiki, Core Apps y API.

En API podemos encontrar toda la api de Ubuntu.Components 0.1 que son los componentes que usaremos para crear la app.

En Core Apps nos muestra la web ubuntu-phone-coreapps de launchpad donde podremos encontrar el código de varias aplicaciones. En Help podemos ver algunos  manuales que nos ayudaran a empezar.

Web donde podemos encontrar un tutorial para parsear json con qml y javascript.

Creando una aplicación (un Cliente)

Para ver un ejemplo crearemos un cliente, del cual ya hable un poco aquĆ­.

Creamos un proyecto nuevo:Ā  File -> New File or Project

sdk_create

Y seleccionamos Simple Touch UI. A hora que ya tenemos creado nuestro proyecto nos ha aparecerÔ estructurado, con algunos ficheros y algunas carpetas, si ejecutamos ahora nos saldrÔ una aplicación de ejemplo, que no usaremos o usaremos parcialmente como punto base para crear la nuestra.

Ā  Captura de 2014-04-06 17:10:44

Si ahora le añadimos un listView con un modelo el cual coja los datos Json de los cómics como por ejemplo el titulo tendremos:

Captura de 2014-04-06 18:07:59

Creamos un fichero llamado data.js, para crear dicho fichero click derecho en el proyecto Add new -> Qt -> JS file:

Captura de 2014-04-06 18:07:00

Podemos ver como parseamos el json cogiendo solo el array results donde para cada result obtendremos su titulo.

console.log Ʃs como hacer un print para consola.

Por ultimo ponemos en marvel.qml arriba donde se encuentran los imports

import "data.js" as Data

Resultado: Captura de 2014-04-06 17:57:16

Imaginemos que queremos darle un mejor aspecto a nuestra aplicación, por ejemplo en ves de mostrarse solo el titulo que muestre una imagen. y poderlas desplazar horizontalmente, pues vamos a ello:

AƱadimos la propiedad orientation en el listview

orientation: ListView.Horizontal

TamƩn canviamos el Text por una imagen:

Image {
width: 200; height: 150
fillMode: Image.PreserveAspectFit
source: thumbnail+".jpg"
}

Y en el data.js aƱadimos el thumbnail

marvelModel.append({id: i.id, title: i.title, thumbnail: i.thumbnail.path});

Podemos ver el resultado:

Captura de 2014-04-06 18:29:44

Bien ahora podrĆ­amos hacer multitud de funciones para que haga nuestra aplicación como que al hacer click a la imagen nos mostrara información, un buscador de personajes … Pero dejaremos aquĆ­ el ejemplo.

Packaging

Finalmente solo nos queda crear nuestro package, vamos a Packaging:

sdk_packagin

Podemos ver que tenemos que rellenar algunos campos. Como por ejemplo si hace uso de internet … , cuando lo tengamos todo completo le damos a create package el cual nos creara un fichero .click para que podamos instalar la aplicación.

Conclución (GTK3 o QML)

En cuestión de aspecto, personalmente a mi me gusta bastante gtk pero el grado de «modificación» de este deja bastante que desear, en cambio con qml puedes personalizar mucho la UI a demÔs también dispone de Componentes (Desktop Components) que dejan la apariencia como si fuera gtk.