News for hackers. Stuff that matters.
Re:Graphics for JVM by gorjusborg on Tuesday November 17, 2020 @10:53AM (#25125181)
I owned development of a JNLP app around a decade ago.

JNLP did a good job of solving the app distribution/update problem, but required that you already had the JRE installed. Not too much different from assuming a browser is installed, but I found it much less likely that a user would take the initiative to install a JRE than a browser. They just don't understand what they are doing or why in the case of the language runtime.

That said, it did work very well, in my experience.

Re:Graphics for JVM by monknomo on Tuesday November 17, 2020 @01:18PM (#25127404)
I'll echo this. I owned a jnlp app, and most of the support we had was around walking people through installing a sufficiently correct jre. Not always easy to do that
Re:Graphics for JVM by nitrogen on Tuesday November 17, 2020 @03:52PM (#25129664)
When I was developing a Swing app, I ended up just distributing an NSIS installer that would automatically download and run the JRE installer if Java was old or missing, for that reason.
Re:Graphics for JVM by specialist on Wednesday November 18, 2020 @03:10PM (#25141794)
I would have bet money the JNLP installer did this. But I'm probably remembering wrong and will defer to the collective wisdom of the hive.
Re:Graphics for JVM by monknomo on Friday November 20, 2020 @11:28AM (#25161962)
I am about 90% sure there was some sort of 3rd party open-source wrapper that would download a jre. But I cannot remember what it might have been called
Re:Graphics for JVM by coliveira on Tuesday November 17, 2020 @05:34PM (#25130838)
Why apps don't just install a copy of the JRE (I believe it is redistributable).
Re:Graphics for JVM by monknomo on Friday November 20, 2020 @11:27AM (#25161944)
When you're distributing a real installer with a swing app, including a copy of the JRE is definitely the thing to do.

A jnlp app is a file format that defines how to launch a java executable over the internet. It defines the location where the executable is, and what version of java is required. Opening the jnlp to download and launching the app requires an installed JRE, or there is nothing to interpret the jnlp and go get the application.

There is, iirc, a utility that will wrap a jnlp file and go get a jre. I forget what it's called, but it makes jnlp apps more like an auto-updating standard app.

The benefit of the jnlp approach is if you can guarantee your users have java installed, then they don't need to install your app. Just click a link, then a java app self-downloads, installs and sets up a shortcut on the desktop. And it updates whenever they open it and a new version is detected.