3 ms·
I always wondered why, after all these years, the only alternatives that remain are wxWidgets and Qt. It's a very common pattern, multiplatform gui programming!
by feiss 10y ago
I always wondered why, after all these years, the only alternatives that remain are wxWidgets and Qt. It's a very common pattern, multiplatform gui programming! and after all this time, we only have 2 choices..
- RotsiserMho 10y agoIt's an incredibly fast moving target. Just look at the GTK mess, let alone keeping a wrapper toolkit up to date with other vendors' OS updates. Plus for operating systems like Windows it's not really clear which GUI technology to wrap. All the wrappers I've seen so far wrap the old school Win32 API but many modern applications are written in WPF or WinRT. Supporting all three would be difficult. Also OS X is a somewhat different beast in terms of human interface guidelines and form layouts so it's really tough to come up with a unified abstraction layer that both supports new operating system features (and UI paradigms) and still provides a reasonably-sized API.
- vram22 10y ago>Also OS X is a somewhat different beast in terms of human interface guidelines and form layouts so it's really tough to come up with a unified abstraction layer that both supports new operating system features (and UI paradigms) and still provides a reasonably-sized API. Good point indeed.
- distances 10y ago> All the wrappers I've seen so far wrap the old school Win32 API but many modern applications are written in WPF or WinRT. Supporting all three would be difficult. Worth noting here that Qt does not wrap the native widgets, it implements its own widgets that are skinned in each platform's native style.
- vram22 10y agoThere are a few other choices for multi-platform GUI programming. Just not too many, and the ones other than wxWidgets and Qt are not so well known a.k.a. mentioned so often on the net. But they exist. There's a Wikipedia page with a list of GUI toolkits. I've tried a few of them briefly, earlier. FLTK (Fast Light Tool Kit) and Fox toolkit are two. Some of them are in C/C++ but some of those have bindings for Python, Ruby, etc. IUP is another that seems interesting, saw it recently. Has bindings only for C and Lua, IIRC. It's from the same Brazilian institute where Lua was created. Also, the reason not too many have become mainstream (like wx and Qt) is probably largely because it's quite a difficult job to create a new one, even on one OS only [1], unless all you are doing is thinly wrapping an existing native toolkit. I read some about this in a book that goes somewhat into the internals of Qt3 or 4. [1] and cross-platform is harder still.