Favorite GUI library?
Chris
wendlec at tcd.ie
Tue Apr 24 13:03:47 UTC 2018
On Tuesday, 24 April 2018 at 12:44:59 UTC, Uknown wrote:
>
> I forgot to mention consistency. This is the biggest reason I
> don't use non native apps. I'm not talking about your app being
> consistent across operating systems. I'm referring to being
> consistent with programs on the current system. E.g a native
> macOS app has a certain way it looks and behaves. I can expect
> cmd+w to close a window, cmd+q to quit and the the "traffic
> lights" to be on the top left. Non native apps mess things up,
> making them harder to use. Keyboard shortcuts _generally_ work,
> but when they don't they are a pain. Even messing with buttons,
> making them smaller, or placing them weirdly, or using custom
> tabs and menus makes it harder to work with a program.
> For e.g. look at the divide between "modern" and "native" apps
> on Windows. Even on linux, back in the day, GTK apps looked out
> of place on QT systems and vice versa.
Well, this is only an issue if you want to provide an OS specific
LAF for users who expect it and want it this way (Mac users,
Windows users). So if you design an image or text editor for
desktop, you would probably want to go native. However, loads of
apps these days are meant for tablets, phones and the web. If,
for example, I were to develop an app for language learning, I'd
definitely not go native, but base the UI on HTML+CSS+JS. In that
way, you can re-use it for smart phones and the login section of
the user account. It'd be madness not to. A lot of apps have
their own unique look these days (just as websites do), and users
know (and even expect) that. If for some reason you have to
interact with the OS's services on say an iPhone, you can always
write a thin native wrapper in Objective-C or Swift. But I
wouldn't base the logic on and around the native framework.
As for the rest, it's all about trade-offs and use cases. I don't
use web-based programming editors nor would I write one, for the
reasons you mentioned and because it has a well defined use case,
i.e. hours of programming on your lap or desktop. For a language
learning app, a weather app, a converter etc., going native is in
most cases a bit OTT.
More information about the Digitalmars-d
mailing list