I posted a G+ yesterday where I was basically saying: all clients apps will be HTML5/JS at some point on mobile/tablets/desktop, and what we call "web applications" on server side, are just becoming a bunch of specialized web services, or proxies that route calls to backends.

The post had a lot of feedback and that was pretty cool to have the experience of many developers. Most of them agreed with the general idea, and I thought it would be interesting to blog it here - refined with all the feedback.

2000 - 2012 When I think about my first years of developement, we were doing heavy clients using tools like Borland Delphi and the server was just the SQL Database. That was before 2000. Doing an application UI in the web was inconceivable. The only applications we had in the browser were desktop applications hidden in ActiveX components - and some Java ones for the brave. We had rich clients made with some desktop GUI toolkits, and some ugly looking web apps. BB forums anyone? But if you are a developer of that generation, you've witnessed the growth of the web ecosystem like I did. We built feature-loaded web frameworks and started to create amazing web apps, backed by new HTML/JS technologies like the 2004 buzzword ajax. They were so amazing compared to what we had before in the browser, that they just killed some of their desktop applications counterparts. Think about mail clients: the first web mails we had, had a poor UX - and then GMail changed the game. Nowadays, I guess it's easy to predict that desktop mail apps are going to disappear at some point. So until the last few years, the typical ecosystem was an amazing set of tools on the server-side, that included zillions of template engines, to produce rich web pages. Of course, we started to include more and more display logic on the client side, using jQuery and async calls over the server. But the server was still where everything was happening, from the DB calls to the HTML page rendering. And right now we are shifting