Nokia Announces Qt 5 Plans
aloniv writes "Since Nokia announced its switch to Windows Phone 7, people have been worried about the future of Qt. Well, it turns out Nokia is still going full steam ahead with Qt, having just announced their plans for Qt 5. Some major changes are afoot code- and functionality-wise, but the biggest change is that Qt 5 will be developed out in the open from day one (unlike Qt 4). There will be no distinction between a Nokia developer or third-party developer."
At this point, Nokia is just tossing stuff out there as they think of it. "Oh man, we pissed off a massive chunk of our developer base. How do we make them less furious at us? ...besides scrapping the Windows Phone thing, I mean."
"There will be no distinction between a Nokia developer or third-party developer." becomes "Develop it yourselves you lazy bastards, but dont forget to put our name on it too"
It's going to be a behind-the-scenes change and it's not as big a deal as the kde3kde4 change. Reference: http://aseigo.blogspot.com/2011/05/relax.html
The deal between Microsoft an Nokia has been a big topic with many opinions. The opinion that Microsoft actually needed a strong hardware platform for their OS more than Nokia needed Win Mobile for their phones is a strong contender for me. Maybe having a say in keeping Qt open is a clear signal that this is also truly the case. It could very well be that Nokia was keen for the partnering but is not ready to sell their soul and cut off all options for the future. ~
!
KDE5 will not break the world like KDE4 did. Just as Qt5 will not break the world.
http://aseigo.blogspot.com/2011/05/relax.html
http://aseigo.blogspot.com/2011/05/qt5-kde5.html
Climate Progress - Hell and High Water
Good call... so in other words, something use something like http://www.wxwidgets.org/ for cross-platform development while still hooking into native widgets?
I came from a Gtk+ background, but am using Qt Quick (QML) in one project. The widget set as of Qt 4.7.2 is woefully anemic, but other than that, it seems like a general improvement over using C++ for the entire UI. At least 90% of user interfaces (averaged over the world's applications; there are a few very graphics-intense apps that bring down the average) do not need the marginal speed improvement you can get by using C++ instead of QML. Qt does a pretty decent job at making it easy to go between native C++ widgets and QML code, so C++ developers get to focus on the parts of the GUI that need performance.
What is in using QML for me? I get to offload most of the GUI development to a UX designer who is better at that sort of thing (and costs my employer less per hour of work). Then I get to focus on the novel and application-specific parts of the interface. I also get cleaner separation between those application-specific bits and the overall skin.
Qt already adheres to standards. MOC is just a boilerplate generator and the actual code is compiled with any standards-compliant C++ implementation.
Relax :) (blog post from one of the head developers of KDE)
Don't think it really can drop MOC or something like as still be a viable UI library.
Dynamic dispatch is pretty fundamental in event driven UIs, and not sure if C++ can really provide such a concept. Thats why we need more dynamic languages like JScript/Python/Objective-C/C# for this type of programming.
I'm sure there are things C++ is good for, but its not something as dynamic as UIs.
As much as I'd like to believe that it's because they are good people doing good things, why are they putting money into this, and how long can we expect them to keep doing so?
I've used Qt on OSX. It works fine. And Qt looks native on all platforms so I have no idea what you're talking about...
We as in who? The "template metaprogramming" weenies who could not understand for a decade why C++ is a train wreck?
Don't bother; "we" the practical developers creating real-world maintainable software don't need you on our projects.
My exception safety is -fno-exceptions.
I'd rather having nothing. I'm using Qt to write C++ code not to be a Javascript monkey. Looks like the Qt are trying to make themselves irrelevant with statements like:
Actually QML is there to try to make it easier to develop apps by allowing people to declaratively define their UI and use minimal inline or external language for the binding. It's a perfectly sound practice, variants of which one can be found in various other GUIs, both in thick clients and web development. e.g. Flex,. XUL, XAML, JavaFX etc. For starters it means doing away with a vast amount of boilerplate, faster application prototyping, faster development build cycles, greater portability, less bugs caused by programmer error which ultimately leads to faster time to market and a higher quality product.
I realise if you're too set in your ways to adapt that it might be easier to denigrate such efforts than appreciate their uses, but that's your problem not the platform's.
> The only way to do it right is to use the native controls, which QT DOES NOT.
I think you have not used Qt for a long time...
http://en.wikipedia.org/wiki/Qt_(framework)#Use_of_native_UI-rendering_APIs
C++ simply does not provide the introspection needed for a major application development framework. If it did, you could drop MOC. The way it stands, moc basically generates introspection tables because the out-of-touch [expletive deleted] folks who design C++ couldn't be bothered. That's my take on it.
Every time you interface C++ code with any sort of an interpreted or JIT-ed language, you have to generate "bindings" using an external tool precisely because C++ lacks facilities for code to know about other code. Qt folks were nice enough to maintain such a tool themselves and to make it a core part of their process. I don't consider it a bad thing. QMetaObject system makes it fairly easy to expose QObjects to any other language that's either interpreted or JIT-ed.
A successful API design takes a mixture of software design and pedagogy.
It's not even about template metaprogramming. Template metaprogramming simply does not provide several facilities that are make-or-break for language binding generation. C++ does not have built-in facilities needed by binding generators, this has nothing to do with Troltech/Nokia's developers "ineptness". Guess why swig still exists? Hint: because whoever designs C++ lives on a little cloud-9 where you don't interface with anybody who doesn't use C++. It's a basic deficiency of current C++ spec, and there's no way around it other than running a code generator external to the compiler.
A successful API design takes a mixture of software design and pedagogy.