Development stacks are a highly regarded topic amongst developers, and for good reason. Choosing the right development stack is one of the first and most important decisions you have to make at the beginning of every project.

For many years the development stack has been heavily weighted towards server-side technologies, with the majority of a website’s functionality being written using back-end languages. Front-end development is then limited to building templates, styling and the odd piece of Javascript.

The problem with this model is that it tightly couples front-end and back-end development into a single development stack and imposes restraints on technology choices.

But whilst this has been the best solution for some time, this was primarily due to poor performing web browsers not being able to handle complex operations that are required to run a modern day website.

However, IE7 was a long time ago and browsers have come an extremely long way since then. They have evolved from simple page viewers that were limited to presenting content and basic DOM manipulation, to becoming an extension of our Operating Systems.

Since the emergence of more powerful and high performance web browsers we have the opportunity to not only allow more of the processing power to be handled by the browser, but to define a clear separation of front-end and back-end development and move away from this tightly coupled model.