Web app development all seemed like a hack anyway to get websites to perform the same way as client applications. Ultimately, it's just an evolution of dumb-client-terminal - the entire application resides on a server and the thin client sends and receives data to and from that server. AJAX allows for not having to send a full view to the client each time, but you still need to be connected to the server for the interaction to work. So, the interaction becomes weak due to latency and network connectivity issues. Furthermore, this entire model greatly ignores the power of the actual client, as machines these days are not exactly powerless. Sure, WebGL, Flash, Canvas all aim to (or indirectly do) push some power back to the client and javascript alone allows the client to interactively reshape data before it gets sent to the server. But then, you'd might as well just consider these technologies as mini-applications that are simply interacting with the target server through a browser. As such, why bother passing data through a browser when you can just hit the server directly? Take out the middleman and you basically have an app.