May 11th, 2012
Hace unos días navegando por los proyectos públicos en Nokia Developer, me tope con un fork de QJson que incluye ciertas modificaciones para poder integrar QJson de forma mas natural con QML, antes ya había escrito como consumir JSON con QML, pero usar esta versión de QJson es mucho mas simple y eficiente.
Para empezar, lo primero que hay que hacer es bajar el proyecto y copiarlo en una carpeta con nombre el QJson en la carpeta raíz de nuestro proyecto.
Luego en el .pro de nuestro proyecto debemos hace un include al .pri de QJson.
include(./QJson/json.pri)
También en el .pro hay que declarar que vamos a usar la función network.
QT += network
En el main.cpp de nuestra app solo hay que crear los includes para QtDeclarative y para QJson y registrar el Type.
#include <QtGui/QApplication>
#include "qmlapplicationviewer.h"
#include <QtDeclarative>
#include "QJson/qjson.h"
Q_DECL_EXPORT int main(int argc, char *argv[])
{
QScopedPointer<QApplication> app(createApplication(argc, argv));
qmlRegisterType<QJson>("QJson", 1, 0, "QJson");
QmlApplicationViewer viewer;
viewer.setMainQmlFile(QLatin1String("qml/QColor/main.qml"));
viewer.showExpanded();
return app->exec();
}
En la parte QML empezamos agregando un import a QJson, luego crearemos un objeto QJSon y por ultimo vamos a declarar que cuando se dispare el evento Component.onCompleted se le asignara la url a parsear al objeto QJson y luego iteraremos la data resultante de la consulta he iremos asignando lo valores obtenidos a los campos correspondientes del modelo.
import QtQuick 1.1
import QJson 1.0
import com.nokia.symbian 1.1
Page {
id: mainPage
ListModel {
id:colorsModel
}
Component {
id:colorsDelegate
ListItem {
height: 100
Image {
id:icon
smooth: true
width: parent.width
height: parent.height
source: imageUrl
Rectangle {
width:parent.width
height: 28
color:"#000"
anchors.bottom: parent.bottom
anchors.bottomMargin: 0
opacity: 0.750
ListItemText {
role: "SubTitle"
text:title +" by " + userName
horizontalAlignment: Text.AlignHCenter
}
}
}
}
}
ListView {
anchors.fill: parent
model: colorsModel
delegate: colorsDelegate
}
QJson {
id: json
onError: {
console.log("line:"+line)
console.log("message:"+message)
}
}
Component.onCompleted: {
var data = json.parse("http://www.colourlovers.com/api/palettes/new&format=json")
for(var p in data){
colorsModel.append({
"title" : data[p]["title"]
,"userName" : data[p]["userName"]
,"imageUrl": data[p]["imageUrl"]
})
}
}
}
Para este ejemplo use el API de ColorLovers para poder consultar las ultimas paletas que se han agregado a su DB, el resultado de este pequeño ejemplo pueden apreciarlo en la siguiente imagen.

