LoginSign-up for free
Skill Path

Flutter - Learn how to build mobile apps for iOS and Android

Intermediate15h 25minLast updated 08/2025
This Flutter Skill Path equips learners with the essentials of Flutter development, combining interactive tutorials and practical examples. From setting up the environment to deploying apps, participants will build real-world projects, mastering both Dart fundamentals and Flutter widgets for dynamic, cross-platform mobile applications. Each module is designed to incrementally enhance skills, ensuring a thorough understanding of state management, API integration, and user interface design, preparing learners for professional app development.
Content (39)
What is Flutter and how to get started
Flutter is an open-source UI software development kit created by Google. It is used to develop applications for Android, iOS, Linux, Mac, Windows, Google Fuchsia, and the web from a single codebase. In this first chapter we will get familiar with it.
Dart Programming Language
Flutter
Mobile App Development Tools
step image What is Flutter?
Video
What is Flutter?
8minBasic
An introduction to Flutter and what problem it solves
Flutter is not the only framework to develop apps (or websites) across multiple platforms. The biggest competitor is react native. Just to get started, it would be a good idea to get familiarize yourself with the available options and their advantages and disadvantages.
Link
Dart overview
5minBasic
The programming language for Flutter is Dart, which is very similar to Javascript. Although you should pick it up quickly if you know any programming language.
Link
Dart basics
15minBasic
To go a bit more into Dart, this source covers in more detail how to use the language. For example how to create variables, functions and classes; work with asynchronous data and how to add exceptions.
With the basics out of the way we can install Flutter. Which requires quite a few components: You need a code editor (VS code in all likelihood), Android studio and the flutter files themselves. IMPORTANT: On Windows you can only export android apps; to make iOS/iPadOS apps you will need macOS. This is a limitation by Apple that no framework can get around.
Installing Flutter on macOS works basically like on Windows except now you can install Xcode, which lets you develop for and simulate iOS/iPadOS devices.
Introduction to basic concepts of Flutter
This chapter will introduce to the basic concepts and scenarios you will find in Flutter.
step image Flutter basic training
Video
Flutter basic training
12minIntermediate
The basics of Flutter to actually use it. Most importantly, this video covers the basics in terms of widgets to use flutter. This is vital to master the fundamental building blocks like buttons, text and general design of a flutter app.
step image Building your first Flutter app
Video
Building your first Flutter app
1h 32minIntermediate
Your first proper app. This video goes into much more detail to actually build an app and use the features of Flutter for a real project. Combined with the previous video this should give you a reasonable overview of the basic features of Flutter.
step image Basic Flutter widget list
Link
Basic Flutter widget list
10minIntermediate
An overview of the major flutter widgets.
step image Stateful vs stateless widgets
Video
Stateful vs stateless widgets
7minIntermediate
One of the parts that can be confusing early on in Flutter are stateless and stateful widgets: In the most basic sense, any app has parts that never change (like some textfields or a basic button) for those we have stateless widgets. Most elements, however, do change and need to dynamically display new information. For that, flutter provides stateful widgets which can change depending on the state.
step image Creating layouts
Link
Creating layouts
45minIntermediate
Flutter is extremely flexible when it comes to layouts and you can arrange widgets in basically any way you like. For that, you have a lot of layout methods and you can add widgets as children to other widgets. For example, adding children to a row widget will arrange them in a row.
step image Hot reload
Video
Hot reload
2minIntermediate
A super useful feature in Flutter is hot reload: It lets you rebuild your project immediately and lets you see updates extremely fast. This makes app development much faster.
step image Adaptive vs responsive
Video
Adaptive vs responsive
5minIntermediate
The main reason for using Flutter is to have a single codebase that can be deployed to a range of devices (like Android and iOS) and screen sizes (your app should work on a tiny phone and a tablet). For that to work, Flutter needs to know what device it is running on and you need to design the app in such a way that you don't duplicate code.
step image Responsive design
Video
Responsive design
39minIntermediate
This video goes into more detail on how to actually create responsive designs in practice to create an interesting layout. It also covers how to add breakpoints between layouts.
How to style Flutter widgets like rounded corners, colors, gradients, borders, text styles etc.
step image Using themes
Link
Using themes
10minIntermediate
Usually, you don't want to manually apply the same theme to every single widget and instead use a theme that was defined in a central place. That way you can update the styling in a central place and update everything at once.
step image Top 7 Flutter animations
Video
Top 7 Flutter animations
8minIntermediate
To make your apps much more interesting you can also add animations, for which Flutter has a range of tools like AnimatedSize or AnimatedPositioned. These let you create basic animations.
Flutter advanced concepts
From animations to several more advanced concepts, most of this chapter has videos you can learn from to start using Flutter for more complex scenarios.
Flutter
A module to create animations much more easily.
Another interesting package to extend Flutter. This one is quite simple: It lets you add a tinder style card.
step image Riverpod simplified
Video
Riverpod simplified
14minAdvanced
Riverpod is an external package that makes it much easier to manage the state of Flutter widgets.
Video
Flutter - Riverpod tutorial
1h 20minAdvanced
A playlist that goes into much more detail on Riverpod and how to integrate it into a Flutter project. You can find the link to the playlist here: https://www.youtube.com/playlist?list=PL4cUxeGkcC9i88WGZ9eIfQUWRgPstLFLp
step image Flutter provider tutorial
Video
Flutter provider tutorial
10minAdvanced
Riverpod is not the only package to control states in Flutter. A more simple one that you encounter a lot is called Provider and it works in a similar way to Riverpod; you encounter it quite often in tutorials and simple apps.
step image Canvas drawing
Video
Canvas drawing
9minAdvanced
You can create any kind of drawing using the Canvas widget, this is a powerful widget that helps a lot to expand your app via custom animations and images.
For a good mobile app you want to have access to all the available touchscreen inputs; so far we only covered basic swipes and button presses. But Flutter can detect all inputs via the GestureDetector class; thus giving you a lot more options for the input.
Flutter can also be used for Game development. The Flame engine is the most common way of approaching this topic.
Integrating Firebase with Flutter
Firebase provides Flutter apps with a robust backend, real-time databases, authentication, analytics, and hosting, enhancing development speed and scalability.
Firebase
Flutter
A short video to outline what Firebase is and what it does (it's a database to add online functionality to your Flutter app)
A more detailed video on how Firebase works and how you can use it.
A detailed guide on how to add Firebase to your Flutter app.
A detailed guide on how to add Firebase to your Flutter app.
step image Minimal chat app
Video
Minimal chat app
1h 5minAdvanced
A minimal chat app to look at the Firebase integration in a more practical way. Using a chat app is a good way to store and transfer data across devices and users.
Practice with Flutter
It's time to put your skills into practice with this chapter! We will learn with a bunch of examples and tutorials that will help you build your first Flutter applications!
Flutter
A recap of the major Flutter concepts in a real project.
Creating a QR scanner.
Dribble is website where ui designers share their ideas and concepts; it is an excellent resource to get good at design. If you want to master design in Flutter you can simply take a bunch of the concepts there and translate them into Flutter apps.
step image Minimalist weather app
Video
Minimalist weather app
13minBasic
Building a minimalist weather app in Flutter.
Creating a ToDo app.
Creating a Calculator app.
Creating an analog clock.
Exporting to iOS and Android
This final chapter is very important because you will learn how you can now port your Flutter code into apps for the iOS and Android store.
Android Development
Ios App Development
step image Flutter export to Android
Link
Flutter export to Android
30minIntermediate
How to release a flutter project on Android.
step image Flutter export to iOS
Link
Flutter export to iOS
30minIntermediate
How to release a flutter project on iOS.
Introduction
This path has been curated by the Anthropos team in collaboration with Chris Koch
Chris KochChris Koch
Instructional designer, Instructor and Sr. Software Engineer
Skill objectives