In the past, web environments were totally based on requests and responses. Meaning that you would have a form that was submitted to the server as a request, that generated a server response. Such concepts have evolved with time and an events layer was added, that resulted in environments like ASP.NET and J2EE, a much more intuitive way to program your application.
Although events were introduced into web environments, they did not match their desktop counterparts, which forced developers to add their individual scripting client-side glue code. When AJAX was introduced, such concepts were reshuffled once again as most of the logic was transferred to the client. This forced the developer, yet again, to deal with the need to use requests and responses in order to implement his application.
Desktop developers, on the other hand, were always given a fully event driven environment, making their development tasks much simpler. Programming a file explorer like application was for them, as simple as dragging a tree view and a list view and implementing a couple of event handling methods. While you web developers had to deal with exposing services and consuming them, and of course, doing everything using client-side scripting on the browser.

Go to the
next section