Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
GUI Handhelds KDE Graphics Software Hardware Linux

Nokia's Maemo Switching To Qt 182

suka writes "During a keynote at the Gran Canaria Desktop Summit, Nokia's Quim Gil announced that a future release of Maemo is going to be built around Qt. Maemo Harmattan is going to switch away from GTK+ / Hildon, derStandard.at reports from the conference." Michael Pyne also writes with a post describing day one of the conference from a KDE perspective.
This discussion has been archived. No new comments can be posted.

Nokia's Maemo Switching To Qt

Comments Filter:
  • N900, please (Score:2, Interesting)

    by yk4ever ( 1110821 ) on Saturday July 04, 2009 @06:59PM (#28583103)
    That's all fun and games, but why are there no new products in the Internet Table line? C'mon, it's been almost 2 years since N810. The OS lives while the hardware was abandoned? Weird.
  • I wonder about this (Score:4, Interesting)

    by erroneus ( 253617 ) on Saturday July 04, 2009 @07:45PM (#28583307) Homepage

    There is a lot of software for the Nokia N810 and below. Switching out to a new UI means a lot of stuff will either get uprooted or there will be a lot of libraries loaded into the machine's precious little memory.

    Still, if the developers of software port over to the new environment quickly enough, it won't matter but I can't imagine things will be quick enough.

    What can be done under Qt that can't be done under GTK? Is Qt more efficient in some way? What are advantages of Qt over GTK? I've never been clear on the differences... I just know they are different.

  • by shutdown -p now ( 807394 ) on Saturday July 04, 2009 @09:16PM (#28583741) Journal

    You forgot one thing: performance. Qt guys take it very seriously, and have numerous tests showing off just how fast their rendering and layout code is. I would imagine that, for resource-constrained devices, this can be a big deal.

  • by keithpreston ( 865880 ) on Saturday July 04, 2009 @09:34PM (#28583795)
    I can tell you right now, this will kill Maemo. QT is a pretty good GUI toolkit, but this is going to draw in QT Embedded (QWS server and such). I personally have been working on an Embedded QT device for 2 years and can tell you, QT Embedded is horrible. Nothing more then a Demo written by Trolltech to try and expand the market share. The biggest pain with QT, is that since it tries to be cross platform is it re-implements everything (Networking, Audio, Mutexs etc... etc..). They make it fairly easy to use their bad, slow code, while the "beautiful" non-standard signal slot system makes it a pain to integrate with real C or C++ code. If they wanted C++ they should of gone with GTKmm.
  • by eean ( 177028 ) <slashdot@@@monroe...nu> on Saturday July 04, 2009 @10:29PM (#28583993) Homepage

    Nokia wants a common platform across their internet tablets and smart phones. Given that the Symbian is going to support Qt, and the Symbian user base is much greater, its makes sense that Maemo would want to have access to the 3rd party apps written for the user base that numbers in the millions

    And really it was clear in the talk he gave that the Maemo stack is still mostly unchange, and still using most of the Gnome libraries including crucial stuff like Tracker. Really even with the change in UI toolkit, its more Gnome then KDE, especially as none of the Maemo stack actually originated from the KDE community, where as much of it did from the Gnome camp.

  • by Draek ( 916851 ) on Saturday July 04, 2009 @11:00PM (#28584097)

    My main issue is that Qt is pretty strongly tied to C++, and I *despise* that language. Whereas GTK in C may be horrible, but the bindings to Python, Ruby and C# are all excellent and a newbie dev could easily believe they were designed for them from day one.

    However, all the other advantages you mention are still valid, plus Nokia controls Qt so overall I support this move, it was the most logical thing they could do. They've lost me as a developer, but I don't think anyone's gonna cry over that ;)

  • by drizek ( 1481461 ) on Saturday July 04, 2009 @11:30PM (#28584227)

    Unfortunately, the n8x0 development community has been kind of dead since the introduction of The Great One. It isn't completely gone of course, but it is a lot less active than it was a year ago. The current stable of apps aren't going to be as useful as we would like them to be. The other thing is that there never really was that many to begin with, nothing even approaching what the iPhone has. Most of the development seemed to revolve around fixing deficiencies wit hteh OS(alternate environments, media players, web browsers and other things that got done right the first time in android/iphone/pre). Also, many of the apps were just straight ports of desktop gnome/gtk apps, and it would be rather trivial to do the same thing with qt/kde apps.

    Another thing is that by switching to qt you can tap in to the KDE development community. KDE devs who were never interested in writing gtk for the n800 may now get excited about the 900 and pick it up.

  • by Kjella ( 173770 ) on Saturday July 04, 2009 @11:43PM (#28584285) Homepage

    My main issue is that Qt is pretty strongly tied to C++, and I *despise* that language.

    Did you try C++ with or without Qt? I must admit, I don't like C++ outside of Qt, it brings the whole platform to another level. QStrings and QByteArrays are a godsend compared to std::string and char *. Using the QObject system I easily write applications with no memory leaks because it will delete any child QObjects when it goes, making it easy even without amy garbage collector. Finally, using signals and slots makes your application more robust - screw something up and nothing will happen because the signal never reaches its destination but it won't crash hard on an invalid pointer. Granted, I've heard you can do the same with STL and boost and duct tape, but I never managed to do it.

  • by Anonymous Coward on Saturday July 04, 2009 @11:49PM (#28584311)

    With the Mono infection and the reliance on GTK, the best thing would be for GNOME to go away. It started because Qt wasn't LGPL. That no longer applies, so let it die.

    If you want GNOME to go away, there first has to be a halfway decent Qt-based desktop environment. Even after a year and a half after it's initial release KDE4 isn't up to par.

    KDE4 needs to die.

  • by ardor ( 673957 ) on Sunday July 05, 2009 @03:48AM (#28585015)

    gtkmm is sort of ok, but Qt is still superior. It has a much cleaner API, better documentation, a MUCH more powerful canvas widget, support for reflection of QObjects (very useful for stuff like RPC), etc.
    gtkmm on its own is fine, but it suffers from having to inherit the gtk wall bangers, most prominently, the API.

  • by jipn4 ( 1367823 ) on Sunday July 05, 2009 @03:59AM (#28585045)

    Nokia has its own lightweight GUI library that they use with Symbian--and their UIs suck. They have built applications with Gtk+--and their UIs suck. They have build Windows and OS X desktop apps--and their UIs still suck. I think the problem Nokia has with GUIs and software has to do with how they develop software, not whether they use Gtk+ or Qt.

    Another problem with their choice is that it ties them to C++; the trend in mobile development, however, is towards other languages, like Javascript (Pre), Java (Android), Objective-C (iPhone), and C# (Windows Mobile). Only Symbian steadfastly clings to C and C++. That would be fine if Symbian actually ended up being the fastest and having the best UI of the bunch, but it's actually the slowest and least responsive of the bunch.

  • by Anonymous Coward on Sunday July 05, 2009 @04:53AM (#28585205)

    Take a look at GTKMM [wikipedia.org], the C++ binding for GTK+, which uses:

    The problem is that gtkmm is always "something to take a look at" instead of being something people actually use. Why is that? The C mentality of gnome devels? General badness of gtkmm?

    One advantage of Qt is that it was C++ from birth, so C++ is the unquestioned first class citizen in the Qt world.

  • by BlackCreek ( 1004083 ) on Sunday July 05, 2009 @09:39AM (#28586063)

    I absolutely agree with you that too many people write Nokia off the phone market due to nothing but "kool-aid". Either Apple or Google (android) kool-aid. Or the fact that they only know the US market, but have no idea of what happens elsewhere.

    One point people seem to miss is that not everyone wants/can/will buy such ridiculously expensive phones to start with.

    However.... I own a G1, have messed around with an iPhone, and played a lot with my GF's Nokia 5300 X-Press music. Nokia's current problem is that their phones are not designed around the expectation that the user has a "all you can eat data-plan". While this allows them to sell phones to people without a data plan. It has lead to a mess of connection settings, connection permissions, and syncing.

    As a phone, and multimedia player the 5300 beats the shit out of the G1 (lousy battery, heavy). But Nokia really needs to clean their act regarding internet browsing, application download (ovi sucks!), and syncing.

  • by chris-chittleborough ( 771209 ) on Sunday July 05, 2009 @11:17AM (#28586465) Journal
    The Qt designers don't just create widgets etc, they design components that are easy to program with. As part of this, they avoid stuff that requires the tricky/ugly parts of C++. For instance, you rarely need to explicitly delete objects, because their libraries use reference counting to automagically delete objects at the earliest appropriate time.

    So it is easy for any good programmer to learn enough C++ to use Qt effectively.

    (Actually, Qt uses an extended version of C++, implemented via a preprocessor. The extensions provide "signals" (like no-op methods) and "slots" (methods which can be connected to signals), plus a limited-and-very-useful facility for run-time widget class information. As usual with Qt, these facilities are just extensive enough make it easy to do the things most people want to do, rather than trying to provide everything that anyone might want.)
  • by Anonymous Coward on Sunday July 05, 2009 @01:48PM (#28587275)

    Using the QObject system I easily write applications with no memory leaks

    Good luck trying to verify that with Valgrind - it gets totally confused by Qt's little memory management tricks and reports all kinds of memory leaks.

    Have you verified that there weren't any memory leaks or are you just guessing?

  • Re:GNOME (Score:1, Interesting)

    by Anonymous Coward on Sunday July 05, 2009 @03:49PM (#28588075)

    Ignorance is bliss, isn't it? You do know that GNOME has a HIG because it NEEDS it, in order to specify every toothgrinding little detail that is mostly done automatically in Qt/KDE... Congratulations to the GNOME brainwashing team for making a virtue of necessity so successfully that people think it's a weakness of the competition to not have one as extensive. :>

There are two ways to write error-free programs; only the third one works.

Working...