React Server Components, a key part of the recently released Next.js 13 web application framework, are “still a very unproven architecture,” Matt Biilmann says.
Biilmann, an early advocate of the Jamstack architecture and CEO of Netlify, was speaking to Dev Class ahead of the Jamstack Conf which opens today in San Francisco and online.
A survey of Jamstack developers (the Jamstack Community Survey), released today, finds that 71 percent use the React component model and 47 percent use Next.js, a framework based on React. Other React-based frameworks are also growing in popularity, including Vite (up 18%) and Remix (up 10%). Another notable statistic is that TypeScript usage is up 110% in two years and is now the primary programming language of 21 percent of developers – though the figure for JavaScript is 53 percent (down from 63 percent last year).
A hot topic, however, is the direction of Jamstack, which is associated with the idea of Single Page Architecture (SPA), where an application is single page and dynamic content is retrieved via APIs (the A in JAM). React Server Components give developers choice over client or server-side component rendering and Vercel CEO Guillermo Rauch previously told us: “[In 2016] everyone was building single page applications. We came to the market saying no, we’re going to do server rendering and orchestrate complex applications made up of multiple entry points.”
Vercel is the main sponsor of Next.js.
What does Biilmann now think about SPAs? “I’ve never said that SPA was the right answer for everything,” he tells Dev Class. “I still think it’s the right answer to some things.”
He adds: “There’s a lot of applications where the mental model of just building an application that runs in your browser and talks to different API’s and services is so much simpler, that it’s probably the right way of building, especially if it’s an application where people mainly stay logged in for long sessions. It’s definitively not the right way of building if you’re building a marketing site or something where you want the first impact to be quick. It’s been very interesting to see the merger of React and Next, and React no longer being a simple view framework but a much more opinionated full framework, layering both client side, server side and data fetching and all of that, and requiring a framework like Next to actually use it.
“I think that merger will result in a more coherent story around what does it mean to build with React, that will be more opinionated. I think it will also lead to more fragmentation, as it opens up possibilities for frameworks like Preact, SolidJS and Svelte to gain by bringing some of the mental simplicity back,” Biilmann says.
“We [Netlify] will have first class support for React Server Components but I’m personally almost more excited about what Astro is doing with the Islands architecture and multi-page applications. To me it feels a little more aligned with the core standard building blocks of the web,” he adds.
What about the amazing claims for performance of the Rust-based Turbopack, versus the established Webpack JavaScript bundler?
“I’ve learned over my time in technology that when people compare the performance of an alpha product with the product that is in production, it’s a lot easier to be faster, and then once you implement things like plug-in engines, that’s often where you have to give up performance to get people that flexibility,” he said. “It sounds good, but I keep the jury out until you have actual feature parity.”