Prima: Cross-platform GUI toolkit written in Perl
github.com
github.com
Traditionally, readme files were for what you might want to do once you had received the code, which most obviously means how to build it. They were certainly not intended as landing pages, as GitHub has co-opted them (and some, perhaps most, other forges have since followed suit). We’ve reached the stage, in fact, where a readme file in a repository is regularly actually something that should be ignored as irrelevant when you obtain a copy of a repository. And quite possibly that it’ll be chock-full of obscure HTML markup that tries to achieve certain appearances by depending on GitHub’s stylesheets and abusing elements. So much for “read me” and the intentions of languages like Markdown.
A better link for this HN submission would be http://prima.eu.org/, which is the actual project page. The GitHub repository currently linked is only the source code. It’s reasonable for it to have a link back to the site for more information, as it does (though it’d be better more prominently placed at the very start), and there’s no call for it to include the screenshots in any form.
Or Qt's .ui spec (though too Qt-specific).
I like flutter or Unreal's Slate UI approach (e.g. the UI is in the code), and wished we used that more with our own Qt's use (rather than the visual editor). I'm not saying it's the wrong approach, but it adds complexity barrier, for no good reason (we never had dedicated UI person(s) that just does .ui files, it was all us programmers doing it, so why add this extra layer for no good reason).
Our use of Qt, is pretty much what Autodesk does with Maya, or the VFXPlatform community (but in our case it's our level editor - Radiant, written in it - it used to be MFC, but changed since)
Is it that TCL/TK sort of filled that niche for rapid prototyping and development 10-15 years ago?
Note that GIT's default GUI parts are written in exactly that.
Tk then hit a bit of a limit when it came to common widgets, and so got less popular.
Perl also had a good implementation of Win32, if I remember correctly.
These days, both Perl and GUIs are on a steady decline, so there's not much moving in that space. Gmusicbrowser[1] is written in Perl/Gtk, if I remember correctly.
Speaking of verbosity, having to lay out all the widgets in an app with all their individual properties, coordinates etc. quickly gets quite dense. Here having things like good literal definitions, flexible arguments (variable/default) can make that a lot more concise.
If the language itself doesn't do that for you, tooling quickly becomes necessary. This can be a UI designer (which is usefule in any case), or some ad-hoc UI description language. Which tend to suck (UIL, XAML etc.), and thus require a UI builder application anyway.
Performance is sufficient. Perl always had a lot of packages to help integrating with services etc.
So, yeah, I'd say it's pretty decent, but hardly unique. That was true 20 years ago, and even more so now. Not that anyone cares about desktop UIs.