7 ms·
Digia releases Qt 5.2 with Android and iOS support
- dariopy 13y agoDoes this mean we can create Android and iOS apps with Python (via e.g. PyQt)?
- Derbasti 13y agoI think they would want you to use QML for that. Code your interface in QML, access your platform libraries in Java/Obj-C. This actually makes a lot of sense, since QML can represent just about any GUI logic and you need your native platform libraries anyway. If you have not tried QML yet: I used to love Qt because it was soo easy, then loved PyQt because it was soo much easier. Now I love QML because it is soo much easier still. QML really is an awesome way of creating GUIs and interaction logic. Then code your backend in whatever language you like. PyQt works just as well as C++, and since you don't have to wrap GUI logic at that point, the language doesn't matter as much.
- daliusd 13y agoActually QML apps can be written only using QML + Javascript. Performance or platform dependent parts can be written in C++. Some Qt based frameworks experience. Ubuntu Touch chose to develop apps using Javascript only where possible. BlackBerry apps support both Javascript and C++. There are people who believe that QML must be used only for UI and all logic must be written in C++. IMHO Javascript is good choice as it is fast enough in many cases. As for Python that's not what you want to use with QML and pure Qt is not what you want to use for mobile apps.
- _ZeD_ 13y agoyes, but ATM there is lack of documentation: http://www.riverbankcomputing.com/pipermail/pyqt/2013-December/033506.html http://www.riverbankcomputing.com/pipermail/pyqt/2013-Decemb...
- ghaven 13y agoRegardless of qt, you can actually already write android and iOS apps in python via kivy (http://kivy.org/#home http://kivy.org/#home). It includes a domain specific language for creating widget trees called kivy language, which I hear is not unlike qml (though I haven't tried the latter), though it all maps straight to pure python if you want to write things that way.
- candl 13y agoCan't seem to find Qt 5.2 anywhere. Are the installers yet to be released?
- aks314 13y agoSeems it's rc1[1]. Feature list is present here[2]. [1]http://download.qt-project.org/development_releases/qt/5.2/ http://download.qt-project.org/development_releases/qt/5.2/ [2]http://qt-project.org/wiki/New-Features-in-Qt-5.2 http://qt-project.org/wiki/New-Features-in-Qt-5.2
- Derbasti 13y agoHere you go: http://download.qt-project.org/official_releases/qt/5.2/ http://download.qt-project.org/official_releases/qt/5.2/
- japaget 13y agoFrom the article: Update at 11:00 AM EST: Digia has contacted TNW [TheNextWeb] to say that “some last minute technical issues” have delayed the launch until December 12. Downloads are now expected to go live at 10:00 AM CET (4:00 AM EST) [9:00 GMT], or about 22 hours later than previously planned.
- yapcguy 13y ago> You can download a 30-day trial of Qt Enterprise from Digia’s Qt site (version 5.2 is slowly trickling out throughout the day). The open source version can meanwhile be snagged from Qt Project. Does anybody know the difference between the Enterprise and Open Source versions? Is it just tech support or is the Open Source version going to lack the features we really need?
- purringmeow 13y agoThe only difference is support I believe.
- kbutler 13y agoThe license is the critical feature: the open source version is available under GPL and LGPL. Beware of the implications for iOS development with GPL/LGPL (have to distribute source or .o files for your application).
- yapcguy 13y agoOk. So if you contribute to the project, you assign copyright of your code to Digia who then dual-license the project to end-users under the GPL/LGPL and for a fee, a commercial license to use it in proprietary applications. Makes sense.
- chacham15 13y ago> have to distribute source or .o files for your application Not if you dynamically link
- puppetmaster3 13y agoI have to say using 'native' tools sux big time. Lets hear it for 3rd parties!
- stusmall 13y agoDoes anyone have more info on what the Android/iOS support is like? Does it give native style low level binding ala Mono or does it try to be a generic API that is a write once run everywhere kind of thing?
- cheez 13y agoWrite once, run anywhere kind of thing. Accessing native functionality is actually not easy. I'm sure they will be addressing this at some point.
- pjmlp 13y ago> Write once, run anywhere kind of thing. Usually this ends up being "debug everywhere" kind of thing, based on my experience, regardless of the technology.
- cheez 13y agoI'm sure it's even moreso given the different form factors of the various devices. I've given it a decent run and I think it's actually a pretty good system.
- c0g 13y agoCan I call a Java library (say, google play services) from Qt without having to jump through JNI hoops?
- dljsjr 13y agoAt it's heart, Qt is basically a C++ framework/library, so it's just like invoking Java from regular C++ code. In other words, JNI is involved.
- pjmlp 13y agoNot until Google starts offering better support for the NDK. Except for the libraries noted in the STABLE-APIS.html document, everything else is only available via JNI.
- zura 13y agoLets hope that tools and frameworks like this will be widely adopted, thus more and more jobs requiring these skills, rather than that crap, over-engineered "native" SDKs/frameworks...
- matthewmacleod 13y agoThe modern Android and iOS SDKs are both really quite nice. There are obviously weak spots in both, but neither could really be described as "crap" or "over-engineered." I'm not familiar with WinRT. Still, Qt is pretty impressive. The main problems it suffers from are it's weight, and the issue that all cross-platform frameworks suffer from, in that the GUIs never feel quite right.
- stusmall 13y agoWhat's over engineered about Android? I work with it daily and find it quite nice and it really didn't take too much effort to dive into. Also if you want something small and simple, I think QT might be the wrong tree to bark up. I've only used it on casually used it on desktop but it is not a small framework.
- zura 13y agoJust too much plumbing and boilerplate code is needed to do some simple things... Agree, that for some small projects, Qt can be overkill.
- joezydeco 13y agoAgreed. Qt is not as small and simple as it used to be. If you're a dinosaur like me still using it on smaller platforms, the QtCore and QtGUI libraries can run you north of 10MiB of space. And now QtNetwork always wants to link in, and I can't get it to detach from the link like the old 4.x days.
- rwbt 13y agoI have to say it again - I'm so glad Qt didn't end up at Microsoft.
- icefox 13y agoAnyone have a good link (video? blog entry?) discussing what problem QML solves and why it is better than other solutions? Within the docs the biggest thing I am able to find is the following hand wavy statement: "QML is a user interface specification and programming language. It allows developers and designers alike to create highly performant, fluidly animated and visually appealing applications. QML offers a highly readable, declarative, JSON-like syntax with support for imperative JavaScript expressions combined with dynamic property bindings." I have heard about it for a number of years, but never been able to wrap my head around everything it is offering and why various choices were made.
- blub 13y agoThe problem it tries to solve is preventing UIs from being defined in C++ (or Python, etc) when the Designer doesn't cut it any more. Sure, QML is still a type of code, but it's much cleaner and easier to read & write.
- deleted 13y ago[deleted]
- daliusd 13y agoSince I have some experience with QML (Symbian, Meego, Ubuntu Touch and BlackBerry 10) I will try to answer this question as simple as possible: There is wet developer dream to write software that can be written once and used everywhere. In mobile area one way to accomplish this dream is to use HTML + CSS + JS. HTML while being good for web pages is not the best choice for apps (while it gets better). Now you can replace HTML with QML. It is better than HTML because you declare everything in UI paradigms like rectangles, text, gradients and etc. (QML can be styled using CSS as well while that's not very necessary). Unfortunately I have not managed to persuade people above me that we should try out QML and HTML is their choice (e.g. because of Win8 support). Does QML solves run everywhere problem? Most probably no, each platform expects some "native" feel (even if "native" is done in QML). E.g. Blackberry and Ubuntu users expects sliding menus, Android users expect working back button and etc. Native always win over cross-platform if you want to win users while I would love to see cross-platform solutions working.
- 13y ago
- landr0id 13y agoAnyone know what's up with the Mac extras overview page? It simply does not exist [1] whereas the Windows one does [2]. [1] http://doc-snapshot.qt-project.org/qdoc/qtmacextras-overview.html http://doc-snapshot.qt-project.org/qdoc/qtmacextras-overview... [2] http://doc-snapshot.qt-project.org/qdoc/qtwinextras-overview.html http://doc-snapshot.qt-project.org/qdoc/qtwinextras-overview...
- chacham15 13y agoIf I have a desktop app written using Qt libraries directly (i.e. no QML, .ui files, etc) will this new version allow it to run on iOS and Android?
- blub 13y agoI did a small test on iOS with the RC2 and the widgets were shown, although the theme was similar to some Linux distro rather than iOS native.
- throwawayqt 13y agoI have no idea about iOS, but I have tried porting some QWidget based apps on Android using 5.1 (not tried 5.2 yet), and they did work but poorly. Some widgets looked downright ugly and some had layout issues. I ended up rewriting my UI in QML instead and that worked very well.
- jbeja 13y agoQtQuick vs Kivy?
- malkia 13y agoIs this in the git? I only see the v5.2.0-rc1 tag: Q:\qt5>git ls-remote && git tag From git://gitorious.org/qt/qt5.git ... <removed> qt-v5.0.0-alpha1 v5.0.0-beta1 v5.1.0 v5.1.0-alpha1 v5.1.0-beta1 v5.1.0-rc1 v5.1.0-rc2 v5.1.1 v5.2.0-alpha1 v5.2.0-beta1 v5.2.0-rc1
- malkia 13y agoI just saw that tag v5.2.0 has been added.