Make JavaScript Art with p5.js 2.0, new React 19 Features, Solid.js just turned 10, and more - Week #32
Hello JavaScript Enthusiasts!
Welcome to a new edition of "This Week in JavaScript"!
This week, we’ve got a major release for creative coders, groundbreaking React experimental features, and reflections on a decade of SolidJS—plus exciting new tools you won't want to miss!
Can’t read the newsletter? Listen on the go!
P5.js 2.0: JavaScript Takes Art to the Next Level
P5.js, the beloved creative coding library, has reached version 2.0 with impressive upgrades for artists and developers alike!
Key Improvements:
Variable Fonts & Advanced Typography: Animate font weight, width, and slant with full variable font support. New utilities like textToContours() and faster textToPoints() (3.5x speed boost) make text manipulation smoother.
JavaScript Shaders (No GLSL Needed): Apply GPU-accelerated shaders directly in JavaScript to strokes, fills, and images using simple functions like strokeShader(). No GLSL knowledge required.
Expanded Color Spaces & HDR Canvases: Work with LAB, LCH, OKLab color spaces, and HDR outputs like Display P3—perfect for richer color workflows and modern displays.
Unified Pointer Events: Handle mouse, touch, and pen inputs with a single event system for seamless interactivity across devices.
Performance Boosts:
Faster text rendering
Efficient 3D line drawing with linesMode(SIMPLE)
Asynchronous asset loading via async setup()
Modular & Modern:
Full ES Module support
Improved npm package with modern tooling
This update solidifies p5.js as the premier tool for anyone wanting to blend art with code. Whether you're a seasoned creative coder or a beginner looking to start, p5.js 2.0 offers an accessible entry point into generative art and interactive visualizations.
React Labs: View Transitions and Activity Component
React Compiler may have hit Release Candidate status, but that's not even the most exciting React news this week!
Some amazing updates in React:
View Transitions: A new experimental component that makes UI animations dramatically simpler
Easily animate between page navigations, expanding elements, and UI state changes
Leverages browser's native capabilities for better performance
Available now in react@experimental
Activity Component: Revolutionary approach to UI state management
Hide and show UI elements while intelligently preserving their state
Perfect for tabbed interfaces, modals, and complex navigational flows
Reduces performance costs compared to traditional unmounting
These features represent significant advancements in how React applications can handle animations and state management, making previously complex implementations straightforward.
A Decade of SolidJS: Reactive Revolution
SolidJS creator Ryan Carniato has shared thoughtful reflections on a decade of developing the project, four years after reaching version 1.0.
Key Highlights:
Fine-grained reactivity goes mainstream: SolidJS pioneered a signal-based reactivity model that minimizes runtime overhead and maximizes performance. This model has reshaped frontend architecture and been adopted by major frameworks like Angular (Signals), Vue (Vapor), and Svelte (Runes).
From niche to standard: What started as a side project inspired by Knockout.js evolved into a blueprint for how modern frameworks handle state updates efficiently—without the need for virtual DOM diffing.
Industry-wide impact: The signal-based approach has become the de facto standard for reactive programming in frontend development, with SolidJS playing a key role in sparking this shift.
Carniato's persistence has transformed how front-end frameworks approach reactivity, demonstrating the long-term impact of innovative architectural thinking in JavaScript.
Tools & Releases You Should Know About
Let's speed-run through some of the other big tool updates this week!
jsvu 3.0: Install modern JS engines without compilation headaches, now with improved Node.js v18+ compatibility and support for V8, SpiderMonkey, JavaScriptCore across major operating systems.
SmallJS 1.6: Smalltalk-inspired library now with multi-provider AI support for OpenAI, Deepseek, Google AI, and Anthropic, featuring a new demo chat app and improved compiler performance.
Scala.js 1.19.0: WebAssembly output now runs 15% faster than JavaScript for computation-heavy code, with native async/await support and compatibility with Firefox 131+ and Safari 18.4+ without flags.
ESLint v9.25.1: Fixes directive detection in no-unused-expressions rule to support projects publishing code for both ES3 and ES5+ environments, along with other important bug fixes.
Spectacle: Create React-powered presentations with JSX syntax, featuring live code demos, clickable elements, and polished visual effects for standout technical presentations.
And that's it for the thirty-second issue of "This Week in JavaScript", brought to you by jam.dev—the tool that makes it impossible for your team to send you bad bug reports.
Feel free to share this newsletter with a fellow developer, and make sure you're subscribed to get notified about the next issue.
Until next time, happy coding!