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 _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
