Mobile development

Flutter: from Dart to a published mobile app

Design an iOS and Android application with Flutter and Dart: widgets, navigation, state and persistence.

Request this program
Duration
21 h · 3 days
Level
Intermediate
Format
On site · Remote · Blended
Max. group size
12 participants

Overview

This program teaches how to create a mobile application with Flutter. Participants discover the Dart language, build interfaces with widgets, handle navigation and state, apply architecture patterns, persist data and prepare for publication. They also use the AI assistants built into development environments to speed up their work.

Who this program is for

  • Web or mobile developers who want a single codebase
  • Teams launching an iOS and Android application
  • Full stack developers

Prerequisites

  • Basic programming knowledge (variables, functions, objects)

Learning objectives

  • Place Flutter among mobile frameworks
  • Set up the environment and create a project
  • Program in Dart
  • Build responsive interfaces with widgets
  • Handle navigation, routing and state
  • Apply an architecture (BLoC, MVVM)
  • Persist data and test

Detailed curriculum

6 modules · 21 h · 3 days

Day 1
Discovering Flutter and Dart3.5 h
50% theory · 50% practice
  • Overview of mobile frameworks
  • Flutter architecture
  • Installation and first project
  • Dart syntax
  • Null safety, collections and classes
First widgets3.5 h🛠 1 workshop
30% theory · 70% practice
  • Widget tree
  • Stateless and stateful widgets
  • Layouts: rows, columns, stacks
  • Themes and styles
  • Hot reload
🛠 Hands-on workshops
Home screen1.5 h

Build a first screen with a custom theme.

✅ Deliverable : A Flutter screen
Day 2
Rich interfaces and lists3.5 h
50% theory · 50% practice
  • Advanced widgets and forms
  • Lists, grids and scrolling
  • Adaptive interface
  • Basic animations
  • Accessibility
Navigation and routing3.5 h🛠 1 workshop
30% theory · 70% practice
  • Navigating between screens
  • Named routes and parameters
  • Tab bar and drawer
  • Passing data
  • Deep links
🛠 Hands-on workshops
Multi-screen application2 h

Link several screens with navigation.

✅ Deliverable : A navigable application
Day 3
Architecture and state management3.5 h
50% theory · 50% practice
  • Why structure your code
  • BLoC pattern
  • MVVM pattern
  • Dependency injection
  • Widget tests
Persistence and publication3.5 h🛠 1 workshop
30% theory · 70% practice
  • SQLite and Drift
  • Preferences and files
  • Network calls and APIs
  • Internationalization
  • Build, signing and publishing
🛠 Hands-on workshops
Finalization2 h

Add persistence and network calls to the application.

✅ Deliverable : A complete application

Tools and technologies

Android StudioDartFlutterSQLiteVisual Studio Code

Teaching methods

  • Alternating short lectures and hands-on work
  • Live demonstrations by the trainer
  • Capstone project built throughout the modules
  • Group corrections and discussion of best practices

Assessment

  • Hands-on exercises corrected in each module
  • Mini-project completed at the end of the course
  • Knowledge-check quiz

Required equipment

  • A computer with an internet connection
  • Flutter SDK, Android Studio or VS Code, and an emulator

Resources provided

  • Course materials and repository of corrected exercises

Career outcomes

  • A working mobile application on an emulator and on a device
  • A clean architecture
  • The publication steps