The State of Modern Web Development
Today is one of those days where I realized once more how much web development has changed in recent years:
- We have top-notch browsers with incredibly fast layout and scripting engines at our disposal. The market share of legacy browsers is declining, so there's generally no need to support IE 6 and IE 7 anymore.
- HTML 5 is widely supported, and so is CSS 3. A lot of the things that required JavaScript a couple of years ago can now be achieved using plain HTML and CSS. And when a feature is only partially supported, we can work around it using polyfills or graceful degradation techniques.
A lot has changed in the world of CSS, too:
- We can utilize powerful CSS preprocessors like Less, Sass, and Stylus. All of them allow us to write our stylesheets in a clean, adaptable, and reusable manner. I never want to write CSS again without being able to use variables, mixins, nesting, and other goodies.
- Well-written front-end frameworks like Foundation and Bootstrap help us in writing high-quality, responsive websites. Their mobile-first approach enables a great user experience on smartphones, tablets, and other portable devices.
Even more notable was the rise of JavaScript:
- The exponential growth of JavaScript has brought with it a vast amount of frameworks and libraries, some of which are of outstanding quality. Angular, my favorite, is a fantastic framework for web application development, and it's here to stay.
- Also, the language itself is evolving as the ECMAScript 6 standard is approaching ratification in December 2014. Arrow functions, lexical scoping, array comprehensions, and modules are just a few examples of what is about to come.
Furthermore, the tooling has improved tremendously:
- There are build systems like Gulp and Grunt which automatically execute various build tasks, such as compiling preprocessor languages, linting code, running tests, creating documentation, and producing deployable application artifacts. The productivity gain of these task runners is immense.
Finally, the .NET server side has been evolving as well:
- ASP.NET vNext and Roslyn are nearing completion, finally offering a truly platform-independent web application framework. Add the new language features of C# 6, and you have a technology stack for modern application development with first-class language and tooling support.
I'm curious, and I'm excited to see what's next. Good times to be a web developer!