Trusting modern browsers: coding websites without plugins and libraries.

by David Ogden

Imagine. A web page that works great. Feels great. And works great on every platform. The entire page is less than 100k in size with only 4 web requests.

Fifteen years ago, as web developers, this was our dream. Because the browser wars were going strong at the time, we had to depend on our own ingenuity to achieve what we wanted. Or rather, I should say, the ingenuity of visionary developers like John Resig.

At the time, jQuery was our first glimpse of one piece of the vision we dreamed of: writing HTML, CSS, and JavaScript that worked the same on every browser.

From there, the world of JavaScript libraries exploded. By 2010, creating a web page meant creating an HTML document that referenced jQuery, a host of jQuery plugins, CSS resets and frameworks, and a plethora of polyfills that made JavaScript, HTML, and CSS work the way we wanted. Not to mention the growing list of external libraries that enabled us to drop in features like analytics and live chat with a single line of code.

A revolution had been started that lead to at least a partial victory for web developers. We could now create amazing websites and web apps that behaved in a [relatively] predictable way.

Fast-forward ten more years. Another revolution is complete. The browser wars, which developers had somewhat forgotten because of the normalizing effect of libraries, plugins, and frameworks… have all but come to an end.

In 2019, Microsoft announced its decision to join the ranks of Safari, iOS browsers, Chrome on Android, and the market-leading Chrome browser from Google… and release Microsoft Edge built on the Open Source Chromium platform.

What does this mean for web developers?

It means, for most intents and purposes… our vision has come to fruition.

While developers were in the trenches creating frameworks and polyfills that made browsers work better on the surface, Google, Apple, and Microsoft were at work making browsers work better under the hood.

While the V8 JavaScript engine eventually won dominance over a few other rivals, the benefits of competition to the developer community (and the world at large) are unmistakable: JavaScript runs better, more predictably, and with more features than we could ever imagine would be possible in 2005 or even 2010.

HTML5 came on the scene starting around 2008. It brought with it the need for browsers to become “evergreen”: always updating behind the scenes so the browser users always had the latest features and security.

From 2010 until now, practically on a monthly basis, all major browsers release updates with new features in JavaScript, HTML, and CSS. These features enable developers to create better interactivity with less effort and less code. More and more, interface performance is becoming less of a concern.

In short: We can now create web pages that work great, feel great, and work great on every platform. The entire page can be less than 100k in size with only a few web requests.

But now we have a new problem.

Along our path to where we are, developers became so addicted to libraries that they can no longer let go.

Sure, many new websites and web apps don’t use jQuery (although many, if not most, do). But if you look at almost any websites today, you’ll find dozens, sometimes hundreds of requests for JavaScript and CSS libraries.

Even a simple web page, like the one you're reading, downloads 3MB+ in resources. Dozens of requests… just to display a simple article that has relatively limited interaction.

We’ve come so far as web and platform developers. In the coming months, I will demonstrate some of the ways we can create web pages and web apps that have rich interactivity and elegant, compelling interfaces, without using external libraries.

I’m excited to share the beauty of what’s been achieved and show both new and seasoned developers how there is much to gain by trusting in, and fully embracing modern web browsers.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store