flutter-dev
Plattformübergreifende Flutter-Anwendungen entwickeln
Der Aufbau hochqualitativer plattformübergreifender Apps erfordert die Beherrschung vieler Flutter-Muster und State-Management-Ansätze. Diese Fähigkeit bietet strukturierte Anleitungen zu Widget-Mustern, Riverpod- und Bloc-State-Management, GoRouter-Navigation, Leistungsoptimierung und plattformspezifischen Implementierungen.
Die Skill-ZIP herunterladen
In Claude hochladen
Gehe zu Einstellungen → Fähigkeiten → Skills → Skill hochladen
Einschalten und loslegen
Teste es
Verwendung von "flutter-dev". Zeig mir, wie ich GoRouter mit Authentifizierungswächtern einrichte
Erwartetes Ergebnis:
- GoRouter mit einer Redirect-Funktion konfigurieren, die den Auth-Status prüft
- Routenpfade für Anmeldung, Startseite und geschützte Bildschirme definieren
- Eine Redirect implementieren, die nicht authentifizierte Benutzer zur Anmeldeseite weiterleitet
- Den Navigationsstatus während der Authentifizierungsweiterleitungen beibehalten
Verwendung von "flutter-dev". Wie teste ich ein Bloc-basiertes Flutter-Widget?
Erwartetes Ergebnis:
- Widget-Tests mit pumpWidget und einem ProviderScope-Wrapper schreiben
- Mocktail verwenden, um Repository-Abhängigkeiten zu mocken
- Benutzerinteraktionen mit find- und tap-Methoden auslösen
- Erwartete UI-Statusänderungen mit expect-Assertionen verifizieren
Sicherheitsaudit
SicherThis skill consists entirely of markdown documentation files (SKILL.md and 12 reference files) containing Dart/Flutter code examples and development best practices. The static analyzer flagged 583 patterns, but all are false positives caused by misinterpreting markdown code fence backticks as shell commands and treating documentation content as executable code. No actual scripts, network calls, filesystem operations, or external commands are present. The skill is safe to publish.
Qualitätsbewertung
Was du bauen kannst
Mobile App Startup-Architektur
Ein neues Flutter-Projekt mit einer featurebasierten Struktur, GoRouter-Navigation und Riverpod State Management von Grund auf aufsetzen.
State Management Migration
Eine bestehende Flutter-Anwendung von setState zu Riverpod oder Bloc migrieren, um eine bessere State-Organisation und Testbarkeit zu erreichen.
Performance-Optimierungs-Audit
Leistungsengpässe mithilfe von DevTools-Profiling, const-Optimierung und RepaintBoundary-Mustern identifizieren und beheben.
Probiere diese Prompts
Hilf mir, ein neues Flutter-Projekt mit einer featurebasierten Ordnerstruktur einzurichten. Binde GoRouter für Navigation und Riverpod für State Management ein. Zeige den Haupteinstiegspunkt und einen einfachen Feature-Ordner.
Zeig mir, wie ich einen Benutzerauthentifizierungsfluss mit Riverpod implementiere. Binde einen StateNotifierProvider für den Auth-Status, ein Anmeldeformular mit Validierung und Navigation zum Home-Bildschirm nach erfolgreicher Anmeldung ein.
Überprüfe diese Flutter-Widget-Hierarchie und identifiziere Leistungsprobleme. Schlage vor, wo ich const-Konstruktoren, RepaintBoundary und ListView.builder einsetzen sollte. Erkläre die Auswirkungen jeder Optimierung.
Erstelle eine Dio-HTTP-Client-Einrichtung mit Authentifizierungs-Interceptors, Fehlerbehandlung und Wiederholungslogik. Binde ein Repository-Muster für API-Aufrufe ein und zeige, wie es sich in Riverpod-Provider integriert.
Bewährte Verfahren
- Const-Konstruktoren auf allen statischen Widgets verwenden, um unnötige Neuerstellungen zu verhindern und den Speicherverbrauch zu reduzieren
- Riverpod für einfaches State Management und Dependency Injection wählen, und Bloc für komplexe ereignisgesteuerte State-Flüsse
- Mit Flutter DevTools im Profilmodus profilieren, bevor optimiert wird, um tatsächliche Leistungsengpässe zu identifizieren
Vermeiden
- Vermeiden, setState für gemeinsam genutzten State zu verwenden, von dem mehrere Widgets abhängen. Stattdessen eine State-Management-Lösung nutzen
- Keine API-Aufrufe oder schwere Berechnungen in build-Methoden platzieren. Provider oder Isolates für asynchrone Arbeit verwenden
- Const-Konstruktoren auf statischen Widgets niemals überspringen. Fehlende const verhindert, dass Flutter unveränderte Widget-Teilbäume überspringt