Over the past few years the development world has experienced a radical paradigm shift from desktop to Web applications. It may be premature to call traditional desktop programs obsolete, but the rapid rise of Web-based software is a clear sign of the ever-increasing popularity and significance of Web development.
Web applications provide developers and users alike with a wealth of advantages. In particular, programmers can leverage a more immediate development, deployment, and maintenance cycle, while end users are able to utilize applications with desktop-like features and interfaces (often referred to as Rich Internet Applications or RIAs) directly from their browser. This enables users to access data in a platform-independent manner, on the operating system and device of their choice, and from anywhere an Internet connection is available. A significant part of the success of Web applications resides in this ability to respond well to the needs of a world that is continually more and more connected. Web development is therefore a stimulating and worthwhile endeavor.
The new Web — commonly dubbed Web 2.0 (a term that's attracted its fair share of critics) — poses a few challenges for developers, especially for beginners. The Web as a development platform is exciting, but far from perfect.
The main problem in this regard arises from the Web's origins. The HTTP protocol was created as a means to store and retrieve documents. HTML, ...