Strengths and Weaknesses of Java Application Development Models in a Web 2.0 World
Before we go into the core of the issue itself, let’s discuss what we refer to when using the phrase Web 2.0. Since O’Reilly coined the term in the early 1990s, the phrase Web 2.0 has undergone a gradual but vital transformation. In current parlance, the phrase refers to two possible meanings – either the increased user centricity of the World Wide Web or the proliferation of dynamic Ajax-based web applications. In case of the latter, many programmers assume that Ajax is the only platform for creating dynamic applications, which is definitely far from the truth. In fact, not only is Ajax not the only platform for creating dynamic applications, but truth be told, Java applications actually feature various advantages over Ajax in creating applications.
Key Strengths of Java-based Applications
One of the core principles of the Java language is its WORA (write once run anywhere) philosophy, which ensures that the application runs on any machine irrespective of the browser or OS used by the user. This ensures that compatibility of applications are maintained no matter what device you use to run your application. Add to the above benefits that Java SDK is available for free along with a mass of tutorials and communities dedicated to promoting the use of Java for applications both on and off the web. By the way if you think Ajax is the be all and end all of all dynamic apps, consider using only Internet Explorer and get back to me. Truth is without Java, many applications for mobile phones and desktops would probably crash frequently whether they support Web 2.0 or not. Finally a word about security – till date no app created using any language can claim to be completely secure that said, most programmers will agree that while using Java to create an app whether for mobile or for desktop, they feel an enhanced sense of security and the ability of Java to operate compatibly with multiple security protocols is unmatched by any other currently available programming language. These as well as many other factors play a key role in ensuring that Java continues to be the language of choice for creating applications across a wide range of platforms and devices.
Key Weaknesses of Java-based Applications
The most commonly cited problem with using Java is the incidence of boiler plate codes, which make coding of the application a pain without providing significant benefits to the programmer or end user of the application. This makes a majority of Java applications run heavy on the device or the server and according to most non-believers, unsuitable for use in case of Web 2.0 applications. These allegations are not without merit, but a skilled Java programmer can probably bypass such problems to a large extent and ensure smooth operations of the application without adversely affecting the performance of the device. Unfortunately, the high latency problem with many Java apps is actually a big drawback especially for clients working on low bandwidth or limited resources. I am hopeful that this problem will be addressed as a priority issue and the “powers that be” can figure out a solution to this problem and make the life of programmers and end users easier in the long run. Even in the presence of these issues as well as other issues that tend to emerge from time to time, while using various Java IDEs, I can safely conclude that there is definitely a place for Java in the Web 2.0 world no matter what definition of Web 2.0 you tend to follow.
This was a guest post by Abhishek. Abhishek is currently working with eXtendCode, an Software Development Company in India, which provides software solutions such as Java Application Development, Open Source Application Development, Data Base Solutions, Mobile Apps Development and Quality Assurance Services etc. For more information visit: http://www.extendcode.com/