Digia Releases Qt 5.1 With Preliminary Support For Android and iOS 86
An anonymous reader writes "Finnish software and services firm Digia, which bought Qt from Nokia back in August, has released version 5.1 of the cross-platform application framework. Among the changes are 'significant improvements' to Qt Quick and preliminary support for Android and iOS. The latter means Qt on Android and iOS are both considered Technology Previews, letting developers start building for the two mobile operating systems and porting apps from other platforms by reusing the same code base. Although most of the Qt functionality and tool integration is already in place to start developing mobile apps, Digia promises complete ports to Android and iOS will come with the release of Qt 5.2 'later this year.'"
Sounds promising (Score:3, Insightful)
Can't wait for that.
Qt could be the answer to rich internet cross platform apps
It's the promises you have to look out for (Score:2)
I use Qt extensively, and while there are numerous reasons to sing its praises, the project has a severe problem in the form of not fixing bugs (like file open dialogs dumping huge amounts of console errors) or limitations (like a windows audio sample rate of 48 khz) before proceeding to new versions.
What that causes is applications that are unstable either because the existing bug hasn't been fixed, or unstable because they get moved to an arbitrary new version with many changes -- and very few application
Re: (Score:2)
Does Qt readily accept patch submissions? Can you patch the bugs?
I am not saying it is your responsibility to fix their mess for them. But... obviously there is something you like about Qt vs alternatives. If the bugs are unacceptable then what is worse for you; fixing their bugs, moving to some other platform or just living with it. I suppose this is a valid question individually for each bug. If an honest evaluation of the situation leads to you fixing some of the bugs then so be it! Have you considered
Re: (Score:2)
Qt is publicly developed on Gitorious (https://qt.gitorious.org/), accepting merge requests (with code review). Even if you can't get them to accept patches into the 'official' codebase, you could always just branch it and fix the bugs for yourself ...
Re: (Score:1)
"I have a HUGE problem with charging to fix something that was supposed to be working in the first place, or even, as is the case with Qt, not charging, but simply abandoning in place software that is significantly less than it was purported to be. I find adding new features to be insufficient cause to excuse leaving known bugs in place."
A good rule of thumb is:
Always charge for the time you spend. If you are self employed, you are the one that pays for the mistakes that you make. Else it's your boss. It's
Confused (Score:2)
Aren't Android apps written in Java syntax with a Google version of the JVM?
Re:Confused (Score:5, Informative)
Google released the NDK (Native Development Kit) not long after Android was introduced because they finally clued in that Java simply isn't fast enough on slower processors to do gaming.
Re: (Score:2, Insightful)
It "won't benefit most apps" in the sense that they don't run faster.
It benefits every app in the sense that you don't have to write them in Java, and using Android's weird APIs.
Re: (Score:2)
Re: (Score:2)
Just like all other native apps (including those on iphone os).
You can't run them on CPU architectures other than the ones you build for, so you would have to supply separate binaries for x86, ARM or MIPS systems.
Re: (Score:2)
I have no idea what your comment has to do with mine.
Re: (Score:2)
It helps portability to other OSes. The only language that runs on every platform are C and C++. You rewrite the UI layer, do a recompile, and you have an iOS app, or Win Phone app, or a PC app. That's why the NDK exists- so the large collection of cross platform apps and libraries written in C and C++ could run on Android.
Re: Confused (Score:1)
The ndk is less about speed and more about reusing existing code/libraries.
Re: (Score:1)
they finally clued in that Java simply isn't fast enough on slower processors to do gaming.
To be fair, Java is pretty damn fast in the right context. HotSpot running on a heavyweight server should give performance comparable to C.
Google decided not to leverage the existing Java implementations, and instead start over - their first release of Dalvik didn't even include a JIT compiler; it was purely interpretive. Back to square one of the 'See, Java is so slow' battle, and on mobiles, where performance is actually relevant.
Re: (Score:1)
Fair points, but I still think it was an awful decision to release Android using an interpreter for its recommended software stack.
I'm not suggesting just taking HotSpot and dumping it on a phone, and you're right that the JVM has its drawbacks, but they could have, say, adopted a system comparable to Mac's "universal binaries": apps ship with both Dalvik bytecode, and an ahead-of-time-compiled ARM-specific binary. In the future, when Android has a decent JIT compiler and may or may not still be running pri
Re: (Score:1)
I bet COBOL would run pretty fast if you could build a mainframe the size of Yankee Stadium.
Re: (Score:1)
No. Bad strawman; no biscuit.
I put "performance comparable to C". I did not put "It runs fast if you throw enough hardware at it". Ruby, for example, would never approach the performance of C, no matter how big your supercomputer. This is not true of Java. Heavyweight computers that can cope with Java's JIT compilation/multiple background threads/etc can run Java code at approaching C speed.
Re: (Score:2)
Tom-ate-to To-MAH-toe.
You cannot run an interpreted language faster than a compiled language on the same hardware unless you cheat. You're cheating semantically; anything is rhetorically "comparable" to anything else.
Java is slower than C and you know it. "Approaching C speed?" Hey, a snail bathed in salt approaches C speed. Semantics.
Re: (Score:1)
You cannot run an interpreted language faster than a compiled language on the same hardware unless you cheat.
I'm going to assume you are honestly ignorant, and not trolling, despite that I even mentioned JIT compilation in my previous comment.
HotSpot, the canonical JVM, has had a JIT compiler (i.e. has not been a purely interpretive VM) since 1998 [wikipedia.org].
You're cheating semantically; anything is rhetorically "comparable" to anything else.
No. I meant what I wrote. They really are comparable. If we look at the shootout [debian.org], where benchmarks are generally very short-running and thus considerably penalise Java compared to C, we see Java still beats C performance in two of the benchmarks.
It gets outpaced pretty r
Re: (Score:1)
Re: (Score:3, Informative)
Re: (Score:2)
That's the standard way of writing an app, but you can also write native-code apps [android.com], and therefore you can also use alternative frameworks (like Qt).
Too bad we didn't have this 2-3 years ago (Score:3, Insightful)
Nokia could have made a compelling cross-platform play. Write one app, have it run on iOS, Android, and Meego -- and others. Like what HTML5-on-mobile was supposed to do, but without the performance and compatibility headaches.
It wouldn't necessarily have a native look-and-feel on each platform but there are plenty of apps that use non-standard themes anyways.
Re: (Score:2)
Re:Too bad we didn't have this 2-3 years ago (Score:4, Insightful)
Re: (Score:2)
How would QT be any different than using MonoTouch?
iOS apps were Objective-C only for two months (Score:5, Informative)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
From a computer science point of view (e.g. everyone working on the iOS platform except the armchair managers who came up with this shit), this also didn't make any sense. For example, there's no conceptional difference between loading XML or any other format like Word documents and interpreting a scripting language. This is even more vague with scene description files used in games, since these instantiate game objects and build connections between them.
Where should the line be drawn?
Since I'm an iOS devel
Re: (Score:1)
One Framework to rule them all... (Score:4, Interesting)
Re:One Framework to rule them all... (Score:4, Insightful)
You should read your signature.
Re: (Score:2, Insightful)
"In 2013, cross-platform does not mean Win32 and Linux. "
What does it mean then? Windows, Linux, OSX, iOS, and Android are fully supported. A google search shows Qt also works on BSD.
What platforms are missing? (that more than 100 people actually use)
Re: (Score:2)
A) No one using them on those platforms B) Why does the documentation suck on those platforms beyond belief
And for a bonus:
C) Every QT dev can flame me, mod me down but it is still 2013 and Qt is a dinosaur from 2004 because the quality of the experience on platforms other than Linux and Win32 are terrible.
Be mad. Get angry. Whatever. My experiences with Qt on Apple products has been well beyond terrible ---- and this experience to me is a
Re:One Framework to rule them all... (Score:5, Insightful)
In what ways is Qt massively flawed? You claim those of us unaware of them are green, but then you say absolutely nothing to enlighten us.
Re: (Score:2)
It's not, he's just a troll. Look at his username.
Re: (Score:1)
So by any sane means, I must conclude that the Qt are shit-fer-brains don't know what Apple is or never heard of mobile apps. This is why I don't feel Qt has any credibility --
Re: (Score:2)
Troll of the week! Nice!
Re: (Score:3)
In 2013, cross-platform does not mean Win32 and Linux. And the developers of QT broadcast this archaic viewpoint with an exclamation point.
Qt supports these platforms: Linux, Windows, Mac, BSD, OS/2, BeOS/Haiku, Amiga, Android, iOS, Blackberry 10, Symbian, MeeGo/Mer, Tizen, Windows CE/Mobile/Embedded, Embedded Linux, VxWorks, QNX, bare metal (Boot to Qt). In the past, it also supported Solaris, AIX, HP-UX, webOS and there was an experimental port to Amazon Kindle.
The only way to write a more portable applic
Re: (Score:2)
Apple? Android? There is not Qt working functionality there to speak of and there still isn't --- or don't you read the Qt websites and the Qt docs?
So congrats on being the king of Windows CE, Amiga, BeOS, DOS 3.2 or whatever
Re: (Score:1)
Re: (Score:3)
Nokia messed up by not staying the course. And now they announced they are happy being the challenger. Seriously?
It's understandable that one does not have time to keep up with the news [reuters.com], but at least RTF summary TITLE. Digia releases Qt 5.1. Nokia has had nothing to do with Qt for the last year or so, which is a Good Thing for the toolkit's evolution.
Re: (Score:1)
It's perfectly congruent, if you think about it. Nokia did have a plan, using Qt to span between the old (Symbian) and the new (Meego). This is obviously the course referred to, the pre-Elop one, you know the one which actually gave Nokia something unique and actually had a hope in hell if they had actually stayed with it. They didn't stay that course, thanks to that Microsoft torpedo and the massive incompetence of the board.
Digia buying what was once Trollech from Nokia was something that happened after N
Re: (Score:1)
Jump Ship (Score:1)
Re: (Score:3, Informative)
Re: (Score:3)
Re: (Score:2)
QtWebKit on desktop platforms (Linux, FreeBSD, Windows) is fast by the way. We did some tests on a Raspberry Pi and QtWebkit is faster than e.g., Midori (also Webkit based, and the default on the R-Pi).
Re: (Score:1)
Re: (Score:2)
I'm sorry, I'm confused. Is that supposed to be a bad thing?
Re: (Score:2)
it's not a bad thing, but it's not even accurate. .NET isn't going to produce cross-plaform apps. Qt will (with some limitations, but it's like 98% there. I write some *big* apps in Qt, and have been fairly successful at the cross-platform thing, though I do all my development under OSX.)
Mr. Troll is, to be blunt, bewildered.
Re: (Score:1)
Re:will Apple allow this? (Score:5, Informative)
Yes. There are already Qt based apps on the app store.
QT makes for big apps (Score:2)
I'm sorry to say that in trying out QT a hello world app involves over 10 megabytes. (I remember doing it in Dos with only 16 or so bytes). Of course it's doing a lot of graphics etc, but if you've got to port the qt system and all the supporting libraries over it will be substantial.
Please correct me if I'm wrong. (I would love to be mistaken about this).
Re: (Score:1)
If you count the Qt libraries, then yes. But that would be like complaining that writing a hello world app for Android or iOS requires the platform OS to run. We can hope that there will be a re-distributable package for the libs like on sane platforms like N900 and N9 so the cost would be a one time thing.
Re: (Score:2)
Fortunately, Hello World apps are rarely distributed. Adding Qt to your application, any real world application, is usually perfectly acceptable. You can even statically-compile the appliation to get a single executable.
I really wonder why people complain about 10 MB when we are using operating systems that take gigabytes of hard disk space and RAM.
Re: (Score:2)
Except mobile phones generally don't allow you to share libraries between apps. The .so files come packaged as part of the download. The system has no way of knowing that the library that the 2 different apps use are really the same.
For example, an Android .apk file is just a signed zip. If you download an app, you have to download the whole apk anyway, so you *will* get a new copy for each app. And it will link to that version of the library, because it won't know that its the same as the .so file in a
Ministro (Score:2)
Na, you are wrong. You can of course package a private copy of Qt for Android/iOS/etc with your application but you can also use the shared copy provided by Ministro:
https://play.google.com/store/apps/details?id=org.kde.necessitas.ministro&hl=es [google.com]
Digia is already working on a "Ministro for iOS" to provide a shared Qt copy for all the apps.
Re: (Score:1)
And you'd then have to hope that its installed or get the user to install it. No app is going to do that, its going to confuse users who are used to 1 click installs, and risk breaking the app if an incompatible update (even if its just due to a bug) goes out.
Re: (Score:2)
It's called "dependency" and "dependency management". It's been working for decades on Linux.
Re: (Score:2)
Re: (Score:2)
And it doesn't exist on mobile phones. And it has a hell of a lot of problems on linux as well. Nope, if I'm making my livelihood on a phone app I'm bundling everything with my app so I can be sure it works.
Re: (Score:2)
That's a problem with mobile devices; not with Qt. Mobile phones are still pretty weak computing platforms; but give it time, and we'll be doing more and more serious things with them. We'll have higher resolution (and probably projected to holographic) displays, more compute power, more power supply available, better charging regimes, lots more memory of all kinds (working RAM and longer term storage), better input mechanisms (speech, for one) and so forth.
Mobile devi
Licensing problems... (Score:1)
Re: (Score:2)
Re: (Score:3)
Not really. It's triple licensed - GPLv3, LGPLv2, and commercial.
LGPLv2 means that it's perfectly compatible with App Stores - just you have to release the source to the QT library. The App Store effectively "TiVoizes" the app, but for the most part, there is no license issues between (L)GPLv2 and app stores.
(A|L)GPLv3 is incompatible though.
And
Re: (Score:1)
Re: (Score:1)
Qt Project, please (Score:3)
Thank you for insulting the other companies and the individuals that work hard on Qt. Digia maybe owns the trademark and the right/obligation to relicense, but is not the owner of Qt, and certainly not the only contributor. See the statistics about Qt [macieira.org] created by Thiago Macieira.
The Android port started as a community only project, by the way.