GUI libraries

"Luís "Luís
Thu Nov 28 05:30:52 PST 2013


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.


More information about the Digitalmars-d mailing list