Web applications have come a long way in the past decade or so. Back in the 90s a ‘web application’ was basically a group of web forms and web pages hidden behind some CGI scripts. In 2004, the same thing was basically still true though people were maybe using servlets rather than CGI. Nowadays however, web applications can be very similar to native applications in terms of functionality and usage. Over the years, the web has transformed from a document delivery system to an application delivery system and we’ve succeeded in replicating just about every native application in web form to some degree or another. This is kind of wild.
The thing is, web applications solve a lot of real problems. The make it possible for developers to make a product and deliver it to the customer without having to worry about the state of the customers machine or about piracy to any real degree. Customers can use web applications without installing anything on their computers or doing any kind of admin work at all. Basically, the web acts as an application delivery system where an individual can download an application and run it in a sandbox on the fly. He can use any computer the run the same application and he doesn’t have to worry about it keeping it in sync. It turns out that this is a really good way to deliver software. We just kind of need a better sandbox.