How Flutter’s Websites Were Rebuilt Using Dart and Jaspr
The Challenge: A Fragmented Tech Stack
For years, the official websites for Dart (dart.dev), Flutter (flutter.dev), and Flutter documentation (docs.flutter.dev) were powered by a disjointed collection of tools. Despite Dart itself being a web language from the start, these sites relied on a fragmented mix of non-Dart technologies. The documentation sites ran on Eleventy, a Node.js static-site generator, while flutter.dev used Wagtail, a Python and Django-based CMS. This split meant that anyone contributing to the sites needed expertise in Node.js tooling or Python, depending on which site they touched. Even though some interactive components were already built with Dart, the lack of a unified stack prevented code sharing, increased setup friction, and made maintenance increasingly complex.
As the team’s ambitions grew—adding richer code samples, interactive quizzes, and more dynamic content—each new feature became an uphill battle. Limited interactivity required one-off imperative DOM logic, and the fragmented setup made these enhancements slow and error-prone. The need for a single, cohesive platform became clear.
Why Jaspr Was the Solution
Jaspr, an open-source Dart web framework, emerged as the ideal replacement. It supports client-side rendering, server-side rendering, and static site generation—all within the Dart ecosystem. For a team already deeply invested in Dart and Flutter, Jaspr offered several key advantages.
Direct Transfer of Flutter Skills
Jaspr’s component model was designed to feel natural to any Flutter developer. Its syntax mirrors Flutter widgets, making the learning curve nearly nonexistent. For example, a simple feature card component in Jaspr looks like this:
class FeatureCard extends StatelessComponent {
const FeatureCard({
required this.title,
required this.description,
super.key,
});
final String title;
final String description;
@override
Component build(BuildContext context) {
return div(classes: 'feature-card', [
h3([.text(title)]),
p([.text(description)]),
]);
}
}This familiarity means contributors can apply their existing Dart and Flutter knowledge directly to web development without learning a new framework or language. The framework also integrates seamlessly with the DOM model, providing a solid foundation for building interactive, performant websites.
The Result: A Unified Developer Experience
By migrating all three sites to Jaspr, the team achieved a unified stack with a consistent developer experience. Now, contributing to any of the sites requires only Dart knowledge—no more switching between Node.js and Python environments. The new setup also enables code reuse across sites, reducing duplication and speeding up development.
The migration didn’t just simplify maintenance; it also unlocked new capabilities. With Jaspr’s built-in support for interactivity, the team can now add richer features—like interactive code samples and tutorial quizzes—without resorting to fragile, imperative DOM manipulation. The static site generation aspect ensures fast load times and SEO benefits, while the SSR and CSR options allow flexibility for more dynamic pages.
Practical Benefits for the Community
- Lower barrier to contribution: Anyone familiar with Dart can now contribute to the websites, expanding the potential pool of contributors.
- Consistent tooling: Build processes, dependencies, and deployment pipelines are now uniform across all three sites.
- Better performance and maintainability: The unified stack reduces complexity, making it easier to optimize and update the sites over time.
Conclusion
Rebuilding Flutter’s websites with Dart and Jaspr was a strategic move to align the team’s tooling with its core language. It eliminated the fragmentation that had long hindered development and opened the door to more interactive, engaging content. For organizations using Flutter and Dart, Jaspr offers a compelling path to build web experiences without stepping outside the ecosystem. The result is a cleaner, faster, and more contributor-friendly platform that proves the power of Dart on the web.
Related Articles
- Greenlane Expands Heavy-Duty EV Charging Into Texas, Targets I-10 Freight Corridor
- Tank Pad Ultra: A Rugged Tablet with a Built-in 1080p Projector – Everything You Need to Know
- Why the SECURE Data Act Falls Short as a Consumer Privacy Law
- New SECURE Data Act Draft Faces Bipartisan Criticism as Privacy Advocates Warn of Rollback
- Farmers' Big Battery Project Gets Lightning-Fast Federal Environmental Nod
- How to Seek Compensation for Tesla's Undelivered Full Self-Driving Promise
- WebAssembly JSPI Gets a Simplified API in Chrome M126: What’s New and How to Use It
- AI and Energy: Inside the U.S. Department of Energy's Genesis Mission