Hacker News new | ask | show | jobs
by gmueckl 2402 days ago
A flexible UI library that is up to modern expectations is complex and hard. It is even harder if it is supposed to be cross platform. So the only realistic option is to bind to a good existing library. However, these are all written in C++ and hard to bind to anything else. Gtk isn't sufficiently cross-platform to be attractive.

In the end, this is a project that is at least as much effort a creating a programming language.

1 comments

And here are UWP Apps. They are based on a vNext edition of COM and use language projections to enable a OO-style usage in C#, JavaScript, C++. Actually works. In the end you work in the languages with these objects like any other object in that language.

It is possible, just require major engineering smartness (like writing and improving compilers, code generation, etc).

Hell, it doesn't even have to be ultra advanced. Something close enough to Tk (not GTK, but Tcl/Tk which gets used by Python and a few other languages) would be fine in my book. It is simple, and a start, and allows the community to derive from a working solution to form amazing alternatives.

In fact... Racket has their own UI approach, but I'm not sure if it's just GTK under the hood or what, but it works cross platform.

You're pretty much making my point for me, aren't you? UWP is a single platform interface only and the development of the bindings has taken a tremendous amount of work, as you say yourself.

Projects like sip and PySide show how much effort it takes to make Qt bindings form Python.

And all of this discussion just the bindings, not the actual widget libraries themselves and the effort that goes into those.

Yepp. It is just a sub point I address. That you can successful translate c++ UI libs into other languages.

But generally, you are right. Language development is expensive enough. UI stack development is in difference to class lib development not a duty of a language developer.