View Single Post
Posts: 19 | Thanked: 56 times | Joined on Nov 2009 @ The Netherlands
#1
[Note: this is a copy of a message I posted at Forum Nokia, about compatibility between the Maemo6 UI and the and Symbian ^4 UI, this being my main concern. But because Maemo 6 is also breaking source compatibility with Qt in general, I am posting here as well, as Qt's single source/multiple deployoment is being used to attract developers to Maemo too]

I would like to know Nokia's official position on source code compatibility between Maemo 6/Qt and Symbian^4/Qt.

As far as I know, Qt enables single source/multi-platform programming, and that ability was the main reason Nokia has bought Trolltech. I have seen live demo's of a single source Qt app compiling to both Windows XP and S60 5th ed.

Also, Qt is currently being advertised by Nokia in both the Symbian Developer community and to other (mobile) developers as enabling them to a single source app and deploy it on multiple platforms, including some mobile ones (not the one we need, but anyway).

If one looks at such a source I see some kind of archetypical app looking like (from the Qt 4.6.0 beta release)

#include <QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainWindow window;
window.showMaximized();
return app.exec();
}

So, I would expect code for Maemo 6/Qt to look exactly like this.

However, on this site [http://zchydem.enume.net/?p=128], which is linked to from maemo.org, and also in the Harmattan source repository (http://qt.gitorious.org/maemo-6-ui-f...hnical-preview), the example code looks like this

#include <DuiApplication>
#include <DuiApplicationWindow>
#include <DuiApplicationPage>
#include <DuiButton>

int main(int argc, char *argv[]){
DuiApplication application(argc, argv);
DuiApplicationWindow window;
window.show();
DuiApplicationPage page;
new DuiButton("Hello", page.centralWidget());
page.appear();
return a.exec();
}

Apart from a certain API similarity I would not say this is Qt code. And even if it is Qt code, with DuiApplication being a subclass of QtApplication, it is immediately clear that there is no source compatibility here.

On developer.symbian.org there is talk (http://developer.symbian.org/wiki/in...Prop/Direct_UI) about a Qt based Direct UI, which abbreviated looks just like Dui. But in the paperwork I've seen there are no API's by name, so it is not possible for me to verify whether Dui on maemo 6 and Direct UI on Symbian^4 are the same.

So, some questions

1) Are Maemo 6 and Symbian^4 both going to use this Dui/Direct UI library? If not, why not?

2) Why is Nokia departing from Qt single source/multiple deployment promise for this particular case. I can imagine one might need new widgets for new controls, but I fail to see the technical reason to create a new application class.
 

The Following 23 Users Say Thank You to svdwal For This Useful Post: