name: mobile-flutter
category: mobile
public: true
database: optional
hosting_hints:
- app-store
- play-store
- huawei-appgallery
- web-hosting
- desktop-distribution
audit_stack:
- analyze
- code-clean
- design-review
- perf
- cso
- a11y
- doc
plugins:
context7: optional
ui-ux-pro-max: yes
gstack: no
---
Mobile Flutter
Application Flutter (Dart) cible iOS + Android + Web + Desktop. Widgets tree, state management variable (Provider / Riverpod / Bloc / GetX).
Detection signals
Strong signals (×3)
- FILE:
pubspec.yaml
- FILE:
pubspec.lock
- DIR:
lib/ AVEC fichiers .dart
- FILE:
lib/main.dart
Medium signals (×2)
- DIR:
android/
- DIR:
ios/
- FILE:
analysis_options.yaml
- DIR:
test/ AVEC .dart
- DEP dans pubspec.yaml: "flutter_bloc", "provider", "riverpod", "get"
Weak signals (×1)
- DIR:
web/, macos/, linux/, windows/ (multi-plateforme)
- FILE:
l10n.yaml (i18n)
- DIR:
assets/images/, assets/fonts/
- FILE:
.flutter-plugins, .flutter-plugins-dependencies
Counter-signals (exclusion)
- DEP pubspec contient "dart_sdk" uniquement sans "flutter" → projet Dart pur (CLI / server), pas Flutter
Implications
- Distribution : App Store / Play Store / AppGallery (Huawei) / Web (Flutter Web) / Desktop (macOS/Win/Linux via Flutter desktop)
- Base de données : locale (sqflite / Hive / Isar / Drift) + backend (Firebase / Supabase / API custom)
- SEO/GEO : PARTIEL si Flutter Web — Flutter Web rend en canvas/HTML, SEO limité même en HTML renderer
- Surface sécurité : GRANDE — shared_preferences non chiffré, secrets dans bundle, deep links
- UI/UX : CRITIQUE — design system Material/Cupertino + custom
Typical pain points
- Secrets / API keys dans
pubspec.yaml ou lib/config.dart committés
shared_preferences pour tokens → pas chiffré (doit être flutter_secure_storage)
- State management non cohérent (mélange setState + Provider + Bloc dans même app)
- Rebuild excessif (pas de
const widgets, pas de Selector, pas de keys)
- Performances listes : pas de
ListView.builder (rend tout d'un coup)
- Images non optimisées (pas de
cached_network_image, pas de compression)
- Pas de splash screen natif (flash blanc au démarrage)
- Permissions iOS/Android demandées sans justification → reject App Store
- Pas de crash reporting (Sentry / Firebase Crashlytics absents)
- Deep links non configurés / uni_links / go_router mal configurés
- Pas de tests unitaires / widget tests
- Pas de tests E2E (integration_test / Patrol / Maestro)
- Flutter SDK obsolète (cycle release rapide)
flutter pub outdated ignoré → deps avec failles
- Accessibilité :
Semantics widget pas utilisé, focus order incorrect
- Dark mode :
ThemeMode.system pas supporté ou mal
- i18n : strings hardcodées au lieu de
.arb files
- Platform channels pas testés (plugins natifs)
- Code generation (build_runner) pas dans CI → fichiers générés commités
- App bundle size énorme (pas de
--split-per-abi Android, pas de tree shaking)
Interview questions (adaptive)
En plus du set minimum business :
- State management : Provider / Riverpod / Bloc / GetX / Cubit / vanilla ?
- Flutter SDK / Dart version ?
- Targets : iOS / Android / Web / macOS / Windows / Linux ?
- Navigation : Navigator 1.0 / go_router / auto_route / beamer ?
- Backend : Firebase / Supabase / API custom / GraphQL ?
- Auth : provider + storage (flutter_secure_storage obligatoire pour tokens) ?
- Database locale : sqflite / Hive / Isar / Drift / SharedPreferences ?
- Push notifications : FCM / OneSignal / Notifee / aucun ?
- Crash reporting : Firebase Crashlytics / Sentry / aucun ?
- Analytics : Firebase / Amplitude / PostHog / aucun ?
- Tests : unit / widget / integration / Patrol ?
- CI/CD : Codemagic / Bitrise / GitHub Actions / Fastlane / aucun ?
- Code generation : build_runner / freezed / json_serializable / riverpod_generator ?
- i18n :
flutter_localizations + .arb ?
- Design system : Material 3 / Cupertino / custom tokens ?
- Dark mode supporté ?
- Accessibilité : Semantics widgets + testé VoiceOver / TalkBack ?
- App bundle size cible ?
- App Store Review : première soumission / rejet déjà eu / actif ?
Plugin recommendations
- context7 : OPTIONAL — ON pour Flutter 3.x récent (Impeller, Material 3, Riverpod 2+)
- ui-ux-pro-max : ON
- gstack : OFF
Example project layout
pubspec.yaml
pubspec.lock
analysis_options.yaml
lib/
main.dart
app.dart
core/
theme.dart
constants.dart
features/
auth/
data/
domain/
presentation/
home/
data/
domain/
presentation/
shared/
widgets/
services/
test/
widget_test.dart
features/
auth_test.dart
integration_test/
app_test.dart
assets/
images/
fonts/
android/
ios/
web/
l10n.yaml