April 12, 2016
From nczonline.net, with love.

The Extensible Web Manifesto

Hi everyone,

It's possible that you've never heard of the Extensible Web Manifesto, and if that's the case, I'd suggest you look it up, because it's the reason you're happier with web development than ever before. The manifesto was created almost three years ago as a group of developers from across the various standards bodies and browser vendors came together to promise a new way forward.

For decades, change on the web happened slowly and deliberately (and often times behind closed doors). It's why there was a decade-long wait between HTML4 and HTML5; it's why it took ECMAScript 6 four years to complete; it's why we are only now gaining capabilities in CSS that we could do using tables in the 1990s. The manifesto was meant as a public pledge by those who work on these standards to improve the rate of innovation on the web and adopt a more incremental approach.

The fundamental process described in the manifesto is to focus on low-level functionality, both for new features and as a way to explain the behavior of existing features. The belief was that exposing low-level functionality helps move things along faster because it allows web developers to explore and create higher-level libraries. Those higher-level libraries would then inform how the web should continue to evolve. And we're seeing this very thing happening in spades today.

New low-level features are being added to the web platform at a fairly rapid pace. Features such as service workers, web components, and Houdini are exposing important primitives that allow developers to extend the behavior of the browser. TC39, the committee responsible for the core JavaScript language specification, now releases a new spec every year instead of trying to bundle a bunch of features together in a single release.

The Extensible Web Manifesto gave us a vision of what the future of a faster-moving web platform could be, and we are now starting to see the benefits. The stagnation we encountered when Internet Explorer ruled the web has long since passed, and the future is incredibly exciting.

Be well.

JavaScript WeeklyI couldn't find a sponsor for this edition. A donation as small as $1/month really helps offset the costs of running the newsletter.

Recommended Links

The Unbelievable History of the Express JavaScript Framework (article)
If you've used Node.js, chances are you've used the Express framework at some point. It was (and maybe still is) the gold standard microframework for bootstrapping Node.js web applications. Express began life as an open source project, and as such, was maintained by volunteers. This article details what happened when Express was sold to Strongloop, and highlights just how difficult it can be for open source maintainers when what you're working on is depending on by a lot of people but you get very little help maintaining it.

HTTPS is Hard (article)
There's been a big push to make the web more secure, and part of that push has been encouraging people to switch to using HTTPS everywhere. In some cases, switching to HTTPS is easy, but in other cases it can be extremely difficult. This article talks about what yell.com had to go through in order to switch to HTTPS across their site and digs into the details of all the places you may not even be aware of that care about using HTTPS vs. HTTP.

Establishing Web Standards (article)
Ever wonder how an idea progresses into a new feature for the web platform? This short overview of the W3C process for creating proposals and recommendations gives you all the information you need. What's the difference between a Candidate Recommendation and a Proposed Recommendation? If you don't know, then this is a good article for you to review.

Reader Question

How to get from intermediate to professional web developer, it seems like there is so much to learn in so little time?

I get this question asked in various forms from time to time, and it usually comes down people feeling overwhelmed about everything in the web platform. There's a lot to know, so how can I know it all?

Here's a secret: no one knows everything. You should first and foremost focus on learning the things that help you with your current job. Solving the problems you are actually facing is the best way to learn. If you don't have a hard problem to solve, look at an existing solution you've worked on. Do you really understand how it works? Do you understand why that solution was chosen over another? Dig in and see if you can figure it out.

Don't try to know everything. Focus instead on being able to learn and understand things quickly. That way, no matter what new thing pops up, you'll feel confident that you can learn it if you absolutely need to without feeling obligated to learn everything even if you can't use it right now.

Have a question you'd like answered? Just reply to this email!

Recently on NCZOnline

ES6 module loading: More complicated than you think
One of the most long-awaited features of ECMAScript 6 is the formal definition of modules as part of the language. For years, JavaScript developers have struggled with organizing their code and needing to decide between alternate ad-hoc module formats like RequireJS, AMD, and CommonJS. Formally defining modules as part of JavaScript will eliminate a lot...

Mimicking npm script in Node.js
I'm a big fan of npm scripts[1] and have been using them in all of my projects instead of a standalone build system. The feature I like the most from npm scripts is the ability to run command line executables that are installed in your project's node_modules/.bin directory. That allows you to, for example, install...

Reflections on ESLint's success
It's hard for me to believe, but I first conceived and created ESLint[1] in June 2013 and first announced it's availability in July 2013[2]. As frequent readers might recall, the primary goal of ESLint was to create a linter with rules that could be loaded at runtime. I had seen some problems in our JavaScript...


Love this newsletter? Hate it? Have suggestions for how to make it better? When you subscribe to the newsletter, you can just reply to send in feedback.

Ready to subscribe?

Join 2,000 others and subscribe to get the newsletter delivered to your inbox every other Tuesday. 
If you enjoy this newsletter and would like to support my work (including the newsletter, my blog, my books, and ESLint), please consider becoming a patron. I provide a lot of free content and your support allows me to spend more time doing so, and there are great rewards for patrons.
Copyright © 2016 Nicholas C. Zakas, All rights reserved.

unsubscribe from this list    update subscription preferences