4 ms·
This seems to be like the classic wxWidgets [1], i.e. it's an API that wraps the underlying platform's default toolkit. So on Windows it uses Windows' native co
by unwind 3y ago
This seems to be like the classic wxWidgets [1], i.e. it's an API that wraps the underlying platform's default toolkit. So on Windows it uses Windows' native controls, in Linux it seems to use GTK, and so on.
That means that the advantage is being able to write against one API, and get cross-platform compatibility, which can be nice. It also means (typically) being limited in what you can do to the least common denominator, or you (=the toolkit author) end up having to re-implement features from one platform that you want to expose but that are missing on some supported target(s). Or, of course, have an API with non-portable parts in it.
In any case, it means the "look and feel" is not the core feature of the API since that is going to be "like the target platform" and that is the point.
Given the origin, I guess Lua support is important too, here.
[1]: https://www.wxwidgets.org/ https://www.wxwidgets.org/
- tored 3y agoOne big plus for IUP over wxWidgets is that API of IUP is very clean & easy to use compared to the complex C++ API of wxWidgets.
- rhdunn 3y agowxWidgets feels heavily inspired by Microsoft's MFC framework. That always felt clunky to me, compared to GUI toolkits like Qt and GTK.
- VZ 3y agoThis was indeed the case. In 1995. Since then just about everything has changed, but the idea that wxWidgets is MFC-like still refuses to die... Another common related opinion is that you have to use macros when using wxWidgets, which couldn't be further from truth since ~15 years (see https://wxwidgets.org/blog/2023/05/are-macros-required-to-use-wxwidgets/ https://wxwidgets.org/blog/2023/05/are-macros-required-to-us...) but, again, old impressions linger.
- sirwhinesalot 3y agoI still find examples using the macros all over the place. It is unfortunate that is still the case...
- rhdunn 3y agoMacros aren't the only thing that make wxWidgets like MFC. Things like using new but not delete on objects. The method and event names. The use of DCs in paint events. Etc.
- VZ 3y agoWell, there is only so much latitude for naming the event (or message, callback, whatever) sent when a window needs to repaint itself. Qt has `paintEvent()` too and nobody calls it MFC-like AFAIK. IME people mostly think about event table macros when they say it.
- kaba0 3y agoWhat’s people’s opinion on Eclipse’s SWT? It is probably the most commonly used API that just wraps native controls.
- antihero 3y agoThing is, each OS has its own design language and conventions. Trying to make one UI look and feel great in all of them is doomed to fail and feel awkward in all of them. So either make a UI for each OS or go your own way and have your own design language.