The results are in

#​693 — June 20, 2024

Read on the Web

JavaScript Weekly

The Results of the State of JavaScript 2023 Survey — It feels odd including something about 2023 in June 2024, but the results of the major annual JavaScript developer survey are now out. It’s interesting to see what features JS devs do and don’t use, changes in library popularity over time, what build tools people are using, the divide between JavaScript and TypeScript usage, and much more besides.

Devographics

How JavaScript is Finally Improving the Module Experience — Multiple long-term proposals collectively known as “module harmony” will complete the features lost as developers move away from CommonJS.

Mary Branscombe / The New Stack

Simplify Your Data Collection with a Fully Integrated Form Management Platform — SurveyJS is an open-source JavaScript library suite for secure form creation and data collection in your app. Build JSON-driven surveys/forms quickly, without manual coding. Integrate with any backend system, gather and store responses while retaining full control over your data.

SurveyJS sponsor

How React 19 (Almost) Made the Internet Slower — Even changes that are planned in advance can have big effects on the developer experience if people aren’t aware of them. A change to Suspense in React 19 led to much confusion and surprise, but the story has a happy ending with the React team ready to listen to end users more closely.

Henrique Yuji

IN BRIEF:

Evan You, the creator of Vue.js, recently gave ▶️ a talk on 10 years of Vue, covering both its past and future.

Over on Twitter/X, Daniel Lemire showed off a situation where Bun is much faster than Node.js, even when both are using the same underlying library, due to the complexities the V8 engine introduces.

🎵 Did you know TC39 now has its own pop group and a song?

RELEASES:

htmx 2.0 – The popular ‘access lots of JS and Web API features via special HTML attributes’ library gets a new major version mainly to remove deprecations and drop IE support.

Electron 31 – The cross-platform desktop app framework steps up to Chromium 126, Node 20.14, and V8 12.6.

Relay 17 – Facebook’s declaritive GraphQL client for React.

ESLint 9.5, Serverless Framework v4, pnpm 9.4

Your Fastest Path to Production — Build, deploy, and scale your apps with unparalleled ease – from your first user to your billionth.

Render sponsor

📒 Articles & Tutorials

▶  3D in TypeScript with Raycasting — Raycasting is a somewhat old fashioned technique to render 3D environments (you may have seen it in 1992’s Wolfenstein 3D) but it’s easy to understand and worth implementing at least once.

Tsoding Daily

Live Types in a TypeScript Monorepo — Several strategies to make a TypeScript monorepo feel more “alive” in the sense of the propagation of changes.

Colin McDonnell

Intro to Sentry & Codecov: Live Demo — From pre to post-release, learn how Sentry help developers find and fix errors and slowdowns and deploy with confidence.

Sentry sponsor

What Happens When a Major npm Library Goes Commercial? — The ua-parser-js library is commonly used to parse user agent strings and gets over 12 million downloads a month, but it has recently switched to AGPL+commercial licensing.

Matteo Collina

Dual Publishing ESM and CJS Modules with tsup and ‘Are the Types Wrong’tsup makes it easy to bundle TypeScript libraries and ‘Are the Types Wrong?’ analyzes packages for issues with their types.

John Reilly

📄 How to Use Google Sheets as a ‘Database’ from React Paul Scanlon

📺 How Svelte and RSCs are Changing Web Development – A group discussion including Svelte’s Rich Harris, Tracy Lee, Ben Lesh, and Adam Rackis. This Dot Media

📄 Mastering Date Formatting using Intl.DateTimeFormat Rafael Camargo

📄 MobX Memoizes Components (You Don’t Need React Compiler) – If you’re actually using MobX, that is. Mike Johnson

📄 Refactoring a Scroll-Driven Animation from JavaScript to CSS Andrico Karoulla

📄 UUIDv7 Implemented in 20 Languages – Surprisingly short and sweet. Anton Zhiyanov

🛠 Code & Tools

Phoenix: A macOS Window Manager You Can Script with JS — macOS is set to adding more window management features in Sequoia, but how about something you can script entirely with JavaScript right now? GitHub repo.

Kasper Hirvikoski

JSONEditor: A Component for Viewing and Editing JSON — If your app needs to let users work with JSON directly, this is worth a look. It supports both text and tree views and is cross browser compatible. Live demo.

Jos de Jong

Transformational Auth & Identity | Userfront — “Compared to our previous experiences in the security/auth space, Userfront is an order of magnitude simpler to use.”

Userfront sponsor

Rooster v9.6: Microsoft’s Framework-Independent Rich Text Editor — A rich-text editor control neatly nested inside a single div element (demo). Several years old, but still maintained.

Microsoft

NLUX: A Library for Rendering Conversational AI Experiences — If you want to spin up a ChatGPT-style conversational experience on top of your own services or third party AI backends, this provides the pieces needed to get an interface up quickly. GitHub repo.

Salmen Hichri

⚙︎ NodeSwift – Bridges Node.js and Swift so you can write Swift code that talks to Node and vice versa. Kabir Oberai

⚙︎ Vuesion – Boilerplate for Next/Vue app development. Werner-Most Ideen GmbH

⚙︎ Kitbag Router – Type safe router for Vue.js. Craig Harshbarger

QUICK RELEASES:

Electron Store 10.0 – Simple data persistence for Electron apps.

React Date Picker 7.1 – Simple date picker component. (Demo.)

Monads 0.7 – Rust-inspired Option, Result, and Either types.

Plasmo 0.88“Like Next.js for browser extensions.”

MUI X 7.7 – Popular React component suite.

React Tag Autocomplete 7.3

🤖 QUICK NOTE

Next week, I’m attending the AI Engineer World’s Fair. If you happen to be there, come and say hi!

It might be a bit late to attend in person unless you’re based in SF, but you can subscribe to the AI Engineer YouTube channel to be notified when the livestreams go live next Wednesday and Thursday if you’d like to see what’s going on.

— Peter Cooper, your editor

Leave a Reply

Your email address will not be published. Required fields are marked *