When Java was developed initially as OAK even its developers were not sure in which direction the technology will grow. And actually Java has taken an unexpected turn around as a development technology. It started its journey with embedded applications but people found it somewhat slow when compare to C++. Java made foray into web in the form of applets and ruled the world for sometime. But then came enterprise era with crusade of .NET and J2EE. In this article let us examine possible directions where there are chances Java will grow as development technology.
Some people say there is no need of separate Core Java, which is now known as J2SE. J2SE comprise of core Java components and libraries like core language library, utilities, SWT, Swing, Networking, Security etc.
For Thick Clients
Now-a-day people expect great performance from applications which are hosted over the net on some remote servers. Implementing thick client is one of the solutions to achieve better performance for such applications. Thick client means the implementation where client itself carries out some operations without interrupting server for small things. Java applets are most competitive candidate for thick clients. They can offer full-fledged stand-alone functionalities even though downloaded from a remote server.
As a Base
To develop advanced components and tools one always need to use the base library. J2SE provides basic libraries like language features, utilities and networking APIs. Even J2EE and other Java technologies are extended or developed over the top of such base libraries. With the changing times, J2SE or Core Java is not going to lose its importance.
Sometimes back people started to believe that Java is meant for web applications only. Java still can make its mark as development technology for stand-along applications. The only drawback of Java for desktop applications is degraded performance. Modern hardware can easily overcome this drawback. But at the same time Java comes with many advantages that applies to stand alone applications too, like platform independence, scalability, easy to maintain, flexibility etc.
The enterprise form of Java, which is known as J2EE (Java 2 Enterprise Edition), is the most famous Java architecture in use in modern scenario. J2EE is a combination of many technologies bundled together to form a pack, which offers everything that is required to develop an enterprise application. It comes with features like flexibility, scalability, object orientation, security, persistence, caching, performance tuning and many more.
In Full Swing
At the time when .NET was launched in market people started to believe that .NET will enjoy monopoly in market of enterprise application development technologies. But Java made its comeback with J2EE as prominent technology for enterprise and web applications. It started offering everything compatible to .NET along with its age-old advantages like free of cost and platform independence. Because of such advantages more and more people started to select J2EE as their development technology to develop enterprise and web applications. It has been observed in one survey that the ratio of applications being developed using .NET and J2EE is 28-72. This shows importance of J2EE throughout the industry. Let us also analyze importance of components and technologies forming part of J2EE in enterprise applications.
People are always in search of implementing J2EE, a way that it can be used optimally. Several new frameworks, practices and design patterns are develop to make proper utilization of advantages of J2EE. Some of them are discussed here.
It is not that J2EE has got everything that is required to develop an enterprise application for modern scenario. To compete with .NET it needs some more improvements in many areas.One major area is client side components. .NET comes with client side components those are rendered depending on type of browser used by the client. This features if going to be achieved by JFS but its implementation is not complete yet.
Another area where J2EE is lagging behind is, integration. It is not that you go and install some J2EE kit and start developing your application. You have install and plug-in many things to achieve your desired goals in a J2EE application. Java community should find a way to cop with this situation and provide more and more features and functionalities with its standard kits.
There are some areas of communication and information where Java has proved it very useful. Java has a chance to grow more and achieve a lead in these areas.
Mobile phone applications are very wide scope area where Java is being used for its portability and independence. Most of mobile phones operate over Java implementations. Sun has its own implementations names as J2ME (Java 2 Micro Edition), but most mobile phone vendors have developed their own version of J2ME.
Apart from mobile phones Java applications are also significant for other small devices like palmtops, digital diaries etc. Because of its portability and independence from underlying hardware Java is being widely used to develop applications those can be accessed through small devices.
This is the area for which Java programming language was initially intended for. But then people found it to be very slow for Embedded applications. But now a day Java is gaining more popularity to develop embedded applications. The reason after such popularity is its platform independence. The same embedded applications coded once can be used to control many different types of machines and devices. So the principle of reusability is gaining more popularity among embedded applications community and so Java.
After examining scope, usage and potential of different areas of Java technology we can summarize that it has still long way to go. Java has got a lot of potential to develop and grow in many areas. For existing areas like desktop applications and enterprise applications there are chances for Java to gain better role. Also it has got to grow in new areas of embedded applications in future.