Settings

Theme

Ask HN: Net or Java for cross-platform desktop application

5 points by darreld 7 years ago · 6 comments · 1 min read


I'm starting a project to scratch an itch of mine and I'd like for it to be available for all 3 major desktop platforms. This is the point in projects where I seem to have grown a big case of Analysis Paralysis.

I have decided to use a web UI for a desktop app. My current research leads me to .Net/Nancy/Kestrel, or Java. The UI will be a self-hosted SPA talking to localhost. I am concerned about users on non-Windows platforms reluctance to use dotnet core and also to less technical users on Windows needing a current Java JRE installed, since I fear it may have fallen somewhat out of favor. I think a large portion of users would be part of an enterprise.

My preference, at least for development, would be Java but that's because I have much more experience in Java than C#/.Net.

I supposed I could do it in Python, but I'm not nuts about the deployment story for folks listed above. I'm not interested in Electron.

I thought I'd see what HN had to say about the choice.

karmakaze 7 years ago

I would suggest perhaps a language/framework that compiles to a single binary. I'm assuming that the back-end doesn't need to do any heavy lifting. You could use Go, Crystal/Kemal, Nim/Jester or other combination.

Do you actually need the same deployed code to run on each platform (Net/Java) or is it sufficient to have common source that produces a binary for each?

  • darreldOP 7 years ago

    That is a great point. I don't think I actually need the same deployed code to run everywhere. Common source would work. I do, however, feel like I need a language that is capable of producing an app that can be managed by a user, such as a UI for starting the backend process (UI or Windows service).

docode 7 years ago

I would prefer .NET Core for all future work. With their nice stack like CoreRT and X-Plat features it's very smooth to work.

kevinherron 7 years ago

Can't go wrong with Java or Kotlin.

Use whatever you're more familiar with.

passthejoe 7 years ago

Syncthing does this with Go and a web page using localhost.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection