My first choice would be Electron but I know it is a bit bloated (haven't developed on it).
Ideally, it should be in JS, Python, Go or Rust.
I prefer staying away from "native tech" as I focus on cross-platform compatibility as much as possible.
My first choice would be Electron but I know it is a bit bloated (haven't developed on it).
Ideally, it should be in JS, Python, Go or Rust.
I prefer staying away from "native tech" as I focus on cross-platform compatibility as much as possible.
For further actions, you may consider blocking this person and/or reporting abuse
Peter Kim Frank -
Thomas Bnt -
Best Codes -
ProDev. Staff -
Top comments (29)
Yeah since Im only familiar web, I would have to opt for Electron as well. Seems like the easiest way to translate between the two platforms. Then again, Im sure it depends on what you're trying to build.
It will not have performance heavy requirements, still I never liked the sluggish feel of electron apps
Visual Studio Code is Electron and fast. Used by millions every day.
The Top 20 Electron Apps
Sure, I don't argue about that. Slack is Electron too and afaik no one is happy with the desktop app.
My point is that non electron apps seem to have better performance metrics compared to their electron competitors, usually observable by eye.
For example visual studio code is nice and I use it, though you can tell sublime is faster, without the need to use any tools.
I'll probably get crucified for this but I'd probably use Java. It has a proved track record and it's cross platform. I'd avoid Electron because a lot of Electron apps have performance issues. Another possibility would be building a Progressive Web App.
If I'd have to choose a technology from your list I'd probably use Rust. Fast, safe and there's lots of buzz around it.
Hahahah yeah, if there is one thing you cannot call me is Java admirer.
Lots of rust suggestions around. Even though it was last on my list looks like I will have a serious look on the possibility. π
I've played around with Rust a little because my brother loves it and even though I hate low level programming languages like C with a passion, I thought it really intuitive. So yeah, give it a go :)
We're working on Tauri - which is basically a Rust core that creates a webview on Mac, Linux and Windows. You can use pretty much any frontend framework to create the interface, or even just write vanilla. You can sideload other binaries and even call out to system-available tools if that's your jam.
Here is the website: tauri.studio
Here is an app built on it: guijs.dev
Wow that's a very interesting project. I will totally check it out
To echo what a lot of others are saying here, Electron is probably the way to go!
It can definitely be a resource hog - but its normally "good enough" for most applications. Not to mention it's probably the most accessible option for most developers; the skills needed are really democratised, so more help/support available and if you're looking to open-source it has a higher likely-hood of contributors etc.
Also personally, making progress with an app is wayyyy more satisfying than having to learn a whole load of new toolsets first!
When it comes to other options, I've done some work in .Net Core cross-platform and wasn't a fan but its an option that I'm sure someone here will fight its corner, think I would if I wasn't tainted from my WPF for Vista (Honestly, terrible) project a few years ago.
For other options past those two, all I can think is to hack up the famous Bjarne Stroustrup quote; there's two classes of tools - the ones people complain about, and the ones no one uses.
Let us know what you decide on, good luck!
Thanks Marc, looks like no one here likes .net core π (I haven't tried it to be honest)
Awk.. its fine everyone loves to beat on everything MS-related,
Also if performance is the deciding factor it's going to be hard to avoid native!
Electron for sure.
Microsoft is trying to revive cross platform desktop apps with .Net Core. Problem is, they abandoned WPF 15 years ago. Wpf can't even reliably contain a browser! Don't even consider Winforms.
Java Swing is in worse shape than WPF.
Browser based apps are only way to fly today.
I would go for web-view or ideally, it's Rust bindings since I am a Rust developer.
Web-view is similar to Electron, in the way that you can use html, css and js to write your apps, but a lot less resource demanding. So I am wondering why not more people are using it.
Also, I would use Elm instead of JavaScript so I don't have to deal with run-time errors. And there is even an example for that with the Rust bindings of web-view.
Another fella in this thread had a close suggestion. I will have a look for sure. π
I've been interested in Proton (github.com/kusti8/proton-native) for a while -- it's basically like React Native for desktop.
Here's a blog post that uses Rust and Electron ;): keminglabs.com/blog/building-a-fas...
Very interesting. Not familiar with react native, just reactjs, I will give it a try though
Depending on the audience, but if you mean offline web apps, the best choice would probably be either Docker or CLI web server.
But if I had to create for non-tech people, it will have to be fully bundled, like Electron; but I might probably go with JavaFx. But when we need HTML/JS/CSS, JavaFx isn't performant anymore...
I primarily develop in Go these days. For a desktop program with a UI, though, I'd reach for Rust first.
Electron can die in a fire for all I care, and take its ridiculous memory usage with it. Even VS Code is slow compared to the speed of true native applications.
I've worked with PyQt before -- that was quite positive, but a long time ago. I would hope that bundling for deployment (ie making an installer that just works at the client without needing a local Python or PyQt install) might be easier now.
If you're looking at Electron but concerned about bloat, check out Muon