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!
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 fastertextToPoints()
(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
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 following for more weekly updates.
Until next time, happy coding!