Over a million developers have joined DZone.
Platinum Partner

Desktop vs. Web - Confrontation or Convergence?

· Java Zone

The Java Zone is brought to you in partnership with ZeroTurnaround. Discover how you can skip the build and redeploy process by using JRebel by ZeroTurnaround.

We have all heard the theory that Web services will gradually force out client applications. All you will need for your work would be a computer with an access to the Internet and a small application to work with web resources. You won't even need a full-fledged operating system like we have today. All personal data (files, photos, documents, etc.) will be stored on remote servers. All necessary software will be available in form of various web services.

This theory has many supporters and opponents. The supporters state that at some point web services will completely supplant client applications. And their opponents will contradict that web services will never be able to fully replace many client applications, such as Adobe Photoshop or games, and that some users will never agree to store their important and confidential information on remote servers that could also be accessed by others.

This article isn't aimed at detailed description of both standpoints. The purpose of this writing is to try to look into the future and understand how the migration to web applications could occur. If such migration will take place at all, it won't happen suddenly, there should be some transition period.

 It is a fact that the Internet penetrated deeply into our life and became an integral part of it. We've already got accustomed to use social networks (Facebook , LinkedIn ), to post our thoughts in blogs, publish pictures on Flickr , watch video on YouTube , travel around the world with Google Earth  and many more. But in order to do it you would need to have some small application - browser .

Until quite recently, the market of web browsers was very "quiet". But there was a lot going on on this market lately: Apple released Safari  for Windows, Microsoft finally paid attention to their browser and this resulted in Internet Explorer 8, Google released Google Chrome for Windows, Mac OS X and Linux. Opera browser and Mozilla Firefox browser also keep up with the rest and have new updates and versions regularly. So what's the buzz? Why did everybody pay such close attention to the browser market?

Heads of these companies are famed for their ability to foresee the future and foretell trends of events. May it be that they are really sure that web solutions will sooner or later completely replace all client applications, and the browser will become forefather for the most relevant application on the computer? In this case no wonder that they offer their solutions for working in the Internet. They understand that if you don't enter this market with your own solution right now, you may come in nowhere in the future.

What will be happening with client applications? Will they really be just transformed into web services? My assumption is that the client applications will be turning into web services gradually. There will be a period, when client applications will represent some hybrids. On the one hand it will be an ordinary client application, on the other hand this application will have browser functionality and it will allow working in the Internet right from the application interface. At the moment you can already see that many applications become similar to such hybrids. For example let's take iTunes , quite a popular application.


This application has an embedded browser component to access iTunes Store (it is actually a web service) right from the application interface which is a very convenient solution. This approach allows updating iTunes Store web service without affecting client application. Therefore this application combines advantages of a web application as well as benefits of a client application.

A very interesting functionality was added to Google Chrome browser - you can now save a page link as a desktop shortcut. Clicking on this shortcut causes launching of the browser and automatic loading of the appropriate web page. Though it is hard to tell that it is a browser:

Google Chrome

The concurrent solution was implemented by Mozilla Labs  and released as Prism .

It is obvious that the number of components allowing to embed browser funtionality into a client application has grown recently. For example such libraries as JDIC , WebRenderer , JExplorer  and JxBrowser  allow Java developers to integrate and use all the funtionality of Internet Explorer, Mozilla Firefox and Safari (WebKit) browser right in a Java application.

Therefore it turns out that many applications become hybrids already now and these hybrids are only a milestone in the evolution of client applications into web services. This is just an assumption, and it would be interesting to know YOUR thoughts and ideas on this matter. Maybe embedding of a browser component into a Java application is not just some milestone but a necessity?

The Java Zone is brought to you in partnership with ZeroTurnaround. Discover how you can skip the build and redeploy process by using JRebel by ZeroTurnaround.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}