Live data from Hacker News

IUP – Cross platform C GUI library

tecgraf.puc-rio.br

11–20 of 42 posts

Re: IUP – Cross platform C GUI library

#11

Why do many (G)UI libraries hide their look & feel to some obscure location? If you want to make an impact, show us what you got on the landing page! Edit: found the pictures. Looks like another GUI toolkit emulating the 90s OS style paradigms.

This library actually uses native widgets, the goal of the library is provide cross platform GUI for C and Lua. Also it supports MOTIF because the main sponsor of the library uses MOTIF somewhere (I believe it is Petrobras)

Re: IUP – Cross platform C GUI library

#12
I love the idea, and considered using this for a side project, but ultimately went a different route.

The biggest issue for me was the somewhat constrained idea of "cross platform" it's working with. There was an attempt at a Cocoa port, but it seems even less active than the main project. https://github.com/ewmailing/IupCocoa

Ultimately, I decided that a careful addition of a minimal amount of C++ code to use wxWidgets was less kludgey than using a half-baked Cocoa port or coaxing IUP GTK to work with Mac GTK. I've been mostly happy with that decision.

Re: IUP – Cross platform C GUI library

#16
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/

Re: IUP – Cross platform C GUI library

#17
IUP is well designed, source code is clean and easy to read and it is easy to create bindings for it.

No overusing of weird macros, no large structs to define (IUP uses void pointers) or other C-isms that can be hard to translate over language barriers.

I tested to write bindings for PHP over FFI and it was trivial.

Main drawback is that the Mac support is experimental.

Re: IUP – Cross platform C GUI library

#18
post #16

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 denom…

One 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.

Re: IUP – Cross platform C GUI library

#19
IUP has been around for ages and is usually used as a lightweight alternative to wxWidgets and Qt when you want native widgets. It has a stringy interface and the fully stylable non-native widgets starting with "Flat" in the name are a bit quirky, but it's overall very stable and has proved its usefulness over time. IUP often has bindings to languages when wxWidgets has not and Qt would be too bloated.

Re: IUP – Cross platform C GUI library

#20
post #18
post #16

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 denom…

One 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.

wxWidgets feels heavily inspired by Microsoft's MFC framework. That always felt clunky to me, compared to GUI toolkits like Qt and GTK.
Post reply on HN