New guides to help you develop with Qt Quick – faster!

Published Friday November 25th, 2011
31 Comments on New guides to help you develop with Qt Quick – faster!
Posted in Community | Tags:

We’ve been busy, and we hope you like what we’ve done!

You told us through surveys and direct feedback that the most valuable learning tools are those that give you practical hand-on experience – tutorials, examples, code samples. We’ve combined all of these and more into two brand new Qt Developer Guides just published at http://qt.nokia.com/learning/guides/. One of the guides helps you develop feature-rich applications for the desktop, and the other offers guidance on producing amazing apps for the 155 million+ Qt-enabled smartphones out there.

Both guides take you on a detailed step-by-step journey starting with a UI concept and progressing to a deployable application. They will give you a “training-course-experience” with the convenience of not leaving your own desktop.

1.       Programming with Qt Quick for Symbian^3 Devices
This guide will familiarize you with programming with QML using Qt Quick Components for Symbian. It will walk you through the development of a Todo List application for recording daily and upcoming list of tasks to be completed, sorting them into several categories and managing them. It covers various aspects of Qt Quick and especially Qt Quick Symbian Components programming such as the page navigation concept, database storage and the use of animation to edit, create or display details.

2.       Qt Quick Application Developer Guide for Desktop
This guide walks you through the implementation of a simple application called NoteApp inspired by the modern fluid UIs. NoteApp is a tool for managing daily notes which uses various advanced UI concepts including animations, database storage and Javascript usage for application logic rather than common well-known UI Elements used in desktop applications such as toolbars, menus and dialogs
The guides are available now in PDF, ePub and QtHelp formats.

If you like them, tell us so we can continue to produce more. If you want us to improve them, tell us how. Please give us feedback here:
–       Feedback on “Programming with Qt Quick for Symbian^3 Devices”
–       Feedback on “Qt Quick Application Developer Guide for Desktop”

We hope to see you in San Francisco next week!

The Qt Learning team

Do you like this? Share it
Share on LinkedInGoogle+Share on FacebookTweet about this on Twitter

Posted in Community | Tags:

31 comments

Nice! Keep up the good work! Let me add a proposal: How about a “Programming with Qt Quick for MeeGo Devices” (N950 and N9) guide?

Shmerl says:

That’s useful.

> The focus of these guides is on how to develop complete
> applications in QML with some extra JavaScript without any
> C++ as well as enhance the look and feel of your applications.

Can you please add a good guide guide for exactly the opposite – combining C++ and QML for more mature applications, where C++ is used for the program logic, and QML is used for the user interface. This guide will be very useful as well. Thanks.

Esdras says:

Great! Will there be any documentation like this for Harmattan/MeeGo? I’m trying to code some Qt Quick interfaces for N950, without success 🙁

wael says:

why no N9 guides? you make me sad

Jose Torres G says:

Nice Work!!!! I hope to see more guides like this…

mike7b4 says:

how about support linux host for symbian targets too? also symbian compler is pain even on windows cause the source must reside on same drive as the sdk 🙁

atm. I stick make only n9xx apps cause of this two problems. harmattan+qt is works eay better together 🙂

I’d like to see more N9/N950 love as well. I’m just starting with QML and having a really challenging time, partly due to documentation shortcomings…

http://tabulacrypticum.wordpress.com/2011/11/26/why-i-am-every-qt-experts-worst-nightmare/

David says:

I don’t like the idea behind QML. I’m developing Qt because I want to code C++ and have native output. If I wanted JS, I would choose HTML5 + JS, not QML. Ok I know that I can use C++ with QML, but this violates the idea behind QML. Currently, I’m staying with Widgets.

J. Puhr says:

+1 for David.

STiAT says:

That’s great news, but I have the same request for what I’m missing in the documentation as Shmerl. I’ve spent a reasonable amount of time with the existing documentation to take the entry barrier.

I think this learning tutorial is perfect to get a step into QML, and helped me as well, but I (and probably some other developers) would appreciate if there was a guide to come about QML UIs and C++ core.

meigel says:

It’s really great to get some new QML tutorials. I’d like to second the request of Shmerl and STiAT. A typical scenario is to have QML for UI and the main application in C++. I’d for example be interested in how to switch between QML UI (e.g. a menu) and C++ Qt application graphics (e.g. some plotting/animation).

I also appreciate the ePub files! However, it would be great if you could check on the resolution of the embedded screenshots. They are pretty much useless the way they are now.

Bruno says:

What about N9 guides?!

I don’t quite understand the N9/N950 questions. I wrote a QML app for N900 and Linux/Windows/Mac desktop. The QML part is for N900 and desktop identical. When I got a N950 it also just worked without a line of QML code changed. Do I overlook something? I just don’t see the pressing need for a N9 specific QML guide.

Victor says:

Must add my request to the others (especially meigel)… need a QML tutorial with a C++ backend and a graphics component (simple xy chart!).

jryannel says:

