Web Start vs Java Plugin vs AjaxSwing comparison - pros, cons, JRE, alternatives and improvement
Java WebStart is Sun technology to deploy and run Swing applications. The neat thing about it is that it automatically downloads newer versions of applications and does not even require the browser to be present. Another great advantage of Web Start is that theoretically client applications can run even if the server is down or there is no network connection. This makes it an attractive choice for small software like games and calculators. It requires the installation on client workstation before an application can be downloaded and run. Essentially, it's like installing a JRE and then having Java WebStart as a program manager. The fact that WebStart requires JRE installation is somewhat unfortunate because whenever you are building for a large user community administering client workstations and ensuring that everyone has the same "right" JRE is a pain in the neck. Thus, WebStart is more suitable for intranet environments and cases where the is a small easily identifiable and reachable user community.
Java Plugin was and still is a great solution for deploying Java Swing and AWT applets. The idea behind it is very simple - replace browser's JVM with the JVM that the developer wants for his applet. In a way it modifies the original promise of Java - write once run anywhere. It's just that instead of your application having to run in every single JVM, you are essentially providing JVMs that will run anywhere and your application will always run in that list of JVMs. It makes it much easier to predict how well will your applet run on the client machine. Written as a plugin for Internet Explorer and Netscape Navigator, Java Plugin is automatically installed the first time a user opens the site. This makes it very easy to publish new JVMs and applications especially since the users by now are used to installing software off the web pages the whole process is very smooth. For the most cases, our recommendation would be towards using Java Plugin over WebStart, unless the application has to be capable of running without being connected to the server.
|Feature||Java WebStart||Java Plugin||AjaxSwing|
|Client side execution environment||JRE||JRE||Web Browser|
|Requires client installation?||yes||yes||no|
|Initial download size (one-time installation)||5.5||5.5||0|
|Subsequent session initiation time||minimal||minimal||minimal|
|Resource consumption on the client||heavy||heavy||minimal|
|Resource consumption on the server||minimal||minimal||moderate|
|User community reach (% of people who can easily access the application)||minimal||moderate||maximum|
|Is it easy to develop for?||easy||moderate||easy|
|How many restrictions on what application can do are posed by the tool?||minimal||moderate||maximum|
|How secure is application code and client-server communication?||minimal||minimal||maximum|
|Ease of use for the end user||moderate||maximum||maximum|
|Ease of administration for systems administrator||minimal||moderate||maximum|