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.

Reply via email to