January 2025 ☃️
Complexity, State of JS, Vue 3.6 sneak-peak
Since it’s still the beginning of the year—and I’m a New Year’s resolutions person—I wanted to start with a reflection. Over the past few years, and especially in 2024, the web platform has evolved dramatically. CSS, in particular, feels almost unrecognizable compared to not so long ago. Features that once required tons of code or additional build tools are now built right into the platform, often as simple one-liners: dialogs, popovers, previously impossible transitions, CSS nesting, and so much more.
To me, this is the perfect time to strip away some of the many layers of abstraction we’ve accumulated—complex build setups, frameworks, and libraries—and get closer to the metal of the web platform again. I want to write simpler, more resilient code and focus on knowledge that remains broadly applicable. That includes a renewed interest in Svelte, which, despite being a compiled framework, aligns closely with the spirit of the web. I also want to dive deeper into new APIs like Temporal and techniques like view transitions.
Because as someone said at a conference I attended last year:
Frameworks come and go, but the web platform and its APIs are knowledge you can rely on for decades.
-
Speaking of new APIs and techniques, the results of the State of JS 2024 survey have been published—as always a great source for finding out about the latest trends and developments in the JavaScript world.
-
Another interesting source is the JavaScript Rising Stars report, which watches and categorizes new libraries, frameworks, and apps based on their GitHub stars.
-
Evan You, creator of Vue, shared an update on Vue 3.6 at Vue.js Nation 2025 (his talk starts at 17 minutes). Vue 3.6 will feature another massive performance boost in the reactivity APIs thanks to alien signals 👽. It will also include a first version of the much-anticipated Vapor Mode, which works similar to Svelte or Solid.js and should also result in vastly better performance and smaller bundle size.
-
Pinia, Vue’s recommended state management solution, has now has a data fetching plugin for making working with APIs easier.
-
Tailwind v4 has been released with many interesting, but unfortunately also breaking changes: new configuration formats, faster compiler, no more PostCSS requirement,… I tried to upgrade one of our projects the other day, but looks like it’s going to require some work…
-
Ghostty is the new trendy terminal emulator. I have been using it as my main terminal for a few weeks now and love how snappy it is, and how well it integrates with whatever platform you’re using.
-
Svelte 5 has been released (a while ago actually, but I didn’t pay attention). It’s a complete rewrite and fixed many of the things that I thought were weird in previous versions. Hopefully I’ll find the time to give it a try soon! If you’re feeling the same, here is a tutorial.
-
We usually think of web components as a replacement for React/Vue/… components. But here’s a clever pattern for using them for progressive enhancement instead: HTML Web Components
-
Old but gold: What is the event loop and how does it work?
-
JavaScript classes can have a static initialization block that is run as soon as the class is parsed. Not sure what to use that for but somehow it feels like it could be handy.