What does HackerNews think of libui?

Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.

Language: C

Fantastic! This is similar to the C library `libui` since it also acts as a wrapper of native libraries of each platform.

If only there was a way to interface to these using some declarative minimal and highly opinionated programming language and paradigm...

There is a Janet binding for it but it looks abandoned.

https://github.com/andlabs/libui

https://github.com/janet-lang/janetui

I don't know about non-native, but LibUI offers native GUI in C: https://github.com/andlabs/libui

Better yet, it has excellent DSLs that make it possible to build desktop apps in a way similar to HTML, but much better due to keeping all code dynamic in one language (no static/dynamic multi-language separation/mixing dissonance): https://github.com/AndyObtiva/glimmer-dsl-libui

By the way, with the `area` control (widget), you can actually make your app look like anything you want. It lets you do arbitrary painting of vertex graphics while providing keyboard and mouse event listener support to let the user interact with the user-interface, so the sky is the limit.

Also, you can simply compose new custom controls from `area` controls and just work with the new custom controls as higher constructs to build your apps.

In fact, most native GUI toolkits provide non-native support for building any widget you want, so do not think that native widgets limit you. They don't. They in fact provide a better user experience for cases that could utilize predictable-looking basic GUI for non-computer-savvy people while still offering you the extra option of building non-native widgets when you need them.

I find the concepts (i.e. "SWT without Java") behind libui (https://github.com/andlabs/libui) exciting, and I could picture myself using it someday (through its Python bindings).

I'm a bit worried, though, that the project is described as "mid-alpha" and hasn't received a single commit since January this year.

Could anyone familiar with the project comment on its current state ?

libui has bindings for many languages but might be too immature for complex needs https://github.com/andlabs/libui
There is absolutely no reason we can't have a very good lightweight native UI compatibility layer.

Look at this heroic effort by a single developer:

https://github.com/andlabs/libui

It's not there, but it's probably too big of a project for one person.

My biggest gripe with virtually every UI is that it forces you to learn yet another language just to code with it. Why can't there be UI APIs that work across languages like there is with loads of other stuff?

We have this for networking, disk I/O, common OS operations, and even 3D graphics, but for some reason 2D user interfaces just can't be presented in this way. Why can't there be an OpenGL-like thing for desktop-style and mobile-style UIs that presents the most universal design patterns via standard APIs and allows access to OS or UI-layer specific extensions? How hard is this?

There is one lone project by one developer that seems to have been trying to do this, but it seems dead. Probably far larger than one developer can tackle in their spare time, but the effort is admirable:

https://github.com/andlabs/libui

This one person somehow gets it.

Back to the topic at hand. It's not that Kotlin is a bad language. I've heard it's quite nice. The problem is that it's yet another language which means more cognitive load, more build complexity, and so on. If my project is in Go or C++ or Rust, I want my UI in Go or C++ or Rust.

All that being said, I use Jetbrains IDEs and am generally impressed. They make very high quality stuff, so this merits at least a look.