The number of meta frameworks that leverage Signals continue to grow, said Solid creator Ryan Carniato. Angular introduced Signals in May with version 16. Preact and Qwik had already adopted Signals and Vue also has signals-based rendering, Carniato said. And recently, Svelte 5’s previews show that the framework will also adopt Signals-based rendering, he added.
Meanwhile, React developers took the year to explore RSC, he added.
“In the React World, the big topic was Next.js and react server components,” he said. “We saw the core team come out and actually do a lot of talks and come to a lot of events this year, which we hadn’t seen in a few years, to actually engage [with] the community.”
Signals Catch on
Signals are reactive primitives that manage application states. Signals allow developers to easily manage and respond to changes in their applications. The addition of Signals has the potential to revolutionize the way developers approach reactive programming and make it more accessible to a wider range of developers, frontend developer Alyssa Nicoll told The New Stack earlier this year.
Signals consist of “a getter, setter, and a value,” Carniato explained in a 2021 article. Signals historically have also been called Observables, Atoms, Subjects, or Refs, he noted. They work in tandem with Reactions, which are also called Effects, Autoruns, Watches, or Computeds. Reactions observe Signals and re-run them every time their value updates, he explained. “The important thing is these Signals can carry any sort of data and the reactions can do anything with it,” he wrote. The updates happen synchronously, he added. “Before we can log the next instruction the Reaction has already run.”
His blog post explains it in more detail and with code, but essentially, Signals and Reactions give developers the pieces they need to create fine-grained reactivity, he said.
React Server Components
Eli White, engineering manager on React, agreed that the big news for React in 2023 was the RSC.
“In 2023, we’ve loved seeing the community embrace React Server Components,” White told The New Stack. “RSCs have been a major change for most people to what they think of as the scope of React; from just a UI layer, to having more of an influence on the way you architect your application for the best user and developer experience — especially for applications where SPAs [single page applications] weren’t good enough. In 2024 I expect to see more framework adoption of RSCs, bringing this capability to more developers.”
This year, Next.js provided one path forward with its new app server, which supports React server components and server actions.
“By far the largest thing in the past year of Next JS was the stabilization of the app router,” said Lee Robinson, head of product at Vercel, which created Next.js. “We wanted to build a new foundation that, at the same time, supported the existing pages router and can live simultaneously. That would allow developers to incrementally move over to some of these new features and performance improvements that we want to land without causing a big ecosystem shift.”
It’s not about choosing one approach over another, he added.
“It’s not all server/no client or all client/no server,” he said. “The model invites both and wants both.”