March 21st, 2012
Hasta ahora, lo poco que se sabia sobre Meltemi, eran simples rumores, basados mas que nada en especulaciones, pero hoy gracias a @kypeli que encontró un par de referencias a Meltemi en código de Nokia, se puede afirmar que Meltemi, paso del terreno de las especulaciones, al terreno de la realidad, la primera referencia esta en Pastebin en donde aparece un link a la Wiki de Meltemi en la intranet de Nokia, en una conversación de un empleado de Nokia en lo que parece ser un script usado por el instalador de una versión interna de las herramientas de desarrollo de Meltemi.
[blackbirdpie url=”https://twitter.com/kypeli/statuses/182440807511498753″]
La segunda prueba se encuentra en los repositorios de Qt Sensors, en donde en la cabecera de archivo se puede ver los siguiente:

[blackbirdpie url=”https://twitter.com/kypeli/statuses/182441329417125888″]
Estas pruebas no hacen mas que confirmar que Meltemi existe, que esta basado en Linux y que Qt es uno de sus pilares, ahora solo resta saber cuando y en que producto se presentara, sera cuestión de seguir esperando, pero viendo el buen trabajo que se hizo con MeeGo/Harmattan, creo que la espera aunque dura, valdrá la pena.
Actualización – 22/03/2012
Las pruebas de la existencia de Meltemi al parecer no duraron mucho en publico, tanto el contenido de Pastebin como el archivo en el repo de Qt Sensors ha sido eliminado, afortunadamente tengo una copia de cada uno de ellos, lo cuales pueden ver a continuación:
Pastebin
From c562d53d77866767beb242df2eee507c7b8bcaf7 Mon Sep 17 00:00:00 2001
From: ------ --------- <------.---------@nokia.com>
Date: Tue, 24 Jan 2012 19:11:39 +0100
Subject: [PATCH] Cleanup package dependencies
---
mt-make-sysroot | 35 +++--------------------------------
1 files changed, 3 insertions(+), 32 deletions(-)
diff --git a/mt-make-sysroot b/mt-make-sysroot
index 688bf39..26011d7 100755
--- a/mt-make-sysroot
+++ b/mt-make-sysroot
@@ -166,24 +166,6 @@ function find_executable()
return 0
}
-function test_object()
-# Usage:
-#
-# test_object <test> <object> [message]
-#
-# Run <test> (-d/-f/-e/-x/...) for <object>
-# on success return 0
-# on failure print message if supplied and return 1
-{
- if [ ! "${1}" "${2}" ] ; then
- if [ -n "${3}" ] ; then
- echo "${3}"
- fi
- return 1
- fi
- return 0
-}
-
function test_package()
# Usage:
#
@@ -236,17 +218,8 @@ function check_environment_ubuntu()
test_package 'mt-dev-env' 'This machine was not setup to run the desktop emulator, yet. Visit http://wikis.in.nokia.com/Meltemi/Developer and do check the prerequisits section' || \
tool_check=0
- find_executable 'rpm' 'rpm not found. Do "sudo apt-get install rpm"' || \
- tool_check=0
-
- #python
- test_object '-d' '/usr/share/pyshared/M2Crypto' 'python-m2crypto not found. Do "sudo apt-get install python-m2crypto"' || \
- tool_check=0
- test_object '-d' '/usr/share/pyshared/urlgrabber' 'python-urlgrabber not found. Do "sudo apt-get install python-urlgrabber"' || \
+ find_executable 'mtz' 'mtz not found. Do "sudo apt-get install mtz"' || \
tool_check=0
- test_object '-f' '/usr/lib/build/debtransform' \
- 'python rpm helper module not found. Add the open suse repository to your sources.list and do "sudo apt-get install build"' || \
- tool_check=0
if [[ $tool_check == 0 ]] ; then
exit 1
@@ -257,7 +230,7 @@ function check_environment_opensuse()
{
local tool_check=1
- find_executable 'rpm' 'rpm not found.' || \
+ find_executable 'mtz' 'mtz not found.' || \
tool_check=0
if [[ $tool_check == 0 ]] ; then
@@ -269,7 +242,7 @@ function check_environment_redhat()
{
local tool_check=1
- find_executable 'rpm' 'rpm not found.' || \
+ find_executable 'mtz' 'mtz not found.' || \
tool_check=0
if [[ $tool_check == 0 ]] ; then
@@ -595,8 +568,6 @@ init_obs
function mtz_wrapper()
{
arch=$1
- test_package 'mtz' 'mtz not found, trying to install' || \
- "${SUDO}" apt-get install mtz || print_error "Installation of mtz failed"
#fix the arch name, since mtz needs to know the real ones used on the reposerver
arch=`echo $arch | sed -e "s/armv7el/armv7hl/"`
--
1.7.4.1
qirproximitysensor.cpp
/****************************************************************************
**
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the QtSensors middleware for Meltemi.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include
#include "qirproximitysensor_p.h"
IMPLEMENT_READING(QIRProximityReading)
/*
\class QIRProximityReading
\ingroup sensors_reading
\inmodule QtSensors
\brief The QIRProximityReading class holds readings from the IR proximity sensor.
The IR (infra-red) proximity sensor detects proximity by beaming out infra-red light
and detecting how much of the light returns.
The biggest limitation of this technology is that there is no reliable way to turn the
reflectance values into distances unless both the item being detected and the ambient
conditions are known.
\section2 QIRProximityReading Units
The sensor reports reflectance as a percentage. That is, 0 indicates nothing was detected
within the range of the sensor and 100 indicates the infra-red signal returned at the full
power level that it was sent at.
*/
/*
\property QIRProximityReading::reflectance
\brief Holds the reflectance value.
The reflectance is a percentage (from 0 to 100) indicating how much of the transmitted
infra-red light was returned.
\sa {QIRProximityReading Units}
*/
qreal QIRProximityReading::reflectance() const
{
return d->reflectance;
}
/*
Sets the reflectance value to \a reflectance.
*/
void QIRProximityReading::setReflectance(qreal reflectance)
{
d->reflectance = reflectance;
}
// =====================================================================
/*
\class QIRProximityFilter
\ingroup sensors_filter
\inmodule QtSensors
\brief The QIRProximityFilter class is a convenience wrapper around QSensorFilter.
The only difference is that the filter() method features a pointer to QIRProximityReading
instead of QSensorReading.
*/
/*
\fn QIRProximityFilter::filter(QIRProximityReading *reading)
Called when \a reading changes. Returns false to prevent the reading from propagating.
\sa QSensorFilter::filter()
*/
char const * const QIRProximitySensor::type("QIRProximitySensor");
/*
\class QIRProximitySensor
\ingroup sensors_type
\inmodule QtSensors
\brief The QIRProximitySensor class is a convenience wrapper around QSensor.
The only behavioural difference is that this class sets the type properly.
This class also features a reading() function that returns a QIRProximityReading instead of a QSensorReading.
For details about how the sensor works, see \l QIRProximityReading.
\sa QIRProximityReading
*/
/*
\fn QIRProximitySensor::QIRProximitySensor(QObject *parent)
Construct the sensor as a child of \a parent.
*/
/*
\fn QIRProximitySensor::~QIRProximitySensor()
Destroy the sensor. Stops the sensor if it has not already been stopped.
*/
/*
\fn QIRProximitySensor::reading() const
Returns the reading class for this sensor.
\sa QSensor::reading()
*/
#include "moc_qirproximitysensor.cpp"
December 26th, 2011
Después de Febrero 11, muchas cosas cambiaron en Nokia, a Symbian le pusieron fecha de vencimiento, a MeeGo lo mandaron al freezer, el único que recibió un fuerte respaldo fue Qt, pero viendo la magnitud del descalabro, era difícil creer en esa promesa, paso el tiempo y hay que admitirlo, Nokia esta cumpliendo con lo que prometio, desde Febrero 11 a la fecha se han liberado Qt 4.7.3, Qt 4.7.4 y Qt 4.8, el trabajo en Qt 5 sigue viento en popa, ademas a mediados de junio, Nokia anuncio que Qt pasaría a ser parte fundamental de su estrategia para el Next Billion y mas importante aun, en Octubre se completo el proceso por el cual Qt pasa a ser administrado bajo un modelo de Open Governance.
El futuro de Qt parece asegurado, ademas de Nokia muchas otras plataformas contemplan la posibilidad de utilizarlo de forma oficial o existe el potencial de que terceros lo porten y le den soporte, el siguiente es un listado de alguna de ellas.
Nokia
Ademas de poder ser usado en Symbian y MeeGo, Nokia a anunciado que Qt sera el entorno de desarrollo que potenciara su estrategia para el Next Billion, cuando Marco Argenti hizo el anuncio en Nokia Connections 2011 no dio muchos detalles, lo que hizo que durante un tiempo se especulara con la idea de Qt corriendo sobre S40, ya que hasta ese momento S40 era la plataforma que Nokia estaba posicionando para ser usada por el Next Billion, paso el tiempo, llegaron los DevDays y por suerte con ellos, algo de información llego a la superficie, según Kenny Mathers (Head of Developer Relations en ese momento) la plataforma elegida para la estrategia Next Billion de Nokia no va a ser S40, esto sumado a que Symbian y MeeGo yo no juegan este partido, hace que nuevamente se vuelva a especular con Meltemi, ahora bien ¿que es Meltemi?, una ¿versión lite de MeeGo? o ¿una evolución de Maemo/MeeGo?, quizás para mitad del año que viene, con la release de Qt5 podamos saber mas, mientras tanto no queda otra que esperar, pero con la seguridad de que Nokia esta cocinando algo en Ulm.
Canonical
La relación entre Canonical y Qt comenzó hace tiempo y sigue profundizándose, el solo hecho de que Unity 2D haga uso extensivo de Qt y QML es una muestra del compromiso de Canonical con Qt, si a esto le sumamos las intenciones de Canonical de llevar la experiencia Ubuntu, a smartphones, tablets y smart TVs, la idea de un nuevo “ecosistema” con Qt como uno de sus pilares, comienza a tomar forma y merece la pena ser seguida de cerca.
Research in Motion
QNX el OS que compro RIM para usar en su próxima generación de smartphones y tablets, incluye a Qt entre sus paquetes desde hace tiempo, muchas soluciones se venden haciendo uso del tandem QNX/Qt, por suerte esto no ha cambiado con la compra de RIM y para dejarlo claro, George Staikos (Vice Presidente de RIM) manifestó el apoyo por parte de RIM a Qt en una de las keynotes de los ultimos DevDays, anuncio que Qt seria soportado en BBX y para que quede el mensaje claro, mostró varias demos desarrolladas en Qt corriendo en su PlayBook.
Hewlett Packard
Qt siempre formo parte de webOS, es cierto que es una versión algo vieja (4.6 y 4.7.1) la que se encuentra disponible entre sus paquetes, esto ha permitido que miembros de la comunidad porten apps y el framework por su lado, todo esto se pone mas interesante luego del anuncio de la apertura del código de webOS por parte de HP, donde Qt puede tomar impulso para todos aquellos interesados en desarrollar aplicaciones que corran de forma nativa en webOS.
Samsung/Intel/Linux Foundation/Nomovok
Este es el grupo de los unidos por el espanto, por un lado Samsung una empresa amante del control total que ve que con Android no puede crear una cárcel 100% invulnerable, Intel que ve que el mercado mobile se esta comiendo su reino, prueba una vez mas crear un OS para sus chips de bajo consumo de energía que están siempre por llegar, quizás esta sea la ultima oportunidad de Intel para lograr algo el éxito, antes de tener que renovar su licencia con ARM y empezar a fabricar chips con tecnología ajena, perdiendo no solo el control sobre la tecnología, sino el de su propio futuro, la Linux Foundation, ese sello de goma organizador de conferencias y vendedor de remeras, no pincha ni corta en las decisiones pero todos quieren tener su visto bueno como para darle un toque mas Open Source a sus proyectos, y por ultimo Nomovok que en la época en la cual MeeGo aun vivía, aposto fuerte por el y ahora esta tratando de recuperar toda la inversión hecha, la cual en su mayoría se desarrollo usando Qt, la idea de Nomovok es vender su UI que corre arriba de los que debería de ser Tizen a fabricantes chinos de tables económicas para ayudarlos a diferenciarse, para ello se ha comprometido a portar Qt a Tizen y darle mantenimiento.
El futuro de Qt en Tizen, esta complicado mas que nada por razones políticas, Samsung tiene a EFL con el que sueña sustituir a Qt, a Intel puede que le interese mantener a Qt después de todo el trabajo y progreso que realizaron en MeeGo, pero con tal de seguir teniendo a Samsung de socio no va a decir nada y aceptara lo que Samsung decida, lo que piense la Linux Foundation no le importa a nadie y lo que haga Nomovok va a terminar siendo irrelevante sin el apoyo de Samsung e Intel, prueba de esto es la conferencia sobre Tizen que Nomovok organizo hace algunas semana en China, en donde ni Intel, ni Samsung se hicieron presentes, ni mucho menos patrocinaron, cosa que si hizo Qt, que participo como Silver Sponsor, esto no quiere decir que Samsung e Intel prohíban o restrinjan el uso de Qt en Tizen, pero sin el apoyo de ellos, Qt va a estar relegado a los hobbystas, a soluciones muy especificas y a lo que pueda hacer la comunidad.
KDE
Esto parece una obviedad, pero no podía dejar de mencionar el soporte y apoyo que el proyecto KDE le da a Qt, para muchos, KDE es sinónimo de Qt y viceversa, lo cual puede ser una arma de doble filo, mas cuando la persona que interpreta esto ignora que KDE es una plataforma y Qt es un entorno de desarrollo, sino hagan la prueba de preguntarle a cualquier usuario de Linux que piensan de Qt y casi con seguridad terminara respondiendo con temas relacionados a KDE.
KDE siguiendo la evolución de Qt, ya esta preparando el salto a Qt5, lo que debería capitalizarse en una mejora en la performance general del sistema, pero que se notara mas en la parte de gráficos. algo que en KDE se usa y se abusa mucho.
Mer Project
Este proyecto del que hace un tiempo hable aquí en el blog, es la continuación de MeeGo por otros medios, luego de que todos los que lo soportaran le soltaran la mano, el proyecto avance a paso lento pero firme, con entregas regulares y sumando apoyo de otros proyectos Open Souce, como por ejemplo la gente de Plasma Active, que de a poco se esta convirtiendo en una de las UIs preferidas de quienes trabajan y experimentan con Mer.
Raspberry Pi
El proyecto cuyo objetivo es crear una GNU/Linux box basada en ARM por menos de U$S25 sigue avanzando, lo que ha llamado la atención de mucha gente, tanto que personas dentro de ICS y Nokia, están trabajando en una versión ultra optimizada de Qt5 para esta plataforma, ademas se creo un programa por el cual Nokia esta entregando a 400 miembros de la comunidad placas para que puedan usarlas en sus proyectos.
Haiku
Haiku aparece en esta lista en una especie de fetichismo de mi parte, es cierto que su comunidad tanto de desarrolladores como de usuarios es muy pequeña, pero el port de Qt en Haiku ha permitido que muchas aplicaciones KDE corran en el, haciendo que Haiku se torne un poquito mas interesante y permitiendo que podamos aplicar nuestros conocimientos en un proyecto en donde cualquier aporte, por mas mínimo que sea puede lograr un gran impacto.
Los Otros
Aquí entran los ports de Qt para iOS, Android y Windows 8, estos ports cuentan con distintos grados de madurez y soporte, por un lado tenemos a Digia que esta trabajando en el port oficial de Qt para Windows 8, también tenemos al proyecto Necessitas cuyo progreso es impresionante, cuenta con una integración muy buena con Qt Creator y también con un port de Smart Installer (llamado Ministro) para el manejo de dependencias, muchas apps creadas con Qt están ya disponibles en el Android Market, por ultimo están los ports para iOS, el primero, UIKit, es mas un experimento que otra cosa, esta limitado a aplicaciones de una sola ventana y no tiene soporte multitouch, luego esta Qt4iOS, este port es comercial, tiene soporte completo para Qt Widget, QML, OpenGl, Qt Mobility y Qt3D, ademas ya hay al menos una aplicación desarrollada con el, que paso el proceso de verificación de la Apple App Store y ya esta en venta.
Conclusiones
Ademas de los entornos clásicos como Windows, Mac OS X y Linux, existen muchos proyectos en donde Qt puede ser usado, en algunos con mayor o menor soporte, algunos mas maduros, otro que recién empiezan, es lo bueno de Qt y de su promesa Code Less, Create More, Deploy Everywhere.
Community, Development, Opinion
Android, Digia, Haiku, Hewlett Packard, Intel, iOS, KDE, Linux Foundation, MeeGo, Meltemi, Mer, Nomovok, Plasma Active, Raspberry Pi, Research in Motion, Samsung, Symbian, Tizen, Windows 8
December 24th, 2011

Hace unos días atrás, en una de esas “brillantes” directivas de los cráneos del área de marketing de Nokia se decidió que el nombre Symbian ya no era cool y era percibido por el publico como algo obsoleto, la solución a este “problema” llego en la forma de un nuevo rebranding (el tercero en los últimos años), desde ahora el core del OS se seguirá llamando Symbian y la UI pasara a llamarse Nokia Belle y en un futuro Nokia Carla, Nokia Donna o como fuera que decidan llamarlo, la idea detrás de esta decisión es bastante clara, hacer que el nombre de Symbian quede en el olvido lo mas rápido posible.
Desde hace unos años, pero últimamente de forma mas sistemática a Symbian se le han achacado todos los males por los que pasa Nokia en la actualidad, en mi opinión el problema no es Symbian, el problema es la gente que toma las decisiones en Nokia, lo que ahora conocemos como Nokia Belle tendría que haber visto la luz mínimo hace dos años, permitiendo acelerar la estrategia de usar Qt para homogeneizar el desarrollo y servir de medio de transición hacia Maemo/MeeGo, pero en el ínterin en vez de desarrollo, lo único que hubo fueron guerras internas, estaban los que querían seguir mejorando Avkon, estaban los que querían imponer Qt, estaban los que perdían el tiempo con Orbit, los que planeaban la apertura del código y que luego de mucho esfuerzo se llevo a cabo, para que pasados un par de años se volviese a cerrar y mientras todo esto sucedía no había nadie con una idea o visión de que hacer, nadie que tuviera capacidad de ejecución, que hiciera que todos marcharan en la misma dirección, y mientras todo esto ocurría, se perdía tiempo, se perdía dinero y se perdía el liderazgo en el mercado, todo esto cambio cuando llego Elop, el si tiene una visión, pero esta visión no incluía ni a Symbian, ni a MeeGo, Nokia Belle es ahora un OS con una UI moderna, bien optimizada para ser usada en dispositivos touch, con un completo entorno de desarrollo basado en Qt que permite fácilmente migrar una aplicación Qt desarrollada para Symbian a MeeGo, pero llega tarde y ahora la pelea es cuesta arriba y con todas las de perder, Symbian toda una leyenda, es ahora denostado, ocultado a los ojos del publico y ya tiene fecha de vencimiento, MeeGo que tendría que ser su sucesor, es ahora un juguete para experimentación, la única esperanza que nos queda a los que creemos en el Open Source es que el rumor de Meltemi se transforme en una realidad y que todo estos desarrollos creados con Qt y los nuevos patrones de interacción introducidos con MeeGo puedan seguir siendo usados en el futuro en algún producto de la compañía.
Symbian paso de ser el rey, a ser el tonto del pueblo, un OS que tuvo y tiene aun características que muchos OSs actuales de la competencia implementaron hace muy poco o que aun no lo han hecho, cosas como la multitarea real, que estaba presente desde los principios en Symbian, ni hablar de cosas básicas como copiar y pegar, características que tanto iOS como WP7 tuvieron mucho después de su lanzamiento, o tecnologías como NFC que son soportadas por Symbian desde hace tiempo y usadas por los licenciatarios japoneses desde hace años en el mundo real, es por eso que da mucha bronca escuchar o leer a gente que no tiene la mas puta idea de como funciona o lo complejo que es desarrollar un OS hablar mal de Symbian, oír a fanboys idiotas que defienden una marca cuando en realidad lo que tendrían que defender es una idea, una forma de ver la tecnología aplicada a nuestro mundo, pero eso es demasiado pedir para gente sectaria, monotemática y unineuronal, ni hablar de las agencias de relaciones publicas disfrazadas de sitios de noticias tecnológicas en donde “expertos” dan sus análisis totalmente influenciados por el sponsor del mes o peor aun los inútiles de los departamentos de marketing que creen que todo se soluciona cambiando nombres, agregando keywords rimbombantes a folletos o poniendo fotos de gente feliz en anuncios.
Por mientras, nosotros, que no nos conformamos simplemente con usar algo, sino que queremos saber como funciona, que deseamos conocer el fundamento de las decisiones de diseño que se llevaron a cabo al implementar una característica o función X, y que elegimos la marca y modelo de un móvil no por el precio, no por las modas, no porque sea lo que usan todos, sino porque se ajusta a nuestros requerimientos técnicos y a nuestras ideas de como y para que debe ser usada la tecnología, para gente como nosotros Symbian va seguir siendo un gran OS, con sus ventajas y sus desventajas, un OS que creo de la nada el mercado de los smartphones, un OS que permitió mostrarle al mundo que un móvil podía usarse para muchas otras cosas ademas de para realizar llamadas telefónicas, algo que hoy damos por sentado pero que hace 15 años solo Symbian podía hacerlo, es por su historia y por su legado que para nosotros Symbian seguirá siendo Symbian, ahora y siempre.
November 29th, 2011
Hace unos días en el blog oficial de Qt anunciaron el lanzamiento de las nuevas Qt Developer Guides, no quería escribir sobre estas guiás sin antes darles una mirada en profundidad, las guiás son muy completas, están dividas en varios capítulos en donde se abordan diferentes conceptos y funcionalidades, los cuales son aplicados en el desarrollo de una aplicación de ejemplo a lo largo de toda la guiá.
Las dos primeras guiás liberadas se centran en el desarrollo usando Qt Quick y JavaScript, tanto para Symbian (aunque todo lo explicado puede ser aplicado en MeeGo) como para Desktop, con estas guiás pueden aprender sobre el uso de Qt Quick Components, Animations, Transitions, States, persistencia de datos usando Offline Storage, creación de controles personalizados y mucho mas.
Si recién están empezando a trabajar con Qt y con Qt Quick, les recomiendo que lean y hagan los ejercicios que vienen en estas guiás, son una forma rápida de experimentar todo el proceso de desarrollo de una aplicación y van a aprender fácilmente, conceptos, buenas practicas y la forma de aplicarlos en sus propios desarrollos.
Programming with Qt Quick for Symbian^3 Devices
Pueden descargar esta guiá en los siguientes formatos:
Si se topan con algún error o tienen sugerencias, pueden dejarlas aquí
Qt Quick Application Developer Guide for Desktop
Pueden descargar esta guiá en los siguientes formatos:
Si tiene ideas, sugerencias o encuentran algún bug pueden reportarlo aquí
Espero estas guiás les sean útiles y manténganse atentos que pronto se vienen muchas mas.

Actualización – 13/12/2011
La guiá Programming with Qt Quick for Symbian^3 Devices ha sido actualizada hoy, ha pasado a llamarse Programming with Qt Quick for Symbian and MeeGo Harmattan Devices y se le ha agregado todo un nuevo capitulo con consejos y buenas practicas para portar aplicaciones Symbian a MeeGo.
Actualización – 12/01/2012
La gente de Zona Qt ha traducido al español la guiá Programming with Qt Quick for Symbian and MeeGo Harmattan Devices, pueden acceder a ella desde aquí.