Introduction

Spark is a lightweight, isomorphic web framework for Dart. It allows you to build modern web applications using a single language for both server and client.

With Spark, you can write Web Components that render on the server for fast initial load and SEO, and hydrate on the client for interactivity. It bridges the gap between traditional SSR frameworks and SPAs.

Key Features

  • HTML-First Architecture: Server sends fully formed HTML for instant display.
  • Isomorphic Components: Single Dart file defines both server and client logic.
  • Zero-JS Initial Paint: Declarative Shadow DOM eliminates JavaScript for first render.
  • Typed CSS API: Type-safe, autocompleted styling with Style.typed.
  • Automatic OpenAPI Generation: API documentation generated from code annotations.
  • DTO Validation: Automatic request body validation using annotations.
  • Multi-Page Architecture: Lightweight JavaScript bundles per route.

Why Spark?

Dart is an excellent language for full-stack development. Spark leverages Dart's capabilities to provide a cohesive development experience without the complexity of managing separate frontend and backend stacks.