Lesson 25 / 25

A Production Readiness Checklist

Pulling the course together.

Before you ship

A Flutter app is ready when: the layout works on small phones, tablets and with large text scale; light and dark themes use the colour scheme; navigation handles back, deep links and signed-out users; state lives in one consistent approach; network calls handle errors, timeouts and offline cases; secrets are in secure storage and API keys are not hard-coded; permissions are declared and explained; flutter analyze is clean and unit, widget and key integration tests pass in CI; performance has been checked in profile mode; and release builds are signed, versioned, obfuscated with symbols kept, and crash reporting and analytics are in place.

A CI pipeline in a few steps

Commands a CI job typically runs.

flutter pub get
dart format --output=none --set-exit-if-changed .
flutter analyze
flutter test --coverage
flutter build appbundle --release --flavor prod \
  --obfuscate --split-debug-info=build/symbols

Accessibility is part of done

Add Semantics labels to icon-only buttons, keep contrast high, support text scaling and test with TalkBack and VoiceOver.

Quick check: Which practice belongs on a Flutter release checklist?

  • Hard-code API secrets in Dart files
  • Ship debug builds to the stores
  • Run analysis and tests in CI and build signed, versioned releases
  • Skip testing large text sizes
Answer

Run analysis and tests in CI and build signed, versioned releases — Automated checks and proper signing make releases repeatable and safe.