Looking Forward, a Leap

Will the Web shift?

Over the last few months, I keep finding new signs that the way we approach web development is about to shift. The parts – which have mostly existed for a while – haven’t completely come together yet, but the next year or two should be exciting.

In 2005, the Web changed without a major new technical push. When Jesse James Garrett wrote “Ajax: A New Approach to Web Applications“, he was describing a combination of techniques that had been around for a while but only combined in the previous few years. At about the same time, JSON, a format that Douglas Crockford had unearthed from existing JavaScript syntax, began its steep ascent. We’ve spent much of the last eight years learning the powers of these new combinations of old things, and celebrating the revitalization of the web ecosystem that they launched.

Today’s shift is a little different: change has been in the air for a while. We don’t exactly have Browser Wars any longer, though there’s still plenty of drama. HTML5 is not only in development, it’s becoming normal rapidly. Some pieces are moving and arriving faster than others, and there is always the challenge of a multi-browser world. There is much much more you can do across browsers today, though, and JavaScript has made it easier to fill the gaps.

Beyond the long-awaited features of HTML5, I see three major factors driving a larger shift:

  • The ever-increasing variety of mobile devices has shattered limits designers imposed on their work.

  • JavaScript practice is maturing, even as the first major additions to the language seem about to arrive.

  • A long slow shift toward hypermedia models (REST and beyond) for application development.

As mobile devices become ordinary, designers are having to give up the last shreds of “the web site must look like this printout”. Dynamic HTML and then Ajax gave sites much more motion and changeability, but usually within a design that was roughly stable. Creating a second stable design for mobile was never a great compromise, but the explosion of mobile devices has forced developers to move toward designs that take much heavier advantage of web-centric styling approaches. Responsive web design is evolving fast.

JavaScript seems stormy on the surface – there is certainly a wide range of practice styles and an infinite range of frameworks. Every week, it seems someone has a new idea about how to do things, and a new or modified framework structure appears, or a new approach to modularization, or a battle erupts over semicolons and proper comparisons. How can I possibly say it’s maturing?

One of the stranger signs of that maturity is the emergence of multiple approaches for compiling to JavaScript. Developers – even developers who don’t want to work with JavaScript – are recognizing that JavaScript has the constructs they need to do their work. They may not want to work with them directly, but there is a complete set, well-implemented, and now much faster. Those compilers tend to create JavaScript optimized for processing rather than for human consumption, which has its ups and downs.

Humans, though, are also discovering the power of more disciplined JavaScript styles. Performance has provided constant pressure as developers attempt to create more complex programs. Testing took a while to take root in JavaScript, but has become a normal part of JavaScript work. Functional JavaScript programming is a less frequent corner, but has growing promise and deep (if often obscured) roots in the language. A recent trend toward polyfills and declarative markup as a programming model suggests yet another opportunity for tightly structured code.

The impact of the last piece, hypermedia, is harder to talk about, though I had a great conversation with Mike Amundsen recently. My rough sense is that hypermedia is another dose of discipline, but one that gets easier and easier with time. Server-side architecture may lead to further client-side shifts?

Where will these changes take us? Where do you see the leading edge of web development – and where do you see it going next year?

We’ll be talking about many of these pieces at Fluent this week. I don’t think the phase change is here yet, but hopefully this week will provide additional clues of what’s to come.

tags: , , , , ,

Get the O’Reilly Programming Newsletter

Weekly insight from industry insiders. Plus exclusive content and offers.