GUI libraries

"Luís "Luís
Fri Nov 29 18:29:21 PST 2013


On Friday, 29 November 2013 at 17:03:02 UTC, thedeemon wrote:
> On Thursday, 28 November 2013 at 13:30:53 UTC, Luís Marques 
> wrote:
>> 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.
>
> This is pure Mac talk.
> In Windows the "native" UI elements are so scarce and 
> primitive, that most apps with decent UI end up making their 
> own. For example, one would assume that UI elements that can be 
> found in MS Office are native and can be used in other apps. 
> But they are not, Office used its own UI library and never 
> shared it with anyone. Ribbon implementation that comes with 
> recent Visual Studio is a completely different implementation 
> made by custom drawing, mimicking the look of Office. Actually, 
> there are even several different implementations, for different 
> languages.
> Relying purely on native controls leads nowhere.

You are discussing the creation of custom controls, while I was 
discussing the use of GUI libraries that recreate from scratch 
things like:

   - all controls, even the basic ones
   - UI behaviours (e.g., scrolling, double click times, etc.), 
badly mimicking the native system
   - text rendering, unicode/localization processing, etc.
   - integration with the native accessibility features
   - event processing

Is possible to create custom controls while still playing 
relatively nice with the native UI platform, and thus avoid 
*some* of the problems mentioned, by inhering as much from the 
platform as possible (text rendering, scrolling, accessibility, 
etc.). For Apple platforms the advice is to avoid custom controls 
when possible, which became easier in iOS when the native 
controls became more skinnable. When custom controls are needed 
they still integrate with the platform to a reasonable extent, 
and thus while the *look* may be foreign, the *behaviours* tend 
to feel native.


More information about the Digitalmars-d mailing list