4 ms·
Java and Python have a few. I still don't get how electron got so popular. It's always been pretty straightforward to ship an app with a self-contained Java run
by collaborative 3y ago
Java and Python have a few. I still don't get how electron got so popular. It's always been pretty straightforward to ship an app with a self-contained Java runtime, much the same as electron ships with v8. Java GUIs have always been worse than c++ ones, but still.. much better than electron I'd say
- creshal 3y agoAnd now try to get either to work mobile, or in a browser, or at least try to share frontend code between them. That's where electron shines, and all the "classic" frameworks really don't. QtQuick and JavaFX kiiiind of work for at least some platforms, but it's fairly rough all considered, even compared to the inelegant brute force solution of electron. I'd put my money on the competing "electron, but smarter" solutions that keep bubbling up, rather than any language-centric framework.
- pdntspa 3y agoI hate that we are completely enamored with browsers. Desktop apps and browser webapps are different platforms, with different methodologies and motifs. I hate hate hate it when a desktop app looks and acts like a web app.
- collaborative 3y agoI wish that CodenameOne could have been the norm instead of Electron. Unfortunatrly, its desktop port never matched its mobile one in terms of functionality (still uses JavaFX for web views). I still prefer it over Electron where web views are not required i.e. nowhere
- pdntspa 3y agopySide6 has been a dream for me, it 'just works' and QT is quite robust. I am currently fucking with Java via GraalVM, and packaging my app for distribution has been absolute hell: jlink throws errors. jpackage somehow gets stuck in an infinite loop that generates a directory tree of seemingly infinite depth (so deep that even Explorer can't delete it) GraalVM native-image can't complete and throws all sorts of weird error messages Trying to modularize the app has been hell too, it seems like every one of your dependencies needs to be modularized as well? And like all I am using is Swing, FlatLaf, and MigLayout :( How the hell are people getting apps running in a standalone environment? I really like Java the language, but getting a desktop app running on it in 2023 is a nightmare.
- Capricorn2481 3y agoI don't know anything about the QT on python as a runtime. Is it supposed to be just as fast since it's bindings to C++, or is it noticeably slower?
- pdntspa 3y agoI haven't done anything terribly performance-sensitive with it, but what I have written has performed extremely well. My app starts up to its main window instantly (which SHOULD be table stakes...)
- vips7L 3y ago> I really like Java the language, but getting a desktop app running on it in 2023 is a nightmare. This is honestly because you are taking the hard path and trying to do AOT compilation. Just use Swing with HotSpot. Native Image isn't meant for GUI applications and Swing internally uses a TON of reflection. Using jlink and jpackage with HotSpot has been trivial in my experience.
- mike_hearn 3y agoTry https://conveyor.hydraulic.dev/ https://conveyor.hydraulic.dev/, we replace or drive the whole deployment stack and have plenty of JVM using customers. It's a lot easier, try it out and see if it works for you. I should say though, that the support for native image is experimental.
- booleandilemma 3y agoI think you had a massive number of exclusively JS developers out there who couldn't build a UI outside of a website but wanted to. Then Electron came along and gave them that power. That's how it got so popular, imo.