The way Vello/Masonry/Xilem are split projects is partially what got me interested in it (and in turn caused me to post it to HN), as well as the reactive architecture of Xilem.
I do believe a garbage collected interpreted language would work best for UIs.
Something like Vala (for gtk) but with a runtime/vm.
python-qt has shown to be a very strong combination. My issue with such solutions is that packaging a python application to the end-user can bloat binary size.
I also think GTK should get some credit in that space, because due to GObject introspection it's easy to interface with GTK with any language.
I've been using oh-my-pi, for the simple (and possibly naive/stubborn) reason that it doesn't try to get me to install it as global npm dependency in /usr.
I am not a web developer, I don't need npm and I don't want it clobbering my /usr (which is immutable on many modern distro's anyway). Doesn't exactly inspire confidence in the project to me.
oh-my-pi's installer installs a bun bundled binary in my users .local folder. That's much more user-friendly.
They're friendly for the user audience that doesn't care about these things. The location is a minor issue compared to many of the capabilities they come with. For the slightly more tech savvy, they should really be running these harnesses in a contained environment with net cap dropped, for instance.
The price of flexibility is, pi is not opinionated about adding sandboxing out-of-the-box, it gives you options on how you want to do it. You either do it with linux containers, with a dedicated VM, or just bubblewrap.
It is nice that it gives you a way to hook into it in a very easy way though.
How so? It renders to a window buffer using your GPU API and interfaces with your OS for event handling. Electron renders using an embedded browser and uses said browser for input/events. Isn't that quite different?
reply