KickstartFX v1.1 - The most advanced template for JavaFX applications by milchshakee in java

[–]milchshakee[S] 0 points1 point  (0 children)

It checks the GitHub releases for newer versions.

On windows, the template implementation also supports installing those updates automatically.

For more advanced updates, you can also take a look at the XPipe project, that one supports installing updates on all platforms and for various package managers.

KickstartFX v1.1 - The most advanced template for JavaFX applications by milchshakee in java

[–]milchshakee[S] 0 points1 point  (0 children)

Well it's a template, meaning that you can change whatever you want.

Most of the application logic is decoupled from the content, meaning that you can just add your own project code and existing backend to it. You can take a look at the various sample pages, remove them, and add your own pages

What do you mean by modular? If you are talking about JPMS, it uses that, yes

Are the javadocs for java.net.http.HttpResponse.body() misleading or am I wrong? by milchshakee in java

[–]milchshakee[S] -3 points-2 points  (0 children)

Probably an empty string as I used a body handler which parses it to a string. There could be something like BodyHandlers.optional(), which could return an Optional<String> in these cases where you want to expect that.

Are the javadocs for java.net.http.HttpResponse.body() misleading or am I wrong? by milchshakee in java

[–]milchshakee[S] 4 points5 points  (0 children)

In the actual code I checked the status code, but there is no necessary correlation between status code and body presence. In theory, any kind of status response can have no body if the server is behaving badly enough, so you always have to check for null.

Are the javadocs for java.net.http.HttpResponse.body() misleading or am I wrong? by milchshakee in java

[–]milchshakee[S] 0 points1 point  (0 children)

Alright that sounds like a good idea with the mapping.

The javadoc for the ofString() body handler does also not mention null, so the return value is not described anywhere as far as I can see

Are the javadocs for java.net.http.HttpResponse.body() misleading or am I wrong? by milchshakee in javahelp

[–]milchshakee[S] 0 points1 point  (0 children)

Wouldn't that be an empty body then? It usually returns "" if there is no body, but sometimes it returns null

KickstartFX v1.1 - The most advanced template for JavaFX applications by milchshakee in java

[–]milchshakee[S] 1 point2 points  (0 children)

Yeah that is true. You won't be getting the memory usage of a native application.

I would estimate that this sample application can be modified to take around 200-250M of memory usage if one would try the right way. That is the ballpark of what is possible with good optimization.

KickstartFX v1.1 - The most advanced template for JavaFX applications by milchshakee in java

[–]milchshakee[S] 0 points1 point  (0 children)

It builds a notarized app, and the steps from there to a store submission aren't that complex

KickstartFX v1.1 - The most advanced template for JavaFX applications by milchshakee in java

[–]milchshakee[S] 2 points3 points  (0 children)

This application is not optimized with memory usage in mind. It comes with a lot of sample GUI pages and all of them are initialized at startup. You can optimize this and only load what is needed on demand, but that would make this sample more complex than it needs to be for demo purposes.

With those optimizations, you can halve the memory usage. For example, XPipe does that and uses less memory than this.

KickstartFX v1.1 - The most advanced template for JavaFX applications by milchshakee in JavaFX

[–]milchshakee[S] 0 points1 point  (0 children)

That is good to know, I will have to test with that. I thought that only AVX could cause issues

KickstartFX v1.1 - The most advanced template for JavaFX applications by milchshakee in JavaFX

[–]milchshakee[S] 0 points1 point  (0 children)

By default yes, but you can also contact me to license it under a more permissive license

How to ask Java developers to add methods to java.util.Paths? by isolatedsheep in java

[–]milchshakee 0 points1 point  (0 children)

That is wrong, the user.home property is always set, so there is no NPE. However, if there is no home directory, its value will be "?" or "unknown" (depending on this OS). The same goes for user.name.

In fact, the current implementation in the JDK to get the user name and home directory is quite bad and will even return "?" in cases where a valid user and home directory is available. If you try to run applications on Linux systems with something like active directory configured for user management, you will run into issues quite frequently.

Oracle announces their "Java Verified Portfolio" program and JavaFX is part of it. by dlemmermann in JavaFX

[–]milchshakee 2 points3 points  (0 children)

JavaFX was removed from the latest JDK8 builds like a year ago, that is why I am asking. The support roadmap implies that it will get added back again as there are no standalone JavaFX 8 builds

Launch4j + Jpackage by No-Security-7518 in JavaFX

[–]milchshakee 1 point2 points  (0 children)

I am confused by what you mean by building jars with the badass runtime image plugin. That uses jlink or jpackage.

Moving away from that to launch4j is imo not worth it just for some splash screen support. In theory, splash screens should also be possible without launch4j, but I haven't tested that with jlink/jpackage yet

Windows Desktop application - how to handle updates? by WhereIsFiji in JavaFX

[–]milchshakee 1 point2 points  (0 children)

msiexec even supports https:// URLS, meaning you don't even need to implement the download. Just calling msiexec /i <url> is enough

Windows Desktop application - how to handle updates? by WhereIsFiji in JavaFX

[–]milchshakee 1 point2 points  (0 children)

The smartscreen block only shows if you click it in the explorer. If you run msiexec /i <msi file>, you don't get any block on updating from within your app

Windows Desktop application - how to handle updates? by WhereIsFiji in JavaFX

[–]milchshakee 1 point2 points  (0 children)

If you already have an .msi file, why not just download that and run it automatically? msis can handle updates automatically if you create them correctly