Hacker News new | ask | show | jobs
by isani 5056 days ago
I wonder if native UI rendering APIs will be available for these platforms. Will this be a simple wrapper and compile with few native hooks, like Flash on iOS? Or will they take a more integrated approach?
1 comments

Qt without native UI isn't Qt. I am very interested to see how they will manage to handle the difference in UI concepts between the three mobile platforms.
I might be slightly out of date, but IMHO Qt has always only emulated the look and feel of the platform it was running on by painting all their widgets on their own. While the themes were certainly very good (much better, than, say Java/Swing's "native" themes), Qt apps still left that uncanny-valley feeling.
I can verify that your information is out of date. The widgets are to varying degrees actually native or drawn with OS functionality for drawing native widgets.

However, this is not all it takes to escape the uncanny-valley feeling. For example, the dialog layout still has to be correct, and lots of developers don't make the effort to achieve this.

I would have to second the developer problem. You can have a perfect cross platform UI toolkit, but if the developer doesn't take effort to make it fit everywhere it becomes off. A simple example was message box's. Qt has the ability for you to tell it which button is "yes" and which is "no" and then it will automatically swap the order depending on which desktop environment it is running in, but if the developer just hard codes some strings for the button text there isn't much that Qt can do. Same goes for file menu shortcuts, etc

How many times have you seen an app that is suppose to look 100% like an iOS app badly ported over to android where everything "works", but doesn't fit in.

Out of all the cross-platform toolkits Qt is the absolute best. For example, the Windows themes are literally flawless. It also takes into account so many things that other toolkits don't: native (file picker) dialogs, proper button order, paddings, etc.
That's because on Windows and OS X, Qt uses the operating system to paint native widgets, and uses the corresponding helper dialogs provided by the system.
Yeah, I want to see that too. The UI differences between the platforms go far beyond chrome and metrics. An app that runs on three platforms may have a different set of views and different navigation logic for each.