You Can Apparently Make JavaScript Art Now

by This Week in JavaScriptApril 27th, 2025
Read on Terminal Reader
tldt arrow

Too Long; Didn't Read

The P5.js creative coding library has reached a new version, solidifying its position as the premier tool for anyone wanting to blend art with code.
featured image - You Can Apparently Make JavaScript Art Now
This Week in JavaScript HackerNoon profile picture

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 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."


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!

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks