GUI libraries

Xavier Bigand flamaros.xavier at gmail.com
Thu Nov 28 12:03:13 PST 2013


Le 28/11/2013 14:30, "Luís Marques" <luis at luismarques.eu>" a écrit :
> On Thursday, 28 November 2013 at 12:13:42 UTC, Chris wrote:
>> What I meant was no bindings to native widgets or other toolkits. DWT
>> (like SWT) uses the native widgets and needs an interface. I was
>> thinking of a toolkit where everything is provided by D and done in D
>> without any reference to native frameworks (Cocoa etc.).
>
> Whatever API / bindings you use, please don't expose non-native UIs to
> users (drawn from scratch, either mimicking the native UI or not). They
> never completely integrate with the OS, subtly deviating from the native
> behaviour in ways that range from awkward to infuriating, and are always
> playing catch-up to the latest OS changes.
>
> For instance, take Viber for the Mac: what could be a great application
> (most of the complexity of a VoIP app isn't even in the UI), has awkward
> behaviors (e.g., the scrolling panes don't implement rubber banding,
> which makes them feel extremely unresponsive in OS X), badly imitated
> controls (e.g., the chat text box context menu, in OS X at least), etc.
> Features which are both complex and subtle like internationalisation
> also tend to break.
>
> The situation was already bad when the Windows, Mac and Linux interfaces
> were, overall, pretty similar (many of the non-optimal design decisions
> in apps with non-native UIs tended to appear where there were
> differences, such as in OS X global menus vs Windows' per window menus).
> With the trend toward newer and more diverse interface approaches, such
> as attempts to try to bring traditional computers to touch screen
> hardware, non-native UIs will tend to perform even worse, feeling even
> more alien to the end users.
For me the main issue of fully custom UI isn't the visual aspect but the 
ergonomic, it can be hard to let the OS compositor to resize/move custom 
windows like natives ones.
Everything else isn't so hard to manage.

Take a look to QML with Qt Quick Controls :
http://www.youtube.com/watch?v=_6_F6Kpjd-Q

A multi-plaform UI SDK will tends to unify the way ui works across a 
larger devices panel.


More information about the Digitalmars-d mailing list