3 ms·
Although it's true that maintained UI frameworks have features less-maintained UI frameworks don't, this isn't really the cause of the slowdowns. Those features
by mike_hearn 2y ago
Although it's true that maintained UI frameworks have features less-maintained UI frameworks don't, this isn't really the cause of the slowdowns. Those features are all edge cases that aren't in use most of the time, by most users, and so shouldn't be incurring any significant performance hit on the regular paths.
And you can certainly have such features in modern / fast frameworks. Take a Java Swing or JavaFX app and compile it with GraalVM Native Image. The framework dates from the 90s but is maintained because JetBrains relies on it. It supports hi-dpi displays, accessibility apps, multi-monitor rendering and so on. And when natively compiled, it will start in the blink of an eye.
- kaba0 2y agoCan you actually compile Swing or JavaFX with GraalVM? I have only ever heard anecdotal evidence of that, even though I have known people from the Graal team itself. Like, there shouldn’t be anything fundamental that prevents it from working (it just has platform specific native dyn libs which works fine with graal), but never seen an example, so I would appreciate a pointer.
- brnt 2y agoHaven't tried it, but looks like you can: https://www.praj.in/posts/2021/compiling-swing-apps-ahead-of-time/ https://www.praj.in/posts/2021/compiling-swing-apps-ahead-of...
- mike_hearn 2y agoSure. For JavaFX see here: https://github.com/gluonhq/substrate https://github.com/gluonhq/substrate Sibling gave a link for Swing. I've also seen it done for Jetpack Compose but that's definitely more experimental. None of this stuff is very smoothed over though. There aren't many people doing it. But, the results are pretty magical.