Interesting. Apparently, this project on puts self-contained full-screen Qt apps onto Android machines via NDK [1].
However, I find nothing about Android integration on the level of Intents and Activities, not even whether that's planned.
Lighthouse was an experimental project to redo the framebuffer architecture. Some enterprising developers hooked it up to Android's surfaceFlinger and boom, you're running on Android. It's also been shown to run on iOS.
Lighthouse isn't really a full Android-Java/NDK integration suite, although it's a very good foundation for one.
You could always use some sort of FFI. I don't think it's that big a deal, since you can still use C and C++ libraries on any desktop platforms + on Android.
FFI to C++ is a frustratingly difficult task for a number of reasons (there's a great presentation from FOSDEM where the Mono guys try to do this, can't find it right now though). There's a reason why FFI is mostly done against C libraries.
My fear is that Nokia will let future development languish and/or restrict future commercial licenses. Nokia's track record to date hasn't shown anything this evil, but you never can tell.
The nice thing is that QT is now fully OSS- LGPL and GPL versions. This means that development can go on outside of QT/Nokia.
The difficult part is that there is no current team to do so, but some of the current devs may be willing to continue work in a leadership position of the OSS effort after the next rounds of layoffs.
Alternatively, a company could be formed (YC12?) to continue coding QT, and offer support + training. Hell, I'm tempted ;)
I certainly hope C++ on the desktop is dead, there are far more productive languages for UI development. Obj-C, Ruby, Python, C# all come to mind. Show me a UI that a C++ programmer took a full week to build, and I can probably build it in an afternoon in C#/WPF.
Word, Excel, and Autocad are all more than twenty years old. They date to an era when C++ was the only tool available.
Furthermore, all of them can host modules written in "toy languages." Word and Excel are extended by VBS and C#. Autocad is extended by C# and AutoLisp.
Qt is better at building UIs than all of the above, with the possible exception of WPF.
QML is supposed to be a declarative language similar to WPF that's accessible to Qt programs.
The fact that you put Ruby and Python in your list shows that you're not up to date on UI technology.
I'm saying that as a language, both of those could be used to make far more elegant UI frameworks. C++ doesn't have introspection without hacks - that in and of itself makes it painful to use. PyGTK+ is used pervasively throughout GNOME for UIs. Ruby has MacRuby which you can make great Cocoa UIs with less work than Obj-C.
I wouldn't say they're screwed. You can use C++ on all the mobile/desktop platforms (except on WP7) and many do, it's just that it's getting harder to do a C++ only app, you have to mix and match.
I've noticed there are a lot of ports from C/C++ to Java of late. Are there some sophisticated tools floating out there for syntactic transformations from C/C++ -> Java? Or is this all due to the gravitational pull of the JVM/Android?
I am a little unclear on something about Qt. I though there was a clause in its licensing that made it BSD if TrollTech was acquired. Since that didn't actually happen, what is the future for Qt when Nokia cans it.
"To fulfil the purpose of the Foundation, an agreement between Trolltech and the Foundation was made. This gives the Foundation the right to release Qt under a BSD-style license in case Trolltech doesn't continue the development of the Qt Free Edition for any reason including, but not limited to, a buy-out of Trolltech, a merger or bankruptcy"
Funny, it really is. Or maybe I am just trained to recognize this pattern in places it does not exists. (We are talking about the black Qt on the body of the robot, no need to downvote)
27 comments
[ 1.2 ms ] story [ 63.6 ms ] thread1. http://code.google.com/p/android-lighthouse/wiki/QADK
Lighthouse isn't really a full Android-Java/NDK integration suite, although it's a very good foundation for one.
The real question is how screwed are C++ developers in general?
MSFT's offering is switch to managed C++/C++ CLR and use WPF - two doomed technologies together. Or there is always MFC
Apple say don't even try with C++ just switch to objective C
Your only choice is GTK (from C) and plug into the rich commercial opportunities of Gnome and Linux on the desktop.
So is C++ on the desktop dead?
We only just got done porting them all from Fortran!
Now that I think of it, I'm happy with a C + high-level language future, and C++ programmers should pick up one or both of them.
Neither C# nor Java offer tangible benefits over C++ for me. I don't learn anything new, I just have to memorize new APIs. Terribly wasteful.
My fear is that Nokia will let future development languish and/or restrict future commercial licenses. Nokia's track record to date hasn't shown anything this evil, but you never can tell.
The difficult part is that there is no current team to do so, but some of the current devs may be willing to continue work in a leadership position of the OSS effort after the next rounds of layoffs.
Alternatively, a company could be formed (YC12?) to continue coding QT, and offer support + training. Hell, I'm tempted ;)
Furthermore, all of them can host modules written in "toy languages." Word and Excel are extended by VBS and C#. Autocad is extended by C# and AutoLisp.
The fact that you put Ruby and Python in your list shows that you're not up to date on UI technology.
WebKit, chrome, firefox are C++ and probably so are tons of other apps/libs.
"To fulfil the purpose of the Foundation, an agreement between Trolltech and the Foundation was made. This gives the Foundation the right to release Qt under a BSD-style license in case Trolltech doesn't continue the development of the Qt Free Edition for any reason including, but not limited to, a buy-out of Trolltech, a merger or bankruptcy"