I hate to say “in the good old days,” but in a way, things were simpler when I did my first serious Web project back in 1999 for the Swiss government.
Fast forward more than thirty years and the paradox of choice is a common problem. There’s a real risk of spending so much time evaluating options that your software project stalls, or zigzags so much that your “velocity made good” is abysmal.
Even though many things are more complex and powerful nowadays, the Web Platform has been coming back with a vengeance in the last few years. To a point where many of us consider adding tools and libraries on top of it to be unnecessary. That’s what I mean by the Web Platform “being back”, in the sense of being sufficiently good (again) to be the core of your Web development stack.
In this first article of a series that we plan on the subject, I’ll explain what we mean by Web Platform and why we think it is important.
What is the Web Platform?
Quoting a few excerpts from Wikipedia:
The Web platform is a collection of technologies developed as open standards by the World Wide Web Consortium and other standardization bodies…
…it is built on The evergreen Web …
…it includes HTML, CSS, SVG, MathML, WAI-ARIA, ECMAScript…
Why focus on the Web Platform?
Web frameworks have helped a lot in empowering developers to create great websites and applications. But many of us now think that requiring Web frameworks on top of the standards was a transition phase, which is coming to its end as the Web Platform reaches a new level of maturity.
In a way that’s a return to the simplicity of the 20th century Web, which helps in creating efficient, reliable and durable systems.
Staying close to the Web Platform, without adding more than strictly needed on top of it, will help us create efficient and durable Web sites and applications. That’s the approach we are taking at Adobe for upcoming tools and services in the AEM family of products.
The Web Platform is back, and it’s better than it ever was!
Why did we ignore the Web Platform for so long?
I’m being provocative here — completely ignoring the Web Platform would have been impossible, but for some time it was often downplayed as being just the bare metal that’s required to make the interesting tools work.
In recent years, additional tools and frameworks have often been considered essential to build modern websites and Web applications on top of the Web Platform. That might have been the case for a period during which Web browsers did not deliver on all the promises of the Web Platform, and required additional layers to make things work. It would have been possible to remain minimalistic all along, and some have, but the general feeling was clearly that you need additional tools on top of the platform to do something nice and useful.
However, the Web Platform has evolved very nicely in the last few years, driven by the evergreen Web concept, materialized by browsers self-updating by default. This allows us to go back and safely place the Web Platform at the core of our developments, using additional libraries very sparingly and only where really needed.
As developers we are often attracted to shiny new toys, but there’s lots of value in making the best use of our existing tools and refining how we use them. Especially if those tools evolve as nicely as the Web Platform does nowadays, allowing us to refine our use of continuously improving tools, which sounds like a fantastic plan.
Which parts of the Web Platform should we focus on?
…this includes HTML, CSS, SVG, MathML, WAI-ARIA, ECMAScript, WebGL, Web Storage, Indexed Database API, Web Components, WebAssembly, WebGPU, Web Workers, WebSocket, Geolocation API, Server-Sent Events, DOM Events, Media Fragments, XMLHttpRequest, Cross-Origin Resource Sharing, File API, RDFa, WOFF, HTTP, TLS 1.2, and IRI.
You don’t really need to study all these things in detail to work with the Web Platform. Many of them are only relevant for specific use cases, and knowing that they exist and where they might apply is initially sufficient.
As is often the case, focusing on the basics makes the most sense, while being aware of the rest.
The Mozilla Developer Network (mdn) documentation is a great source of learning and reference information, strongly recommended along with the corresponding standards. Those are often more readable than you would expect, once you know the basics.
The Web Platform, front and center?
We strongly believe in making maximum use of the Web Platform for our current and future developments, and in being frugal with anything that we put on top of it.
Any piece of code that you add to your project has a cost, and if you can pass that cost on to browser makers everybody benefits in the end. Contributing to Web Platform improvements in areas where it is lacking for your purposes is also a great way to improve your knowledge and bring things forward, as it is fully based on open technologies.
We are putting the Web Platform at the center of our Web-related developments, and recommend that you do the same if you want to build efficient and durable systems.
This is just an introduction to the Web Platform and why we think it’s important. We’ll follow up with more specific information, examples, and tutorials to help you make the best use of it. Stay tuned!