It’s been close to a year now since I made the switch from desktop to web development, and there’s no turning back! Here’s some thoughts.

Why the switch?

It’s pretty clear that the vast majority of new application development is moving towards the web. The advantages are:

Frictionless - No installation or updating required, just open the URL

No Releases - All users are guaranteed to be using the latest version, since it’s running from your server

Works Everywhere - The same code can run on Windows, Mac, Linux, Android, iOS, unreleased future OS, etc.

Native software still makes sense when raw processing power is required, like video editing on the desktop and applications on low powered mobile devices, but even this is gradually changing. The current trend as we get faster and more powerful brower technology is that right now everything is moving towards HTML / CSS / javascript.

How’s it to work with?

Awesome. The modern browser is the most productive environment I’ve ever had to try out my ideas and it’s unlikely I’ll move back to desktop development.

Prototyping - I can knock up a simple HTML page and put it live for anyone to use within minutes!

Community - the online community of web developers is exploding and it’s really easy to find up-to-date help.

Libraries - there are a ton of open source libraries which are making it easier to create larger and more complex projects.

Javascript - sure it’s got some quirks but I really love it, and it feels so much more productive than using C++ (pre C++11 anyway), no more header files and long build times, and anonymous functions make asynchronous code so simple to write.