|
|
|
|
|
by sho_hn
4722 days ago
|
|
QML isn't XML-based. It's synxtax is compatible with ECMAScript and it allows embedding ECMAScript expressions and code (but it's style is generally declarative with procedural code discouraged). And it has a lot to offer over HTML. It has a better layout model for one, sane integration of concepts like animated property transitions and behaviors, makes it far easier to put custom objects backed by native code into the scene, and many other advantages. A lot of these things aren't possible declaratively in HTML, and HTML isn't set up to be extensible enough as a language so you could make up for it yourself. Yes, you can jam everything into a HTML document somehow, but that doesn't mean it's always a pleasant way to go, or that HTML is the peak of UI technology. |
|
Thanks for the correction, I was thinking of xib, XAML, Activities etc. haven't used QML, though I have used Qt, a while ago now. One thing I do think HTML got right is to separate content and code, so putting my UI markup into a js-like format which potentially mixes in code is even less appealing :)
Yes, you can jam everything into a HTML document somehow, but that doesn't mean it's always a pleasant way to go, or that HTML is the peak of UI technology.
While there's a lot wrong with HTML, and I agree there's much to be improved in its layout model, learning and keeping in our head a new layout model just to place some buttons and UI controls on a page every time we switch platforms is painful, and leads to fragmentation and lock-in where people choose a platform and stick with it, because they've had to invest so much time learning those platform specific tools. I think that's a shame and it's not a pain I look forward to when moving platforms. Depends on your focus I suppose - if you plan on using one platform exclusively or using Qt everywhere, it won't bother you.
From my perspective doing work for clients on content-heavy apps, often with web integration, there's an awful lot of content already in html, it provides good control over text styling (typically far better than native equivalents), and it means content is portable between the web and apps, so for those pragmatic reasons I find HTML more appealing for presenting content, even for many UI controls.
For example if I have an Android app, an iOS app, and an Ubuntu Phone app, I have 3 different platforms to manage, each with their idiosyncrasies, differing features, layout language, and blessed platform language, and then I have a load of content which I have to let users generate, manage and get into apps on each platform, using web tools to do so is significantly less painful.
It's not a huge deal as you can obviously use webviews and frame html content with native controls for each platform, but I wish Ubuntu had taken a step towards the web instead with the phones rather than focussing on desktop technologies. I see why they'd want to tie it in with what they're doing on the desktop though. Sorry for the thread hijack!