[Development] Qt5 missing features

Alan Alpert alan.alpert at nokia.com
Thu Apr 12 06:17:39 CEST 2012


On Thu, 12 Apr 2012 13:44:53 Lincoln Ramsay wrote:
> On 04/12/2012 01:20 PM, Alan Alpert wrote:
> >> If there was a "standard API" defined for a "components" and each
> >> platform provided something that was source-compatible with this API
> >> then that would work too (without indirection) but I haven't seen anyone
> >> suggesting that a platform's "components" should adhere to some
> >> "standard API".
> > 
> > I suggest it :) . It's a de-facto standard already if you can simply
> > comment in the appropriate import.
> 
> Well... I don't know if you can actually do that.
> 
> > This doesn't require a theme manager abstraction. It could be handled
> > with a Widgets import that resolves to MeeGoWidget,SymbianWidgets or
> > DesktopWidgets based on runtime platform.
> 
> There's no need to resolve anything, just build the Widgets import using
> different code depending on the platform you're building for. Code could
> be shared or not as appropriate.
> 

That's just an implementation detail on whether platform resolution is run-
time or compile-time.

> Nothing I've heard about QML Components work has led me to believe a
> source-compatible, cross-platform API is what is being created.
>
> eg.
> http://labs.qt.nokia.com/2011/03/10/qml-components-for-desktop/
> "The API is mostly aligned with our ongoing mobile SDK effort, but I
> also had to create some uniquely desktop-related widgets such as
> ScrollBar, ScrollArea and TabFrame."
> 

The point that paragraph makes is that the desktop components have some 
additional widgets outside the standard set. Not that it doesn't conform to 
the standard set. But the set of components that *all* platforms implement 
will be a lot smaller than the set of components that desktop platforms 
implement.
 
So a source-compatible, cross-platform API is sort of a vague long-term goal 
as far as I'm aware. But it's approached differently from the QWidgets because 
there isn't a clear set of what everyone provides, nor clear goals on just how 
source-compatible we want it.
 
> Because I'm lazy, I won't be investing any effort into learning a QML
> API that only works on 1 platform.

I agree. There should be some component set that allows for you to write once, 
deploy everywhere, a simple yet functional application with QML (even if you 
can't use it for 'perfect' platform integration). I'm just not so sure what it 
will look like, because trying to run the QWidget approach 'everywhere' (i.e. 
on device) had some real issues that we do not want to repeat*. 

*Off the top of my head, those issues included a) performance, b) assumed 
keyboard/mouse (so not touch-able), c) too big, d) re-compile needed, e) 
maintenance nightmare (especially because much of the platform integrations 
were inside Qt, which is also f) Hard to add new platforms).

-- 
Alan Alpert
Senior Engineer
Nokia, Qt Development Frameworks



More information about the Development mailing list