upvote
> if you want a truly universal UI

Right. If you want your app to look the same, custom way, ditching what the OS has to offer.

Some developers still believe an operating system has useful UI components and patterns worth adopting. From this thread it's clear that there's plenty who don't. Personally I view that as a regression.

reply
Well, maybe Java's AWT has been correct all this time.

Of course there is value in having "OS-native" buttons, transitions, windows etc. And many parts of GUIs are basically standardized. The problem is all the parts that are not, and have to look the same everywhere.

reply
Probably many Electron users also view that as a regression, but a tradeoff worth making.
reply
one missing from that list: Slint, which i work on. runs on Linux, Windows, macOS and embedded, with app logic in Rust, C++, Python or JS.

You can use JS but it doesn't ship a browser engine, it renders with its own lightweight toolkit.

reply
How about something like this https://github.com/gen2brain/iup-go? Still not released, but I plan to clean all todos in the next few weeks.
reply
The one which OS has to offer.

Web is bad everywhere outside of the browser.

reply
I want to have both linux and mac users (but maybe also android, ios, windows).

You clearly see the issue.

reply
When I started programming, one had to repeat in Assembly the same application for each computer brand.

We are not that bad nowadays, it is a skill issue.

There are plenty of ways to have portable applications with native UIs without shipping a browser.

Somehow we managed to do it for decades and without AI writing the code for us.

If you want to ship a browser, I already have one, thus standard Web, with a daemon if it really must be.

reply
I agree on the standard web point, but you still failed to reply to what is a native UI for every OS.

Portable frameworks exist, but they are at most native to a single platform.

reply
deleted
reply
> You clearly see the issue

I don’t. VLC is available everywhere, so your requirement is clearly not a problem. Jetbrains is available on all major desktop OS.

reply
Well, getting a hardware-accelerated blank buffer onto a screen to render video content is hardly the epitome of graphical user interfaces. VLC has very few and basic UI elements.

Jetbrains is a better example, using Java with Swing which is not a common choice. As seen from my other comment, I do think this is a good direction, but it ain't any more native than Flutter or for what it's worth an Electron app, none of these are "what the OS provide". FYI Jetbrains has to do quite a few platform-specific tweaks to make them better citizens on each platform.

reply
Portable applications is not a recent need. The only requirement is to have a standardize interface and an implementation for each of the platform. Where you put that interface is an engineering skill.

VLC went with QT (which has done all the hard work) for the UI, and their own libraries for the media playing part. Other software like Emacs and sublime has implemented their own UI libraries. Some just ship libraries and others build UI for them.

The issue with Electron is that it brings a whole jungle and a gorilla holding the single banana that the devs actually need. And the dev flung the whole thing at the users. It's like establishing an iron mine, a steel factory and then pollutes the whole region when building a quick stone bridge would do. Because the only thing you know are suspension bridges.

reply
VLC is not the example you're looking for. Written in Qt for desktop and their own libVLC wrapper for mobile. Yes, in the case of VLC, parent comment is right: you clearly see the issue. And a media player is a relatively uncomplicated piece of software, UI wise.
reply