There is more information on C++ integration in the “Integrating QML with C++” module of our training material (http://qt.nokia.com/learning/online/training/materials/qt-essentials-qt-quick-edition). Maybe this is also interesting for you: http://developer.qt.nokia.com/videos/watch/qt_quick_for_c_developers.

Flavio Tordini says:

+1 for David. C++ and HTML5 (and mixes thereof) handle most of the use-cases I can think of. With CSS3 effects rapidly evolving, why tie yourself to QML when you can do HTML5 and actually be *more* portable?

psaraci says:

@David, @Flavio, using C++ and QML for your application does not violate any idea behind QML. In fact you should think of QML as a new modern approach to developing UIs using great and convenient set of elements. The fact that QML has great integration with Javascript and you could potentially write your app without any C++ does not necessarily mean you should not use C++. Certainly, I would switch to QML for the implementing UIs now that Qt5 is coming.

David says:

@psaraci well, actually it does violate the “idea”. I’ve seen too many posts of qt devs saying that they are expecting their devs to move to QML + JS. Sorry but having C++ as some kind of backward compatibility or obsolete language is not acceptable for me at the moment.
Also QML is more suited for JS than C++, and I want a technology which primary target is C++ and not any other language.
Also don’t misunderstand me, I have no problem with declarative ui. I even think that it’s the way to go. I have experience with XAML(WPF and SL) and I love it, but I wouldn’t invest one minute of my time in QML. I wouldn’t have worked with neither WPF nor SL if MS provided JS as it’s primary dev language and not C#.
So once again, JS is good with HTML5 and not with C++.

psaraci says:

@David we encourage devs to move to QML since that is the new approach to develop UIs and while at it using JS is recommended but nobody is saying that C++ is for compatibility only and certainly no such thing as C++ being obsolete.
C++ is here to stay with Qt and have in mind that QML is derived from Qt/C++ using the Meta Object System of Qt.
It totally depends on your project’s requirements and on you if you want to use C++ with QML or just QML+JS or a combination of QML, C++ and JS.

Have a quick look the developer guides, try the source code and see how powerful QML is and what you can achieve with it.

J.M.P. says:

Cited: “…we encourage devs to move to QML since that is the new approach to develop UIs …”
LOL. In your dreams.
I guess C++ will survive Nokia/Trolltech; even in 10 years it might still be one of the five most widely used programming languages.

QML won’t get much attention; there is too much competition in its niche. And not even the future devices of your own company will support it.

Victor says:

@jryannel,

Thanks for the pointers to the older material.

But what should be inferred by the lack of a more reassuring response like “What a great idea! A new improved QML C++ tutorial showing some cool graphing!” (considering the qml-to-cpp discussions and how obviously JS is preferred) ?

I am now worried about starting my project with qml since C++ is apparently being ignored.

psaraci says:

@Victor, No need to worry, QML and C++ are safe and here to stay.
There is no such thing as C++ being ignored, Qt is a C++ framework and it will always have a great support for it, by default!

There is already good documentation for QML and C++ and if you check carefully Qt’s SDK official documentation you will find lots of content and tutorials and see how well, easy and straightforward is to work
with C++ and QML.

These new developer guides are here to help you get quickly started with QML language.

Shmerl says:

I understand that there is a documentation, but tutorials have a benefit of easing the learning curve. What I’d like to see is a good beginning tutorial for scenario of QML UI & C++ backend which is in my perspective recommended to everyone.

Of course C++ doesn’t violate QML idea. It’s a good idea of separating the declarative UI, from the application logic. Consider JavaScript and C++ as supported languages for logic, and QML as declarative UI. Mozilla made the same thing with XUL for example. But, please don’t discourage users from using C++, saying that JavaScript is advisable (even though you say C++ is here to stay).

David says:

@Shmerl that’s what I wanted to say, but couldn’t due to my poor english skills 🙂

Kevin Franklin says:

Thanks for the suggestions everyone – it’s great to get such an interest and discussion.
When we had the idea (more accurately the idea for the guides came from community feedback!) we needed to take a first step, so we started with Qt Quick. It is relatively under-served with good documentation compared to other areas – there are obviously already many years-worth of documentation/ tutorials / code samples for C++.
These guides will definitely be built upon, so your ideas and suggestions are very valuable. Keep them coming – and please also use the feedback forms (links in my original post).

Victor says:

Kevin and psararci,

Thanks for the reassurances. Will forward as planned with QML.

Laurent says:

Thank you, thank you, thank you, thank you, thank you,…., thank you… for creating such guides… they are really helpful in order to get a first approach on how a real application made out of the different bricks that are composing the Qt landscape can be made.

Kevin Franklin says:

************************************************
We have now updated “Programming with Qt Quick for Symbian^3 Devices”
************************************************

Due to the many requests we have added an additional chapter. This describes porting an application from Qt Quick Components for Symbian to the N9 (MeeGo/ Haramattan).

@Stavros Filippidis, @Esdras, @wael, @Randall “Texrat” Arnold, @Bruno – I hope this will help you some more.

************************************************
Please be sure to leave us feedback at http://qt.nokia.com/forms/feedback/qtquicksymbian-guide
************************************************

Mika Hanhijärvi says:

@ mike7b4 November 27, 2011 at 3:49 pm

> how about support linux host for symbian targets too?

You can use Remote Compiler which allows you to compile Symbian apps on Linux. I do use remote compiler daily and it works wery well. I am developing Qt apps for Symbian and my development system runs Debian GNU/Linux.

Mika Hanhijärvi says:

@ David November 28, 2011 at 8:10 am

> don’t like the idea behind QML. I’m developing Qt because I want
> to code C++ and have native output.

Well no one is forcing you to use QML, you can create your apps using QWidgets if you want. It just is much easier to create fluid animatad UI using QNL than using QWidgets.

I am a long time C++ developer, and I simply löove QML.In my opinion QML is really really nice.

> If I wanted JS, I would choose HTML5 + JS, not QML

I don’t really like HTML5 at all, in ny opinion QNK is much better.

> Ok I know that I can use C++ with QML, but this violates the idea
> behind QML. Currently, I’m staying with Widgets.

No it does not violate it. C++ integration in QML allows you to separtate the application logic and UI-part of the app. It also makes it possible to extend QML functionality.

Commenting closed.

Get started today with Qt Download now