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.

AjaxSwing is another alternative for deployment that can work as a complimentary service to the other options presented in this review. AjaxSwing converts Java GUI windows to HTML pages automatically and end users see only HTML and JavaScript. AjaxSwing also requires no client installation and because HTML is supported on every platform and device, AjaxSwing can dramatically widen the community of users that are interested in accessing the application. AjaxSwing increases the load on the server and has limitations of HTML, so the interface is not as responsive and fancy as Swing application can offer. However, a great advantage of AjaxSwing is that the startup time is extremely small compared to WebStart and the Plugin. Even though WebStart and Plugin cache the applications, the first time the user is accessing the site they may end up having to download 6M JRE and 1M of application code. AjaxSwing has its pros and cons and the best way to find out if it is a right choice for you is to try it on your application.

Feature Java WebStart Java Plugin AjaxSwing
Client side technology Swing/AWT application Swing/AWT applet HTML/JavaScript
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

 

For more details refer to Overview page on AjaxSwing. To download free Standard Edition of AjaxSwing go to download.

<< back to Solutions