#570 — December 24, 2021 |
JavaScript Weekly |
The Best of JavaScript Weekly in 2021 This is the last issue of the year (we're back on January 7, 2022) so we're taking a look back at some of the most popular items of 2021, starting with top links overall before moving on to top libraries, tools, videos, and more. You'll also find a quick month by month rundown in this issue, so there's sure to be something that'll catch your attention :-) |
1. ES2021: Here's the Features (Quickly) — Back in June of this year, the Ecma General Assembly approved ES2021. Work continues with ECMAScript 2022 already having a draft spec. But this post flying through what's new in ES2021 (not a lot!) was by far our most popular link of the year, amazingly. Dr. Axel Rauschmayer also had a popular post rounding up ES2021. Hemanth HM |
2. Comparing Svelte and React — After spending an extended period of time working with both, the author identified his preference based on first hand observations supported with real-world examples. I suspect 2022 will continue to see Svelte taking big leaps forward. Jack Franklin |
|
3. Comparing the New Generation of Build Tools — A detailed evaluation of a variety of approaches for bundling JavaScript and other front-end assets, including Snowpack, esbuild, Vite, and wmr. A handy overview. Hugh Haworth |
4. 'Rust is the Future of JavaScript Infrastructure' — It’s an opinion but the (still) growing evidence is compelling. Rust (as well as Go) is now being heavily used to replace parts of the JavaScript tooling ecosystem that might have otherwise been written in JS before (e.g. Rome, SWC, dprint). Lee Robinson |
5. The State of Web Workers in 2021 — The web is single-threaded, but two years ago Surma told us why to always use Web Workers and why to bring multithreading to your solutions despite the difficulties. Almost every client supports them now, so Surma made the case again. Surma |
6. Rethinking JavaScript's Ternary Operator — James Sinclair |
|
📅 JavaScript's 2021: Month by Month |
JANUARY: The State of JS 2020 results came out. As did Snowpack 3.0. React's original creator left Facebook. FEBRUARY: npm 7.0 was released, as was Vite 2.0. MARCH: The Node.js team began thinking about the next 10 years of Node. Meanwhile, jQuery 3.6.0 was released. V8 sped up its release cycle. The ES2021 candidate spec was released. V8 9.0 was released. The Deno company was founded. APRIL: Node.js 16 was released. The ES module approach in Node began to take off. MAY: The Rome folks created a company, raised money, hired folks and more. JUNE: Undici 4 was released and pushed as a new better alternative HTTP client for Node.js. The plan for React 18 was unveiled. ES2021 was fully approved. JULY: Low code environment Node-RED 2.0 was released. AUGUST: The Wikimedia Foundation picked Vue.js as its frontend framework of choice. Vue 3.2 was released. The Ruby on Rails team considered a new approach to handling JavaScript in its popular Ruby framework. SEPTEMBER: Node.js gained an experimental package manager manager (sic) called Corepack. OCTOBER: Node 17 was released. React's new docs site was unveiled. jQuery Mobile was deprecated. Parcel 2 was released. The Remix project took $3m in funding. Gatsby 4 was released. NOVEMBER: React 18 entered beta. Angular 13 was released. Remix was open sourced. DECEMBER: Create React App 5.0 was released. |
🛠 Top Code & Tools of 2021 |
zx: A Tool for Writing Better Shell Scripts — Rather than using something like |
Over 100 Algorithms and Data Structures Demonstrated in JS — Examples of many common algorithms (e.g. bit manipulation, Pascal’s triangle, Hamming distance) and data structures (e.g. linked lists, tries, graphs) with explanations. Oleksii Trekhleb et al. |
|
HTM 3.1.0: A JSX Alternative using Standard Tagged Templates — This clever library has been around a few years but continues to see updates. Think JSX-style syntax but in plain JavaScript (using tagged templates) that requires no transpilation but still supports things like rest spread and referencing components. Jason Miller |
Tagify: An Elegant Input Component for Tags — The polished demos show a lot of effort has been put in here. GitHub repo. Yair Even-Or |
Typehole: VS Code Tool to Automatically Generate TypeScript Types and Interfaces — An extension that helps you automate creating the initial static types for runtime values. Riku Rouvila |
Cheetah Grid: The Fastest Open-Source Data Table for the Web? — A bold claim from a library we hadn't encountered before. There’s a live demo here with 1,000,000 records in a table if you want to try it for yourself, though. A new release just dropped this week too. Future Corp |
|
📺 Popular Videos of 2021 |
▶ JavaScript's Creator Brendan Eich Shares His JavaScript Story — Lex Fridman is an AI researcher who’s becoming well known for high quality interviews and here he spoke with Brendan Eich about his coding history, JavaScript’s full origin story, the browser wars, and Brave. Lex Fridman |
▶ What You Need to Know About React 18 — This year we shared this official plan for React 18 and while it's still 'almost here' the community set to work chewing over what it all means. Harry Wolff |
|
▶ Coding Up a Mario Game in JavaScript with Kaboom.js — One of the most popular JavaScript YouTubers of 2021 showed us how to create a basic platformer in the course of an hour in her typically breezy, easy to follow manner. Ania Kubów |
▶ Ten JavaScript Clean Code Examples — Thoughts on ten examples of approaches worth considering if you’re trying to keep your code clean. It’s based on this article by Ibeh Ubachukwu. Adrian Twarog |
▶ Have Single-Page Apps Ruined the Web? — The creator of frontend framework Svelte spoke about the criticisms lodged towards single-page apps and how ‘transitional apps’ may be the way forward. Might be an idea to keep in mind for 2022. Rich Harris |
That's a wrap.. Phew, that was a lot of ground to re-cover, but hopefully it's resurfaced some things you missed at the time :-) Many thanks for reading JavaScript Weekly this year. From all of us here at Cooperpress, season's greetings to you, however you celebrate (or not!) 😄 |