In my opinion a lot of companies are going to make decisions in the near future about using Web 2.0 or Rich Client for their next end-user applications. Both have their respective strong and weak points.
Over the next couple of weeks I intend to put up some postings about my opinion on various aspects of Web 2.0 compared to Rich Client development. Since I myself am mostly involved with Java software development I will focus on the aspects of frameworks and platforms based on the Java language.
For this intro, let’s lay down some basics by defining what Web 2.0 and Rich Client is.
I’ve found a nice definition of Web 2.0 at O’Reilly Radar:
Web 2.0 is the network as platform, spanning all connected devices; Web 2.0 applications are those that make the most of the intrinsic advantages of that platform: delivering software as a continually-updated service that gets better the more people use it, consuming and remixing data from multiple sources, including individual users, while providing their own data and services in a form that allows remixing by others, creating network effects through an “architecture of participation,” and going beyond the page metaphor of Web 1.0 to deliver rich user experiences.
Now on to Rich Client. There is a very good definition available at TechTarget.com:
A rich client is a networked computer that has some resources installed locally but also depends on other resources distributed over the network. The rich client’s configuration is somewhere between that of a thin client, which relies largely upon network-distributed resources, and a fat client which has most resources installed locally.