This discussion is archived
5 Replies Latest reply: Feb 7, 2013 2:23 PM by jsmith RSS

Java apps as natives without jvm preinstalled

870611 Newbie
Currently Being Moderated
Maybe it is the most asked question in the java communities since always.

But I want you to listen one more time, please ;)


Look at the consumer applications landscape today.
Users have amazing experience in iOs\Android\WP.

Desktop apps must have very simple way to install.

And here we see the fundamental weakness of java.
Java application today are very compact in jar, but require jvm. ( I know about native installers and will talk about later )
To be clear, we are all grown here and let's avow it : very little share of desktops/laptops have latest jvm and in future this share will only shrink.
News about java vulnerabilities ( I know, it's only about browser plugins, but 99% of users project this mess to java itself ) like tsunami all over Internet.

What will do average user, if application ask to install java?
My guess - about 50% will skip this and will never try your app again.
Even if they could - very often they can't because they maybe at work (bored office stuff - huge market :) ) and they just can't install anything. And yes, even at corporate sector java's share far from 98% as we used to read...

Native installers in my opinion - is the right step in wrong direction.
First of all - users root drive free space wasted very fast.
Secondly, (surprise!) users often can't ( or do not want ) to install anything.
That's not all, but enough for now.


And now, solution that could revitalize java desktop.

What if we can pack java application with jvm in single .exe file? ( and something like that in MacOS )
When users launch application, jvm deploys in memory (!), not hard drive. With compact profile, less than 30 MB will be used. It will last less than second, I guess.
After that we relish by amazing speed benefits. And users, I am sure, will more than happy, when they can launch app in one click, don't have garbage in root drive after playing AnotherHungryPigsGame, and can save program in any place ( big hard drives for file storage, cloud storage, /downloads, et cetera )


AFAIK, molebox make stuff like that, but free and saintly way from Oracle - it will be the Day When Java Stopped Rolling To Server Only Language.
  • 1. Re: Java apps as natives without jvm preinstalled
    edward17 Newbie
    Currently Being Moderated
    You can, it does

    https://blogs.oracle.com/talkingjavadeployment/entry/native_packaging_for_javafx

    http://docs.oracle.com/javafx/2/deployment/self-contained-packaging.htm

    http://ed4becky.net/homepage/javafx-from-the-trenches-part-1-native-packaging/
  • 2. Re: Java apps as natives without jvm preinstalled
    870611 Newbie
    Currently Being Moderated
    Sorry, maybe I was not clear...

    Idea (not mine and not new) is to pack app with jvm into exe and to launch WITHOUT installing.
    Jvm will be kind of 'installed' into operating memory.
  • 3. Re: Java apps as natives without jvm preinstalled
    svanimpe Newbie
    Currently Being Moderated
    I don't know what's the case on Windows or Linux, but building native packages on Mac gives me both a (drag and drop) installer, as well as a directly executable (double click) application. No need to install anything.
  • 4. Re: Java apps as natives without jvm preinstalled
    870611 Newbie
    Currently Being Moderated
    And I do not know much about Mac. :(

    But on windows native installers have to be, hmm, installed, so, issue remains the same.
  • 5. Re: Java apps as natives without jvm preinstalled
    jsmith Guru
    Currently Being Moderated
    zonski was working on an alternate set of JavaFX deployment tools, you may want to leave him a comment on his site or send a message to him to request he incorporate your feature request:

    http://www.zenjava.com/2012/11/24/from-zero-to-javafx-in-5-minutes/
    https://github.com/zonski/javafx-maven-plugin

    I'm sure he'd appreciate and incorporate a code contribution too :-)

    Otherwise to get the feature into the standard deployment tools, log a jira request against the runtime: http://javafx-jira.kenai.com

    JavaFX deployment packaging tools are open source:
    http://openjdk.java.net/projects/openjfx/

    The JavaFX development source is:
    http://hg.openjdk.java.net/openjfx/8/master/rt/file/tip/deploy/

    There are also mirrors of the open-jfx repository (including the deployment tools) on bitbucket (as well as a gradel deployment tool) if you prefer to work with them to integrate your idea:
    https://bitbucket.org/shemnon/

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points