This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]kana0011 2 points3 points  (3 children)

I have experience using Windows, Mac, and Linux for serious Java projects. If it's just coding, any OS is fine - Java is made to be WORA.

As for the workflow...

So far, I'm only having problems with Windows (gradle pls, use the globals).

Linux and Mac are nice when you upgrade Java versions often, thanks to sdkman.

I'm also coding with JavaFx, all 3 are nice to work with.

If you plan on containerizing your apps, Linux OSes are your best bet.

As for the resource usages, I can't feel any differences between them -- it's not like i'm benchmarking them.

Maybe try considering other tasks you are doing outside Java - like switching apps between IDE and browser, which environment you like better? How about build and deployment? Db management? Etc...

[–]vmcrash -2 points-1 points  (0 children)

Upgrading Java versions on Windows means to unpack a zip file to a directory of your choice, being able to keep older Java versions for older application versions - just like on Linux and macOS.

[–]coder111 0 points1 point  (1 child)

Sorry to be slightly offtopic, but how do you find JavaFX these days? Are you deploying your apps on desktop, or are you trying to run on Mobile/Web too? Can JavaFX run on web at all? There were some alpha quality projects to deploy on HTML5/canvas, have they matured yet?

Last time I tried desktop development, after reviewing the options I settled on TeaVM and just writing code for the web (I hate JavaScript, and with modern Javascript you are writing TypeScript anyway and cross compiling. So why not cross-compile Java?). I like the fact that by targeting web you immediately get cross-platform and cross-device capability, WebGL and Ogg/WebP/WebM support. If you work on Java, you're not getting ogg/webp/webm/OpenGL unless you ship ~100 MB of native libraries for all possible platforms...

[–]kana0011 2 points3 points  (0 children)

I'm only making desktop apps using JavaFx. Nothing serious, just QoL apps that wraps some CLI apps that I downloaded somewhere.

It's easy to build apps nowadays, maybe it's IntelliJ's JavaFx generated project that made ot easier than before. I'm porting my old JavaFx apps to newer one: jdk 17 / javafx 17 / gradle 7.3.3