Dart Tutorial

16 chapters, 83 lessons

Flutter Tutorial

Free Flutter tutorial from zero to a published app: widgets, layout, navigation, state management, networking, storage, animations, responsive design, testing and release.

This Flutter course starts with installing the SDK and ends with your app in the stores. Every lesson has complete code, and examples that can run in the browser have a Run button.

You need the basics of Dart first: variables, functions, classes, null safety and async. If any of those are new, the Dart course covers them in the same step-by-step way.

Start the first lesson

Chapters

  1. 1

    Getting Started with Flutter

    What Flutter is, how to install it, and how to create, run and understand your first app.

    5 lessons
  2. 2

    Widgets

    The building blocks of every Flutter screen: stateless and stateful widgets, the widget lifecycle, text, buttons, images and containers.

    8 lessons
  3. 3

    Layout

    Arrange widgets on screen with rows, columns, stacks, lists and grids, and understand how Flutter decides sizes.

    8 lessons
  4. 4

    Material Design and App Structure

    Build complete screens with Scaffold, app bars, navigation bars, drawers, tabs, cards, dialogs and themes.

    6 lessons
  5. 5

    User Input and Forms

    Collect input with text fields, validated forms, checkboxes, switches, sliders, pickers and gestures.

    5 lessons
  6. 6

    Navigation and Routing

    Move between screens, pass data back and forth, and set up URL-based routing with go_router.

    4 lessons
  7. 7

    State Management

    Keep your UI in step with your data: setState, lifting state up, InheritedWidget, ChangeNotifier, Provider, Riverpod and Bloc.

    7 lessons
  8. 8

    Async UI and Networking

    Show data that arrives later: FutureBuilder, StreamBuilder, HTTP requests, JSON models, loading and error states, and pagination.

    6 lessons
  9. 9

    Storing Data

    Keep data on the device with shared_preferences, files and SQLite, and in the cloud with Firebase.

    4 lessons
  10. 10

    Animations

    Bring an app to life with implicit and explicit animations, hero transitions, custom page routes and custom painting.

    4 lessons
  11. 11

    Responsive and Adaptive Design

    Make one app look right on small phones, large phones, tablets, foldables, desktops and the web.

    4 lessons
  12. 12

    Device Features and Plugins

    Use the camera, gallery, location, links, sharing and other native features through plugins, and call native code yourself.

    4 lessons
  13. 13

    Testing, Debugging and Quality

    Test your widgets, find bugs with DevTools, keep the app fast, and make it usable in every language and by everyone.

    7 lessons
  14. 14

    App Architecture

    Organise a growing Flutter app: folder structure, layers, MVVM with repositories, dependency injection and environment configuration.

    3 lessons
  15. 15

    Building and Releasing

    Prepare an app for release: icon, splash screen and name, then build and publish for Android, iOS, web and desktop, and automate it.

    5 lessons
  16. 16

    Flutter Next Steps

    Practice projects, interview questions and a cheat sheet to turn what you have learned into real skill.

    3 lessons