5 Replies Latest reply: Feb 7, 2013 4:23 PM by jsmith RSS

    Java apps as natives without jvm preinstalled

    870611
      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
          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
            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
              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
                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
                  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/