Hello my dear technical folks,
Sorry it’s really a long time to post something on my blog. I was busy since last several months in Nokia Events and Device Assesment. We had a wonderful Nokia Developer Conference in Dec 2009. Anyways, leaving all those things behind, I come on the main topic. Well as you know very well about Nokia’s old devices and their platform like S40 Java based and S60 Symbian C++.
This year Nokia released something new for developers. It’s Qt. Some of you must be aware of Qt Desktop development but now it also supports Nokia Mobile Devices.
So I would like to give you some information about this new born Baby of Nokia Inc.
Qt(Pronounced as 'Cute' “Q” looked beautiful in Emacs font. “t” for toolkit) is a product of QtSoftware, Originally named Trolltech. Actually the approach behind Qt developement was to develop an Object Oriented Presentation System. So very first prototype was ready in 1993 and next year they formed a company in Norway named as TROLLTECH. And next year in 1995 the 1st Qt version released in market (Qt V0.9).
A lot of Companies are using Qt since several last year. Companies like Google, Skype, Volvo and many more...
Actually basic Idea behined Qt genartion was to develope a C++ or Java application once and deploye it across many destop and embeded Operating System without chaning the code atall. That’s why we call CODE LESS CREATE MORE AND DEPLOYE EVERYWHERE
Although Qt developed as GUI Framework but now it is much more than a UI Framework. In starting Qt was only suporting the desktop OS like (Windows, Machintosh, Linux etc), but as apprach was so appealing and addoptive so it expeded over Embeded OS too. In 2000 when Samrt Phone market was rising like a beautiful sun, Trolltech also decided to give support Qt for Mobile.
They started working on it and finally in 2006 there was 1st Qt phone realesed in Market. The name was GREEN PHONE and Manufacturer Company was Qtopia. Greenphone had already touch screen and several wireless interfaces.
So fnally in 2008 Nokia acqaried the Troltech and stated to use Qt for their Linux based device. Also nokia started palning to strech Qt over Symbian S60 devices. So that can share mass volume market.
Ofcourse Qt supports both desktop and mobile palteform with similar code. But there are certain features available in Mobile Devices which are not the part of desktop OS. Features like Camera, Sensor, Masseging, GPS etc. SO for accessing this feature there was a niche for set of special APIs. Nokia started working closely with Symbian Foundation and realeased Mobility APÌs package for accessing thease features.
N 97 (S60 5th Edition)
Nokia N900 (Maemo Device)
Right now Nokia Mamemo and S60 3rd Edition onwards devices supporting Qt developemnt. The upcoming Nokia N8 would be 1st Fully fledge Qt device. Althouh current S60 devices are also supporting Qt with Qt installer.
The beta version of Qt SDK is avialble on Forum Nokia Website. You can download it free of cost from there.
Qt in nutshell
"Qt is Class Library for plateform independent developemnt of Graphical User Interface based on C++."
The framework also inclide XML, database, Internationalization, Networking, multithreading etc.
Some can raise a question if Qt came into existance for plateform independent developemnt of GUI then why did they forget Java. When Java was there then what was the need of Developing Plateform Independent GUI farmework. Yup, question is having a point. But I have better answer also. :p
Java Swing is very good for creating GUI but not in terms of Native Look n feel. For example if u create a buuton in Swing and see output on different OS like Windows Linux Machintosh would be same. Some time it irritates user (or developer) that what the heck, I am using Machintosh but my button is looking similar to Windows output or similar to Linux output. But in Qt if u use QButton object for creating a Button on screen the Output of Button UI would be different on each plateform. e.g. On Symbian Device it would look like Symbain Native button and On Windows screen it would come like windows default button.
So, Native look and Feel is very advance and special feature of Qt.
Comparison: Java vs. Qt
Java: write (and compile) once, run everywhere
Runs on JVM (Java Virtual Machine)
Executing byte code is slow and restricted
Qt: write once, compile everywhere
Compiles straight onto the device’s processor -> fast
Native performance and feeling
Full access to APIs available for 3rd party development
GUI –development: Qt vs. Java
Whitepaper about Swing vs. Qt available
Motivation for bringing in Qt to Symbian
We already have huge mass of Symbian Develpers out there. But Symbian developement productivity is not best possible. Now a days there is so much diversion in market. Sevaral plateforms are available for development like Android, Objective C, Brew, J2ME and many more. And my Symbian Folks would probably know better how steep is learning curve of Symbian S60. So it is not easy to getting new developers to learn Symbian. Even I tell you honestly when I satrted Symbian Development long time back, It took almost a week to understand the complete flow of Helloworld Basic program. ;-) Yeah of course I love Symbian S60 developemnt but in challenging market Nokia decided to take some steps to rducing the complexity of coding for Symbian Devices. So they layered Qt over Symbian S60 and started working to remove Avkon completly. Symbian^4 will repalce S60 UI with Qt Based UI.
Qt Nokia SDK contains
Qt Creator
It is powerful IDE for Qt developemnt. It is having advanced C++ code editor, Context Sensitive Help System, GDB based visiul Debugger and many more.
Qt Designer
For creating from based UI. You can create UI with drag-drop of components. It would remind you Visual Basic Style Form Designing. :-)
Qt Linguist
For Intenationalization, Change the language of ur Code for ragetting international Market. By using this tool u can convert your application in several different natural languages(e.g. English, Chinese, Russian bla bla).
So if you are feeling excited after knowing the facts with Qt then why are u waiting. Just Log-on to Forum.Nokia.com and download the Beta SDK and start your own development.
See you soon with some other interesting facts. Good Bye till then.
Happy Reading :-)
Technically Urs,
Superbyte ..!