3 ms·
Which native framework? Even in a "post-vibe code" era I wouldn't want to create multiple versions of the same app, and none of the "platform-native" GUI toolk
by gf000 4mo ago
Which native framework?
Even in a "post-vibe code" era I wouldn't want to create multiple versions of the same app, and none of the "platform-native" GUI toolkits run on everything.
SwiftUI is apple-only, gtk has pretty bad compatibility on non-linux, qt is decent but requires C++ or python, and even so still not much for mobile. Don't even get started on "Windows frameworks", because as I write this sentence they may have left a new one in the ditch.
Flutter may be the closest, but why didn't they go with e.g. Java instead of a new language?
So yeah, if you want a truly universal UI then web is your best bet.
- jorisw 4mo ago> 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.
- actionfromafar 4mo agoProbably many Electron users also view that as a regression, but a tradeoff worth making.
- gf000 4mo agoWell, 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.
- lmm 4mo agoThe OS-component-oriented approach was defensible in the days of desktop only (though personally I think it was a mistake even then), but it's not sustainable now. People want your app on their PC to look and behave like your app on their phone (whichever combination of PC and phone they happen to have), and that's a lot more important to them than having it look and behave like other apps on their PC.
- wolvesechoes 4mo ago> People want your app on their PC to look and behave like your app on their phone (whichever combination of PC and phone they happen to have), and that's a lot more important to them than having it look and behave like other apps on their PC. They don't. No one generates GBs of simulation data and create plots on their phones, and this is what "app" I am working on is doing.
- lmm 4mo agoMany times I've thought "what kind of idiot would try to use our app on a phone?" only to find one of our execs was doing exactly that, but YMMV I guess.
- gen2brain 4mo agoHow about something like this https://github.com/gen2brain/iup-go https://github.com/gen2brain/iup-go? Still not released, but I plan to clean all todos in the next few weeks.
- pjmlp 4mo agoThe one which OS has to offer. Web is bad everywhere outside of the browser.
- gf000 4mo agoI want to have both linux and mac users (but maybe also android, ios, windows). You clearly see the issue.
- skydhash 4mo ago> 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.
- gf000 4mo agoWell, 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.
- skydhash 4mo agoPortable 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.
- ogoffart 4mo agoone 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.