Image for post
Image for post

I dig React. My favorite feature of React is the emphasis on building small blocks of UI in JSX, and then combining those pieces together to create an app.

Two years ago I wrote about how the choice for Vanilla JavaScript is more compelling than ever before because of new technologies such as Fetch, Promises, template literals, and ECMAScript Modules. That last one is key, because at the time of my post no browser actually supported module loading.

Today, the situation is thankfully much different. Edge 16+, Chrome 61+, and Safari 10.1+ all support ES Modules natively! Firefox is the odd duck out (relevant bug here), but feature detection for ES Modules is really easy (use <script nomodule> for unsupported browsers and <script type=”module”> for supported ones.) …


Image for post
Image for post

Update 1: This article is targeted at front-end devs that work in the browser, so my definition of “vanilla” JavaScript includes other APIs like the DOM (as the original vanilla-js.com site does.) I apologize for the confusion this might have caused.

Update 2: I buried the lede a little so I want to make it clear that I’m advocating here for responsible library use. As the subtitle mentions, my aim is to get people using heavy libs and frameworks to reevaluate their needs in light of new features added to ECMAScript and the web platform. Sorry for the confusion!

I’ve always loved the idea of Vanilla JavaScript, or the use of JavaScript without relying on heavy libraries or frameworks. Where I work, we make use of the following front-end…

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