#​627 — February 24, 2023

Read on the Web

Together with  Frontend Masters logo

JavaScript Weekly

🎵  Strudel REPL: Live JavaScript Music in the Browser — This is a lot of fun. It’s a little online sandbox for putting together small musical experiments written in JavaScript. Use the ‘shuffle’ button at the top right until you find something you like the sound of. There’s a tutorial on building your own, too. If you make any good ones, send them in to us and we might link to them.

Felix Roos et al.

The ECMAScript 2023 Language Specification — It’s that time of the year again. The latest ECMAScript spec, which standardizes what we know as JavaScript to some extent, is now in draft. This is not bedtime reading, of course, but is a fundamental part of what makes the language tick.

ECMA International

💡 If you do decide to brave the spec, this guide on 'how to read the ECMAScript specification' will get you on the right path.

Understand JavaScript in the Background — Learn what happens to your JavaScript when the user closes their browser and how to detect these changes to execute code later. Plus learn the new Web Push API to give your web app new powers!

Frontend Masters sponsor

Let's Build a Chrome Extension That Steals Everything — Indulging in what they call “DIY whole hog data exfiltration”, Matt, the author of Building Browser Extensions demonstrates that in spite of Manifest v3, a whole lot of bad stuff is still possible when it comes to building browser extensions. Be aware of it and don’t actually do it, of course.

Matt Frisbie

What to Expect from Vue in 2023 — Vue.js creator Evan You explains how Vue 3 is different from Vue 2, and in particular how its use of the Virtual DOM has evolved.

Richard MacManus (The New Stack)

IN BRIEF:

RELEASES:

📒 Articles & Tutorials

Sandboxing JavaScript CodeVal Town is an interesting, rather minimalist platform for running JavaScript in the cloud, and if you’re going to let folks run JavaScript on your server, good sandboxing is a must.

Andrew Healey

An Intro to 'HTML-First' Frontend Frameworks — The post defines HTML-first front-end frameworks as ones that prioritize sending complete functional HTML versus a JavaScript bundle and looks at some of the different approaches taken by different frameworks/tools like Qwik, Marko, Astro, Eleventy, Fresh and Enhance.

SitePen Engineering

▶  Astro 2.0, Island Architecture, and React with Fred K. Schott — Fred talks with us about how Astro uses an HTML-first approach to create content-focused websites and new Astro v2 features.

Whiskey Web and Whatnot sponsorpodcast

▶  NPM Library Speedrun - 90 Minutes to Build, CI & Publish — You could throw a bare project up on npm in a few minutes, but it’s fun watching Matt do it with testing, CI, TypeScript, writing a README and building something useful. (He starts around 17-minutes into the video.)

Matt Pocock

You Don't Need Ruby on Rails to Start Using HotwireHotwire, an ‘HTML over the wire’ approach to making Web pages more dynamic (explained here), is closely tied to the Ruby on Rails framework, but you can use it to add dynamism to a static site with no Ruby in sight, as demonstrated here.

Akshay Khot

Performance Analysis of Type-Driven Data Validation Libraries — The author’s tRPC/React project was getting sluggish and after some investigation he narrowed it down to Zod and decided to benchmark it against Superstruct, Yup, Light-Type and Typebox.

Nick Lucas

Why 2023 is the Time to Migrate from AngularJS to AngularAngularJS went EOL a year ago so hopefully this is old news..

Bartosz and Łukasz

Migrating from Enzyme to React Testing Library
Priscila Oliveria and Scott Cooper (Sentry)

Building a Lightbox with the <dialog> Element
Polypane

🛠 Code & Tools

Vuestic 1.6: An Open Source UI Library for Vue 3 — A library of more than 50 customizable components. v1.6 is a big release focused on Tailwind CSS and Nuxt support. Official homepage.

Epicmax

React Libraries for 2023 — The React ecosystem is so large that it's helpful to be presented with some sound, standard options when selecting libraries for a new project. This is the latest annual update of an established list Robin maintains.

Robin Wieruch

Build Business Software 10x Faster with Retool — Trusted by Amazon and Plaid. Try it for free (up to 5 users) or get $25,000 in credits for paid plans if you're an early-stage startup.

Retool sponsor

Kobalte: A UI Toolkit for SolidJS — The components are unstyled and follow WAI-ARIA authoring practices. You also have granular access to each component part, allowing you to add event listeners, props, etc. GitHub repo.

Kobalte

Urban Bot 1.0: React-Based Universal Chatbot Library — Rather than messing around with the APIs for Telegram, Discord, Slack or Facebok Messenger, write React components instead and get chatbot functionality on each.

Urban Bot

Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut

Shortcut (formerly Clubhouse.io) sponsor

💻 Jobs

Software Engineer — Join our happy team. Stimulus is a social platform started by Sticker Mule to show what's possible if your mission is to increase human happiness.
Stimulus

Find JavaScript Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.
Hired

👀 Elsewhere This Week

Did you know we have several other newsletters we publish each week? We thought we'd do a quick roundup of what's going on with each of them in case they're of interest to you:

REACT: In this week's React Status we wondered if 'React is the new IBM', got to build a word scrambling game, and detected unnecessarily mounted React components.

POSTGRES: In this week's Postgres Weekly we learnt how to create Mermaid diagrams from SQL, create type constraints at the database level, and found out what the real 'billion dollar mistake' is. It's not nulls!

FRONTEND: In this week's Frontend Focus we focused on iOS and iPadOS's forthcoming Web Push API support, creating accessible carousels, and a surprisingly easy way to create a 'dark mode' theme for your site.

NODE.JS: In this week's Node Weekly we discovered two new ways to make type-safe MongoDB queries, and found a way to have Node play endless clicker games on your behalf.

RUBY: In this week's Ruby Weekly, a Rails core team member told us why we shouldn't indulge in monkey patching, we learnt to create an intelligent FAQ with GPT-3, and met the Rails Foundation's new executive director.

JAMSTACK: In this week's JAMstacked, Brian Rinaldi pondered React's role in the whole Jam space, and shared a few useful tools with us.

GO: In this week's Go Weekly, we played a game of Solitaire on the terminal, discovered a Go-powered Web browser, and learnt more about what's new in Go 1.20.

RUST: Sorry, we don't have a Rust newsletter, but we get asked that a lot!

Thanks for reading, thanks to everyone who submitted items for this issue, and thanks to Frontend Masters, Whiskey Web and Whatnot, Shortcut, and Retool for supporting this issue. See you next week!