Dart kann jetzt auch Web. Ernsthaft.
Flutter Web gibt es seit 2021. Die Idee dahinter klingt verlockend: du baust eine Flutter-App, tippst einen Befehl, und die App läuft auch im Browser. Kein separates Web-Projekt, kein JavaScript. Fertig.
Das Problem ist wie Flutter das umsetzt. Die gesamte UI wird auf einem Canvas gerendert — wie ein Bild das im Browser angezeigt wird. Das sieht auf jedem Gerät gleich aus, aber Suchmaschinen lesen Canvas-Inhalte nicht. Für eine App die hinter einem Login sitzt ist das egal. Für eine öffentliche Website, einen Blog oder eine Landingpage ist es fatal.
Das ist kein Bug. Flutter wurde nie für Webseiten gebaut. Eric Seidel, der Flutter bei Google gegründet hat, hat das kürzlich klar formuliert: Flutter ist ein UI-Framework das den kompletten Screen rendert und direkt an die Hardware geht. Im Browser gibt es keine Hardware. Es gibt einen Canvas — und das war's. Google Earth läuft auf Flutter Web. Google Classroom auch. Rive, FlutterFlow. Das sind keine kleinen Experimente, das sind echte Produkte. Flutter Web ist für genau diese Art von canvas-heavy App-Erfahrungen gemacht, bei denen du pixel-genaue Kontrolle brauchst. Für alles andere ist es das falsche Werkzeug.
Und Seidel sagt das selbst: wer eine Website baut, einen Blog, eine Landingpage — der soll Flutter Web nicht anfassen. Das Flutter-Team sagt das seit Jahren. Trotzdem wird Flutter Web dafür immer wieder kritisiert.
Hier kommt Jaspr ins Spiel.
Wie Jaspr das löst
Jaspr ist ein Web-Framework für Dart — der Sprache hinter Flutter. Es wurde 2022 von Kilian Schulte als Soloprojekt gestartet, benannt nach seinem Hund Jasper. Die Grundidee war einfach: wie würde ein modernes Web-Framework aussehen das sich wie Flutter anfühlt, aber echtes HTML und CSS erzeugt statt Canvas-Geblubber?
Das Ergebnis sieht vertraut aus. Statt StatelessWidget gibt es StatelessComponent. Die Struktur ist dieselbe — aber was am Ende rauskommt ist kein gemaltes Pixel-Bild, sondern echter DOM den Suchmaschinen lesen können.
Google hat Jaspr kürzlich auf dem eigenen Open Source Blog vorgestellt. dart.dev, flutter.dev und docs.flutter.dev laufen alle damit. Über eine Million aktive Nutzer im Monat, mehr als 3.900 Seiten, migriert von JS- und Python-basierten Static Site Generatoren. Und Seidel — der Flutter-Gründer — nennt Jaspr explizit als Default-Empfehlung für jeden der Dart im Web einsetzen will. Das ist keine kleine Randnotiz.
SSR, SSG und CSR sind eingebaut — kein separates Meta-Framework nötig. Im JavaScript-Ökosystem braucht man React plus Next.js oder Vue plus Nuxt. Bei Jaspr ist das alles in einem Paket. jaspr_content ist das Plugin für Content-Seiten aus Markdown, ähnlich Astro oder VitePress. State Management mit Riverpod funktioniert direkt, Tailwind-Integration ist eingebaut. Für das Backend gibt es fertige Anbindungen an Shelf, Dart Frog und Serverpod, das direkt einen ORM mitbringt. Kein JavaScript im Backend nötig.
Hot Reload ist eine Dart-Erfindung, keine Flutter-Erfindung. Im Browser kompiliert dartdevc inkrementell nach JavaScript. Debugging läuft direkt in den Chrome DevTools mit Breakpoints und Wertinspektion im nativen Dart-Code. Für Production gibt es dart2js für optimierten JavaScript-Output und dart2wasm für WebAssembly-Runtime.
Die eine Sache die dich am Anfang verwirrt
Jaspr rendert Code sowohl server-seitig als auch client-seitig. Das klingt erstmal gut, hat aber eine konkrete Konsequenz: Code der auf Browser-APIs zugreift — window, document — crasht nicht im Browser sondern schon beim Build. Der Server kennt kein window.
In Flutter läuft alles auf einem Gerät. In Jaspr läuft ein Teil des Codes beim Build auf dem Server, ein anderer Teil wird erst im Browser aktiv. Wer das nicht von Anfang an im Kopf hat, sucht eine Weile nach dem Fehler. Es ist keine große Hürde — aber eine die man kennen muss bevor man anfängt.
Firebase macht den Stack komplett
Firebase Functions wird laut der Flutter & Dart 2026 Roadmap bald Dart nativ unterstützen. Wenn das GA geht, läuft Jaspr-Frontend plus Dart-Backend direkt auf Firebase-Infrastruktur — ohne JavaScript irgendwo im Stack. Das schließt den Full-Stack-Kreis komplett in einer Sprache.
Das nächste große Ding. Vielleicht.
Die Discord-Community hat gerade mal 500+ Entwickler. Zum Vergleich: React hat Millionen. Jaspr ist kein Mainstream-Tool und wird es auf absehbare Zeit nicht sein.
Ich hätte meine Apps mit React Native und Expo vibe-coden können — das wäre die naheliegendere Wahl gewesen. Ich hab mich trotzdem für Flutter entschieden, weil ich dem Ökosystem Potenzial zugetraut habe. Als Vibe Coder interessiert mich nicht was gerade Mainstream ist, sondern was in einem Jahr interessant sein könnte. Das Dart-Ökosystem — Flutter, Jaspr, Dart-Backend, demnächst Firebase — wächst gerade zu einem kohärenten Stack zusammen. Eine Sprache, ein Tooling, von der App bis zum Server. Das ist selten. Ob Jaspr groß wird? Keine Garantie. Aber ich kenne das Gefühl wenn etwas früh richtig aussieht — und hier hab ich es wieder.
Ausprobieren geht direkt im Online-Playground — kein lokales Setup nötig.
Kommentare
Noch keine Kommentare. Schreib den ersten!