SolidStart Launches; Next.js 15 Releases, With DX Questions

By his own admission, Ryan Carniato, the creator of Solid, isn’t big on meta-frameworks — at least when it comes to Solid.

But on May 21, Carniato introduced SolidStart, a meta-framework for building apps on Solid. It’s designed for “builders and people who have their own opinions,” he said, adding that it won’t be the last Solid framework and that they’re already seeing people build meta-frameworks on top of SolidStart, such as CreateJDApp and MediaKit.

Meta-frameworks atop meta-frameworks? Lawd hammercy, as they say in the U.S. south.

Southern dog with wig

memegenerator.net

“SolidStart is a JavaScript Framework designed to build SolidJS apps and deploy them to a variety of providers. This doesn’t sound all that different from most other JavaScript frameworks,” he wrote. “But the devil is in the details.”

Nuxt, Next.js, SvelteKit, Angular and Astro are examples of meta-frameworks, which “address common concerns like routing, layouts, serverless backends, and CSS bundling with out-of-the-box solutions,” explained Ben Holmes, a frontend developer who works at Astro.

SolidStart promises a simpler approach that gives developers more control. SolidStart’s approach is à la carte, including bringing your own app router, according to Carniato’s post introducing the new meta-framework.

“SolidStart is designed first and foremost to be a starter,” he writes. “This means that the basic setup without installing any libraries produces Hello World examples that are ~5kb JavaScript Minified and GZipped. Don’t want to use additional libraries? Don’t worry, you don’t have to.”

Developers can set their own types and use the router of their choice, Carniato wrote. SolidStart uses Filesystem routing with similar conventions to Nuxt, with the exception of using () instead of [] to pass parameters. The configuration from the File System is then passed back to the application to be used in the router of your choice, he wrote. “You can call FileRoutes as a component or a regular function to get the configuration generated by SolidStart.”

“SolidStart was built as ‘Single Page App’ first,” he said. “Every feature is designed to work with all the libraries you already use. To do so required us to carefully consider how we added server-only capabilities. This is what lead us to pioneering ‘Server Functions’ in early 2022, a feature that has since made its way into several popular frameworks.”

Adding “use server”; to a function means it will be executed only on the server, either being naturally called on the server or used as an RPC from the client, he continued.

The rest of the post provides more details about how this functions, but other features SolidStart offers include:

Next.js 15 Releases, But Does the App Router Ruin DX?

Next.js 15 is available as a release candidate now with support for the React 19 release candidate, including Meta’s React compiler. Vercel also introduced its Web Application Firewall, which is embedded in the Vercel ecosystem and deploys automatically to secure at the edge.

The firewall incorporates a customizable rules engine so that developers can control how traffic is handled. It’s possible, for instance, to block all traffic from a specific country, or you can go more fine-grained and only allow connections fro a known list of browsers (for instance). Rules are added from the Vercel dashboard.

Next.js 15 includes partial pre-rendering as an experimental feature, improvements to caching, and hydration error improvements. Theo Browne explored all the details if you’re interested in more than a summary.

But a recent post by Andrew Israel, founder of authentication company PropelAuth, has us wondering: Will the update be easier or harder for developers to use?

Israel contended that Next.js is getting harder to use, and in particularly he points his finger at the app router:

“From my perspective, Next.js’ App Router has two major problems that make it difficult to adopt:
• You need to understand a lot about the internals to do seemingly basic tasks.
• There are many ways to shoot yourself in the foot that are opt-out instead of opt-in.”

He’s not alone, apparently. Programmer Michal Landsman created a poll in Vercel’s GitHub discussions about developer experience and getting the current URL in Server Components, which is a problem Israel focused on as well. It’s obviously an informal and unscientific poll, with only 85 responses, but even so — 74% said that it was a bad developer experience.

Survey shows 74% said developer experience is bad when it comes to a specific use case of the Vercel app router

Survey posted to Vercel’s GitHub Discussion thread. https://github.com/vercel/next.js/discussions/65385?ref=propelauth.com

In Israel’s view, the trouble goes back to Next.js 13, which introduced the new App Router.

“You had Server Components which allowed you to render your React components on the server and reduce the amount of data you needed to send to your client,” he wrote. “You had Layouts, which allowed you to define aspects of your UI shared by multiple routes and didn’t need to be re-rendered on every navigation. Caching got… more sophisticated. And while these features were interesting, the biggest loss was simplicity.”

He’s not the only one with complaints about app router.

According to Vercel’s recent post, the Next.js App Router is built on the React canary channel for frameworks. This allows developers “to use and provide feedback on these new React APIs before the v19 release,” but perhaps it’s also adding complications that developers don’t want.

Next.js 15 RC now supports React 19 RC, which includes new features for both the client and server, like Actions, Vercel’s blog post adds.

Israel asks if this is a natural occurrence as frameworks evolve — the complexity increases, leading to a worsening developer experience.

“Next.js has officially recommended that you use the App Router since before it was honestly ready for production use. Next.js doesn’t have a recommendation on whether TypeScript, ESLint, or Tailwind are right for your project…, but absolutely believes you should be using the App Router,” Israel wrote. “The official React docs don’t share the same sentiment. They currently recommend the Pages Router and describe the App Router as a ‘Bleeding-edge React Framework.’”

In that regard, it makes more sense to think of the App router as a beta release, Israel concluded.

RustRover Commercial Release Available

JetBrains, which provides software development tools, released RustRover, the commercial version of its IDE for Rust on May 21.

With the commercial release, RustRover improved crate and features dependency management, added auto-completion and basic code insight inside macro declarations, according to the company. It also added custom-built live analysis, a feature to manage items under the disabled mode, Quick Documentation improvements, and Code Vision optimizations.

“We launched RustRover in 2023 to address the evolving needs of developers in a market, and it’s become a milestone — a symbolic sign that Rust‘s developer community has achieved a new level of maturity,” Vitaly Bragilevsky, developer advocate of RustRover, said in a press release. “For the commercial release, we improved the tool to enable developers to navigate this growing landscape even more efficiently and will continue contributing to the thriving Rust community by providing free subscription plans for non-commercial projects.”

For a more detailed look at what the RustRover IDE offers, check out David Cassel’s March story.

Group Created with Sketch.

 

 

 

 

Top