So, is there a modern solution for web apps that is powerful, simple, and blazingly fast in both CI and the browser? A solution that lets you write in your favorite backend language and is fun? The answer is Datastar!

In recent years, Single Page Applications (SPAs) have become the de facto standard for web frontends. Frameworks like React, Angular, and Svelte have dominated the development of modern browser applications. Their goal is to create highly interactive websites by offering feature-rich toolkits and entire ecosystems of libraries. The number of libraries on npm is vast, providing a wide variety of functionalities.
However, these benefits come with costs. JavaScript bundles continue to grow in size. Your codebase needs to stay up to date with the latest React version. Keeping frontend and backend state in sync can be challenging. npm builds often take minutes on top of backend builds before deployment is possible. And how often have we deleted node_modules to fix mysterious issues?
Backend developers often prefer Server-Side Rendering (SSR), which usually lacks the interactivity required for modern web applications. Other attempts, like Scala.js, allow you to use your favorite backend language in the browser but often result in loading multiple megabytes of JavaScript just for the runtime and standard library on top of React, Laminar or similar libraries still used for the web app.
So, is there a modern solution for web apps that is powerful, simple, and blazingly fast in both CI and the browser? Something you can understand during a Scalar talk and learn in an afternoon? A solution that lets you write in your favorite backend language and is fun? The answer is Datastar!
We'll explore type classes in Scala 3, using its new rules for givens, extension methods, and mechanisms for automatic derivation via mirrors or macros.