Next week will be the last Bytes issue of 2020, and we want your help commemorating this…interesting year.
So if you feel inclined, respond to this email with your answer to one of the questions below along with your Twitter handle (#CloutChasing), and we’ll feature our favorites in next week’s JavaScript New Year’s Extravaganza Issue™.
GLHF.
Venusaur used S̶o̶l̶a̶r̶ f̶l̶a̶r̶e̶ Cloudflare!
It’s super effective… at web infrastructure and security. And now, Cloudflare wants its new Pages platform to be your go-to tool for building, deploying, and hosting JAMstack sites.
Sound familiar? Maybe that’s because it’s pretty much the same way that Netlify, Vercel, and Gatsby are trying to make money too. (*Nervous laughter*)
Luckily, none of those companies have recently raised millions of VC dollars or anything. Because that would be crazy. And maybe a little awkward, tbh. (*Eye twitch*)
But hey, one of the world’s oldest holiday traditions is to pretend like consequences don’t exist in December. It’s why I ripped my gums to shreds while eating three bowls of Christmas Captain Crunch last night, and it’s also why we’re not gonna worry too much about the long term financial viability of the VC-backed companies behind some of the most popular JavaScript frameworks.
At least not til after New Year’s.
With that, let’s get to the Cloudflare Pages highlights:
Deep git integration with built-in builds should make Continuous Integration tooling a lot less cumbersome and annoying (we hope). You just select the repo and the framework, and CF Pages will build and deploy changes for you. Each commit also gets its own unique Preview URL, so that you can do halfway decent code reviews without having to pull down the entire branch.
Easier staging with Preview and Production environments that build all feature branches and preview links with “preview variables,” so you can experiment with stuff without impacting your production data.
A generous free tier that allows for 1 build at a time, 500 builds per month, and unlimited sites, requests, bandwidth, and admin seats. Cloudflare says they did this to give back to the community for the holidays, but we’re jaded enough to know a marketing ploy when we see one. That said, we can respect a good marketing ploy, especially when it comes with a lot of free stuff.
Tl;dr - Software is (still) eating the world, and Cloudflare is using its huge network of data centers to eat the entire software infrastructure value chain. Maybe that’s why the stock price jumped 45% in November.
I am beautiful. I am smart. I am web scale.
30 years ago yesterday… British scientist Tim Berners-Lee published the world’s first website at info.cern.ch and the world’s first web page address: http://info.cern.ch/hypertext/WWW/TheProject.html. The web was born 👼.
Pretty sure that Tim (aka TBL) could’ve gotten a better domain name at that point, but let’s set that aside for now.
The site featured info about the web project itself — a description of hypertext, instructions for creating a web server, and more.
To create the world’s first website, TBL also had to create the world’s first browser and web server. He called the browser WorldWideWeb after spending a few months developing it at the CERN Research Center on a NeXT computer (yes, that NeXT computer).
He was (rightfully) paranoid about someone at the CERN lab accidentally switching off the computer, so he taped a handwritten label in red ink to the computer that read, “This machine is a server. DO NOT POWER IT DOWN!!”
That original browser could only run on NeXT computers, which meant that WorldWideWeb wasn’t actually very worldwide (considering NeXT machines cost about a gagillion dollars back then).
So in 1991, TBL worked with Nicola Pellow (a math intern at CERN) to create the Line Mode Browser — the first cross-platform web browser that could also work on older terminals. (Call it the React Native of its time.)
Nicola probably wasn’t paid for that internship, but she did “get great experience for her resume.”
And that was the one time that statement was probably true.
Merry Webmas! 🎄
Knowledge of JavaScript’s this
keyword is becoming less important as we abstract away JavaScript’s weird parts. However, as of today, I’d still consider it crucial knowledge for any JS dev.
Here’s a cheat sheet for understanding what the this
keyword is referencing.
foo.bar
)? If so, that’s what the this
keyword is referencing (foo
). If not, continue to #3..call
, .apply
, or .bind
? If so, it’ll explicitly state what the this
keyword is referencing. If not, continue to #4.new
keyword? If so, the this
keyword is referencing the newly created object that was made by the JavaScript interpreter. If not, continue to #5.this
inside of an arrow function? If so, its reference may be found lexically in the enclosing (parent) scope. If not, continue to #6.strict mode
? If yes, the this
keyword is undefined
. If not, continue to #7.this
is referencing the window
object.For a more detailed explanation, visit Understanding the “this” keyword, call, apply, and bind in JavaScript
Discord just released Focus Rings — a centralized system for displaying focus indicators on a webpage, allowing for an all-keyboard navigation experience. “Focus Rings” sounds like the name of a scammy “biohacking” gummi, but if it tasted like Peach-O’s we’d probably try it.
Dominic wrote about how to increase CSS-in-JS performance by 175x. He almost went for 176x, but come on that would be crazy.
JSitor is a new online editor for JavaScript, HTML, and CSS that features support for different layouts and a mobile app.
Yoni & Friends (great band name) made a list of 100+ best Node practices. #1 tip: “enable this chrome extension that blocks all mentions of the word Deno.”
Last week, Facebook announced the last major release of Flux before it gets moved to maintenance mode. Goodbye Flux — we won’t miss you, but we’ll never forget you.
Moiva is a new way to measure and compare JavaScript libraries. It’s also the name of a very flat, long fish. So there’s that.
Duncan wrote an interesting article about how his team at Shopify uses WebAssembly outside the browser.
React Hot Toast is a new React notification library. Fun fact: “Hot Toast” was my nickname in middle school basketball 🔥🍞.