![]() |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
They cannot have *identical* widget sets as the functionality is different on various platforms, but you will certainly get a lot less #ifdefs than you would by making separate MTF, Orbit and QWidget UIs.
|
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Here's how I see the situation:
So basically we have 3 main separate and largely incompatible GUI tools: - QWidgets: Native look&feel for each platform, cross-platform but deprecated. - QML: also cross-platform, but mostly recommended for creating totally unique GUIs. - MeeGo Touch: MeeGo only; hardware-accellerated So the cheapest solution is to use one of these depending on your target platforms, and if you can afford it, you can use the others too for making different UIs for different platforms. Do I see the situation correctly? |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
personally, the summary, as i'd put it, is below. summary being (as it ended out being a bit longer than I expected), with no surprises: - QWidget is portable, but aging badly - QML is shiny, new, and looking promising, but really needs more work in the portability department with e.g. components (no, mobiles really aren't the only target in the world, no matter what you say, Nokia) - which is something I myself have started playing with in the past day - MeeGo Touch is an 'ok' choice if you want a good product on MeeGo now and don't care about maintaining it into the future or making the best technology choice for deployment on multiple platforms. The comparison: QWidget (note, that it isn't deprecated from the Qt point of view as there is no capable replacement yet, but it clearly isn't where UIs of the future are coming from) Pros: - Cross platform - Native look and feel Cons: - Not really flexible enough to do some of the shinier UI tricks - Painting stuff yourself is really a pain in the ***, especially when you get on to things like delegates QML Pros: - Cross platform - Flexible Cons: - No native look and feel - Immature - QML (with Qt Components) Same as QML, with the addition: Pros: - Some native look and feel, but only on limited platforms at this point. MeeGo Touch Pros: - Designed for Omg! Shiny! - Fairly mature, thanks to having had a number of applications built on it Cons: - A very, very moving target - I don't think the API was all that well thought out in places (seriously. MContentItem, MBasicListItem, MAdvancedListItem, MDetailedListItem?! how many different ways do we *really* need to show data in a list..), nor the requirements, and it shows in the sheer amount of stuff that is deprecated from MeeGo Touch, even in more recent times. - No look and feel for platforms other than MeeGo whatsoever - Increasingly less portable (things like MGConfItem, in addition to being kind of crappy design, are kind of hinting where the target platform is) |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Where I can find Qt 4.6 binaries for ARM platform (Maemo5)?
Maemo repository doesn't have it (see bug https://bugs.maemo.org/show_bug.cgi?id=11437) |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
[I don't think this is strictly on-topic for this thread, btw] |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
EDIT: Yes, I understand that Maemo 5 is not Maemo 6, but... |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
apt-get -d --reinstall install libqt4-core This will just download and not actually reinstall. Then look in /var/cache/apt/archives and you should find libqt4-core_4.6.2~git20100401-0maemo1+0m5_armel.deb |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
|
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
Thanks for reporting it. |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Here's the bug fix for FREMANTLE_ARMEL:
Code:
--- qt4-x11-4.6.2~git20100401.orig/configure 2010-04-08 02:48:34.000000000 -0700 qmake moc rc uic with the above patch on an x86 machine in the FREMANTLE_ARMEL target with the following command: Code:
dpkg-buildpackage -b -d -nc -rfakeroot |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
For a moment I build it on N900, following your instruction in other thread.
EDIT: It again failed in opengl check - "The EGL functionality test failed! EGL is required for OpenGL ES to manage contexts & surfaces. You might need to modify the include and library search paths by editing QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in /root/qt4-x11-4.6.2~git20100401/mkspecs/linux-g++-maemo5." Both packages - opengles-sgx-img-common-dev and libgles2-sgx-img-dev are installed as so as non "-dev" versions. |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
|
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
From a developer point of view I do want my application to look exactly the same on all targeted mobile platforms. I don't want my application to look different in symbian than meego or maemo. I mean we are talking about mobile devices having almost same screen size/resolution. There are four mobile os-es supported right now, why should one think an application needs to look different in any of them? Well I now that the look and feel of a button is not same on meego vs symbian but that doesn't mean I need a button class for each. This should be Qt hidding it from me. If they cannot achieve that then this means Qt fails to deliver on its promise big time. From a user point of view it means that some platforms may not get some applications because it means redesigning all UI. So platforms having lower market adoption (think Maemo) may not get applications after all, even though they are available for other platforms supporting Qt. |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
|
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Exactly it s not cross plateform but Qt minimize the pain.
|
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
None of the elements you mention must be os specific. I mean I would've have them all put under Qt umbrella. If I want soft keys implemented that is fine, I put the code in Qt, making a note that it is only symbian supported. Meego finds out that it needs soft keys, here they are,we enable them in qt. But each with its own set of controls it is simply bad design and bad interaction between architects. I understand that they choose the shortest path but eventually this will strike back as Qt doesn't deliver on its promise. Instead they should've plan better and when a UI component is needed implement it in all platforms, make it look the same and everybody would've been happy. |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
|
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
Quote:
|
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
I am going to recreate the rest of binaries (moc etc). But just one question - zrules.txt misses some parameters in comparison with debian/rules, like "-graphicssytem raster" or "-phonon" or "no-rpath". Do I need to add that to zrules.txt? |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
|
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
I haven't tried building Qt in PR1.3 yet, but I was able to fix some other compile errors for 1.2. However, that just opened a can of worms that maybe revealed a deeper issue. Anyway, I'll try building 4.7 when I get a moment, and if the build fails as it did in 1.2, I'll post some details here. |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
BTW, in 4.7.0 it seems fixed and now I bump into "absense" of XLib. It doesn't elaborate which kind of xlib it needs - run time or developer build time. Or it may just absence of /usr/X11R6/lib... |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
From scratchbox in the FREMANTLE_ARMEL target: Code:
mkdir qt |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
And don't forget to do the following:
Code:
fakeroot apt-get build-dep libqt4-dev |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
|
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
E: Build-dependencies for libqt4-dev could not be satisfied. without elaboration and sign of more extensive diagnostic. |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
Code:
apt-get update Code:
fakeroot apt-get upgrade |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Awesome, the other build errors are gone in 1.3. Here's the debian/rules diff needed to complete the build:
Code:
--- debian/rules.orig 2010-10-27 01:04:40.140719086 +0100 Code:
-rw-r--r-- 1 maemo maemo 9898818 Oct 27 01:13 libqt4-core-dbg_4.7.0~git20100909-0maemo1+0m5_armel.deb |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
|
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
Code:
(chroot)root@Nokia-N900:/ |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
I gave up - for qt4 build I turned to scratchbox.
On "apt-get upgrade" it find hildon-initscripts version from SDK which is clearly for scratchbox (it tryes to remove mp-fremantle-002-pr) and "apt-get build-dep libqt4-dev" repeats the same unreasonable error message (see above). Later I will compare the installed packages on both - scratchbox and N900 with qt4 debian/control but for now I think I am spending too much time just to fix a simple bug in small qt-based program. |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
OK, I successfully build all qt4 packages in scratchbox and I have now ARMEL binaries for libqt4-dev - qmake/moc/uic/etc. It took a couple of hours, so in N900 it would take a couple of days I guess.
Let's see can it work for simple qt4-based application build in N900 (I target googlelatitude) now. If it work I can share that binaries. EDIT: googlelatitude build on N900 works... some issue does exist but it may be bugs... In any case - big thank to daperl for providing clues and build bugs fixes. |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Sorry for interrupting but aren't you taking this old thread too far from its original topic?
|
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Quote:
Sorry, if it bothers you. |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
I would say Quim is asking that not because what you say is not interesting but because this topic is in the Harmattan forum and about Maemo 6...
|
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Sorry for bothering you the last time in this thread -
I upload a package libqt4-dev-armel into https://garage.maemo.org/projects/libqt4-dev-arm/ You can install it on N900 Maemo for small QT development instead of libqt4-dev. It is built from the same source but with ARMEL binaries. |
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
Ok, people, do you now understand, after the windows Phone 7 announcements, why I started this thread? And do you see now why it was such a bad idea?
|
Re: Maemo 6 loosing source compatibility with plain Qt, and Symbian^4
It sounds like the OP doesn't think this is too far off topic, and it might even be relevant to what's happening nowl
|
All times are GMT. The time now is 04:57. |
vBulletin® Version 3.8.8