Important: Please read the Qt Code of Conduct -

Beginner: Some Questions to Experts

  • Hi,

    I have been taking quite a bit of interest in programming these days. My main motivation has been the Nokia N9 and the development of its quality apps inspite of being called a 'dead platform'. It will be right to say that Maemo/MeeGo community has inspired me a lot.

    Keeping the above things in mind, I want to learn to program some basic stuff for Nokia N9. One such app idea is in my mind which sets selective Contacts' calls to be allowed to ring while others silenced. Just an idea.

    I request the experts to guide me in the right direction. Although I have a Bachelor's degree in a very different field (Civil Engg), yet a 'Very Basic Programming' course in C language @ University induced some interest. I had lessons up till POINTERS in that specific course.

    Didn't get a chance to continue higher level programming afterwards, but I am thinking of giving it a try.

    So what could be the best route?


  • Moderators

    You in fact ask 2 different questions: one about the N9, and second about learning how to code.

    As for N9, I have no experience there, I think you would need the old Nokia Qt SDK (available at the bottom of Downloads page here in Qt Project).

    Learning is a different thing. I would suggest trying out local first (not mobile, but on your own machine), as it's easier to set up and execute. I'd also suggest getting to know Python before proceeding to C++. While Qt makes developing in C++ a dream job, it still uses the language itself - and it's not easy. There are a lot of things in c++ that are useful, flexible and powerful, but can be overwhelming for a beginner (the standard value, pointer, reference division is one of the first walls people tend to hit :) ). In other languages, like Python or Java, those things simply don't exist, which makes "boot up" easier (I think. Myself, I went through the hard way of learning c++ first).

    Apart from that, learning by doing is IMO a good way. Once you get some basics, try thinking about a project of some sort (like file search, or a calculator, etc.). I usually set myself a project I have no idea how to make, this ensures that I have to work hard and learn a lot in the process ;)

  • sierdzio is right about N9 and Qt SDK. Start from Qt Quick - it is very simple and still really powerful tool (e.g. I choose Qt Quick over C++ for mobile apps). Start with plain Qt Quick (do not look at components). After some time you will figure out how to move your app(s) to other platforms: BB10, Android and there will be more most probably (e.g. Ubuntu Phone, Jolla Sailfish).

  • Hi Khan

    To develop for the Nokia N9 as I do, the first thing is to install the Nokia version of the QT SDK, not the version from the QT Project.

    You should find the Nokia SDK here:

    The Nokia version comes with the

    • Nokia Simulator - which is lightweight and allows you test things like sensors, GPS etc.
    • QEMU Emulator - more "heavyweight" and therefore slower in operation, but runs identical code to that on your N9.

    The Nokia SDK is a little older than the latest QT5 SDK from the QT Project - but that should not be a problem for you. (And the N9 officially only supports Qt 4.7.4 in any way - to get QT 5 running on it requires major hacking).

    I actually have both the Nokia SDK and the QT5 SDK installed, and have managed to "hack" the setup of the QT5 Creator to use the Nokia Simulator and QEMU from the Nokia SDK.

    As for improving your programming, well the basic concepts of good software engineering are identical regardless of which language you use - it's mainly semantics that differ. But for QT / N9 the place to start is with Qt Quick - otherwise known as QML and its sidekick JavaScript. This is what I have been doing - I only rarely need to venture into C++ - but both can be mixed.

    If you google you wil find lots of QML examples. Some will also be delivered with the QT SDK.


Log in to reply