← Back to team overview

ubuntu-phone team mailing list archive

Re: Is there going to be a standard QML UI toolkit?

 

I see, but will Ubuntu Phone at least have support for QtQuick.Components?
That seems to be a good way to write portable apps, if you don't need
the platform specific components like Toolbar.

Regards
Andreas

On 29-07-2013 16:49, Michael Zanetti wrote:
> Hi
>
> On Monday 29 July 2013 15:53:52 Andreas Poulsen wrote:
>> I just wondered, if there is any plan to have a more general QML UI
>> toolkit. For now, there is Ubuntu.Components, Sailfish OS has some
>> components, and QtQuick is going to have some QtQuick.components. Could
>> you guys talk together about some standard components? It would be much
>> more easy, to develop one app for 2 or 3 platforms, than creating it for
>> 3 platforms using the same technology, but different toolkits. Just a
>> wish from an app developer :)
> Yes, this is really one of the bad things of the current state with QML in 
> general.
>
> There are talks in progress to align APIs as close as possible. However, I 
> think it won't be possible (at least not in the foreseeable future) to have 
> the same components everywhere. The reason is that different platform look and 
> behave differently. Even if most of the components could probably aligned, 
> there will always be differences for some of them. For example if a platform 
> doesn't have some UI pattern or a platform invents a new one. One example is 
> the hiding Toolbar on Ubuntu. MeeGo's toolbar didn't do that so there is the 
> need of a difference in the API.
>
> Also a different look of the same UI patterns introduces problems here. For 
> example if one platform uses big round buttons with spaces in between while 
> another one uses small square buttons without a space. That would allow you to 
> place a different amount of items into one row. While the API might be 
> compatible, your application would look quite bad one one of the platforms.
>
> The original idea for QML was to write the common stuff in Qt/C++ and then 
> create a very thin UI layer with QML on top of it. That thin UI layer is easy 
> and fast to write (just puttin some Buttons and Images into a layout and hook 
> functionality up to the C++ business logic which is really cross platform).
> This works quite well for me having a bunch of apps running on Maemo, MeeGo, 
> Symbian, KDE and Ubuntu Touch.
>
> Of course, if you write an app only in QML and smash your javaScript somewhere 
> between the painting code, your app's portability will go towards 0. You can 
> of course stick to JavaScript for the platform independent code too, but make 
> sure to have JavaScript in separate files, and with a clean API, never 
> accessing properties/elements from the QML code from within JavaScript. Then I 
> guess you can create something somewhat portable without C++ too.
>
> Br,
> Michael
>


Follow ups

References