Live data from Hacker News

Digia releases Qt 5.2 with Android and iOS support

thenextweb.com

31–40 of 53 posts

Re: Digia releases Qt 5.2 with Android and iOS support

#31
post #18

Lets 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...

What'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.

Agreed. 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.

Re: Digia releases Qt 5.2 with Android and iOS support

#32
post #27

Anyone 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 highl…

[deleted]

Re: Digia releases Qt 5.2 with Android and iOS support

#33
post #27

Anyone 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 highl…

Since 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.

Re: Digia releases Qt 5.2 with Android and iOS support

#34
post #27

Anyone 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 highl…

I can think of a number of different approaches to try and explain it, loosely building on each other:

1) If you've used Qt before, you can think of QML files as next-gen .ui files. Like .ui files, QML files allow you to instanciate objects implemented in C++, set properties on them and declare connections between them. However, unlike .ui files they can also instanciate things implemented in QML, and they can evaluate JavaScript expressions.

2) The latter is quite powerful. Expressions can be bound to properties (example: c: a + b), and if properties referenced in an expression (i.e. a and b in the example) change, it will be re-evaluated and thus the value of c will change. This is a simple principle that tends to eliminate an entire class of UI bugs by dropping an entire class of scaffolding code, namely code written to update values somewhere in response to changing state in the system. This is the declarative style - the correct state sort of arises out of the description of the system the files hold, instead of needing to write procedural, step-by-step code to get it there.

3) On top of ideas like this, QML has an excellent anchor-based layouting system and well thought-out ways to inject things like animation behavior into property and state changes. It's also implemented on top of a modern OpenGL scenegraph that does sophisticated draw call batching, texture atlasing and so on, so its performance is game-like. It's also easy to get your own stuff in there.

Combined with what Qt offers in terms of writing serious C++ backends to UIs written in QML, I'm a fan.

Re: Digia releases Qt 5.2 with Android and iOS support

#35
post #27

Anyone 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 highl…

It's just a cross-platform UI markup language, as far as I know. It solves the problem of creating a cross-platform UI, and whether it is better than other solutions is a matter of preference.

https://en.wikipedia.org/wiki/QML

Re: Digia releases Qt 5.2 with Android and iOS support

#36
post #14
post #7

> 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?

The 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).

> have to distribute source or .o files for your application

Not if you dynamically link

Re: Digia releases Qt 5.2 with Android and iOS support

#38

If 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?

I 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.

Re: Digia releases Qt 5.2 with Android and iOS support

#39
post #14

Earlier quoted context omitted.

The 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).

> have to distribute source or .o files for your application Not if you dynamically link

Do iOS guidelines allow dynamic linking?

Re: Digia releases Qt 5.2 with Android and iOS support

#40
post #27

Anyone 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 highl…

The 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.

Post reply on HN