Learning Qt Quick(ly)


The new programming framework QtQuick (or QML when referring to a language) developed and supported by Nokia is as much of a challenge as an opportunity for the mobile phone programmers.

Learning new programming languages might be as difficult as learning the language spoken by the tongue. To the contrary, learning the spoken language might be also easy and pleasant, so there’s no reason to approach this challenge as an obstacle.

Been here before.

Having learnt a few programming languages in the past (C, C++, MFC, Symbian C++, Matlab, Bash scripting, etc.) and now working with Qt, but also a few spoken languages (Polish, English, Spanish, and bits of German, Russian and Catalan) I try to remember where the learning was difficult and where it went like a charm. Let me tell you a story how it went with a few spoken languages.

Hello (World)!

The first foreign language I got in touch with was obviously English, as the political switch Poland experienced at the end of the 80’s and the beginning of the 90’s turned the pop culture upside-down. I guess many public schools were not prepared to this new situation, and the teachers were going the very obsolete path read-conjugate-memorize. That was a very painful road to learning the language, and if there was no Nirvana, Jim Carrey, The Simpsons and at last (but not least) Jerry Seinfeld, I’d probably never become fluent in this language.

Hier kommt die Sonne.

Then at some later stage I started learning German. Because living close to the west border of Poland has always been marked by the strong international connections (and remembering the words of grandfathers to “know the language of your enemy” 😉 ). Hopefully the pop-culture was helpful too. The chart-buster Rammstein music or movies like “Run Lola, Run” or “Goodbye Lenin” were always a good training field, and gave an emotional boost. So after a year of learning in a private school I went for holidays to a “Bizarre” music festival in the west of Germany and discovered I can already communicate! Even the basic set of language skills could be an effective tool for communication.

Excuse Señor, no speaking Inglese

Then one day I decided to go to Spain, Almeria for the student exchange and apparently I had no knowledge of Spanish. This was again a different family of languages, so it was not only about learning few irregular verbs and communicating in a funny manner but with almost no initial effort. I had to learn everything from the “Hola”. So the first approaches were not very easy. I went to a quick course of the language at the university, but left with a sensation of a lost time, as I almost didn’t pick up anything from it. But I started learning something about the place where I will go and that caught my attention. Getting to know something about the history of southern Spain (Andalucia) woke up my imagination of the place. Then I started a self-learning course for listening, where I had to repeat phrases from a quasi-real situations a few times during each lesson. This role-playing worked quite well, as after only 1 month of this course I was able to deal with random situations like i.e. to buy a ticket at the bus from the airport in Almeria. Then everything started to play in sync, when I was chatting or being chatted up at a nearby coffee place, park, etc… After 5 months spent there I was an effective communicator with a good writing and speaking skills.

How do you say “Hello” in this new language?

So how does it match learning Qt Quick, you may ask. Where’s the connection?

Learning programming language is in general easier task than learning the spoken language. If you know one, especially C-like language, you will find yourself easily around others. Those relations can be similar to a family of languages. It’s like learning Spanish for Italians, Dutch for Germans, Russian for Poles (or British English for Americans)… Qt Quick is more than that. Besides the Qt environment that is very much like C++, there’s also a UI layer defined in QML. I can assume every programmer had some experience with either XML or HTML and maybe knows a bit of JavaScript.

It might be difficult if you don’t know what to do with the new environment. Where to start, where to pick up, which way to go? Very important parts of learning this new environment are similar to the ones that make learning spoken languages successful. But Qt Quick is settled on some very strong pillars, which will be helpful for a programmer during all the development journey.

Four riders of the apocalypse Qt revolution.

Who are they? Where do they come from? There’s no problem figuring out where Qt started. It’s a company called Trolltech being a part of Nokia now. Why is it so good for developers? Here are the reasons.

One is to know what has been done with it already.  Qt has a 15-year long history of successful appliances in technology, entertainment and everyday-use devices. Big money and fame has already proved to have the Qt frameworks planted back in the garden. Nokia has already over 75million Qt-capable devices in the field and will continue to support the Qt development. Intel will continue developing MeeGo and will also support the Qt technology with their fantastic tools.

The next is what can you do with it as a programmer? Browse one of the open-source Nokia Projects, or Qt-Labs repositories, download them, play with them, modify them, do something new based on them! That’s so easy when you can see the real and functional app that’s open source. Then publish the app in the Ovi Store, or Intel AppUp store. If that’s not enough, see where else you could go with Qt. That gives myriads of opportunities.

Further one is the community here. You won’t be lost between examples, videos and download links. There’s an active and supporting community forum.nokia.com which is always available for you to help. I’ve been a part of that community for over 4 years now, and I have been very content with how it works. It’s like being in that coffee place or a park where people start talking to you, so the foreign land becomes your own.

And finally when you already know what to do, reach out for books. The recently announced book “Beginning Nokia Apps Development: Qt and HTML5…” is a perfect companion for the day-to-day development. And the F1 key should never be undervalued when working with the Qt Creator.

“Punk is (not) dead” was also a big hit since the early 1980’s.

Now one last word. I’ve seen many blog and twitter entries about “Symbian is dead” (or will be soon) and “Qt has no future” (because Microsoft tools are the future target). As I’ve been living in Barcelona, it reminds me of the case of the Catalan language. Many discuss the viability of this language vs. Spanish which is dominating globally. While we are a part of the global environment, we live in the local environment. The local environment will always have the advantage, because that’s how people are. Analogically, Qt and Symbian are “here and now”. They are very strong and growing. So global marketing of other platforms cannot change this. We will speak QML here.

2 Responses to Learning Qt Quick(ly)

  1. Nice Article…

    thanks for share..

  2. I can sense the passion on this article, definitively very inspiring !

    Thanks !

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>