Flutter - Advanced Course Outline ( 5 days)
This is a beginner level course. Starting from setting up your development environment, you’ll learn to design the UI and add user input functions. You'll explore the navigator widget to manage app routes and learn to add transitions between screens.
By the end of this course, you’ll be well-versed with Flutter programming and have the skills to develop your own mobile apps or build a career as a Dart and Flutter app developer.
Learning Outcome:
By the end of this course, the learner shall be able to:
- Understand what Flutter is.
- Comprehend what Flutter can be used for.
- Shift from current programming language to Dart.
- Do State Management in Flutter.
- Able to compose Flutter widgets.
- Able to persist data in various screens and stages.
- Learn and apply the BLoC pattern.
- Understand Widget-Async-Bloc-Service architecture.
- Manage Application Routes.
- Efficiently do Debugging.
Prerequisites
Software:
- Flutter 2.2 and above
- Android Studio or VS Code
- Java 8 or above
- MacOS (only if you want to develop and deploy to the iOS)
- Xcode (only if you want to develop and deploy to the iOS)
- Full administrative / root access
Hardware:
- 10GB free space
- 16GB RAM
- Minimum 4 core processor
Outline
This are the overview of topics that will be covered over a span of 5 days:
- Introduction to Dart Programming Language
- Introduction to Dart
- Getting started with Dart
- Understanding why Flutter uses Dart
- Introducing the structure of the Dart language
- Introduction to OOP in Dart
- Introduction to Flutter
- Flutter overview
- Flutter compilation
- Flutter rendering
- Widget Introduction
- Widget-Async-Bloc-Service architecture
- Basic Flutter App
- Implementing Flutter
- Widgets
- Handling User Input and Gestures
- Theming and Styling
- Routing: Navigating between Screens
- Project based concept building
- Using Stateful Widgets(Miles to Kilometer converter)
- Listening to a Stream of Data
- Integrating Firebase into a Flutter App
- Introducing Firebase
- Project overview
- Adding Firebase to your Flutter project
- Adding authentication to your app
- Writing data to Firebase: Adding the favorite feature
- ToDo App – Leveraging the BLoC Pattern and Sembalt
- Project overview
- Using sembast to store data
- The BLoC pattern
Practical, connected learning
My wider training approach brings hands-on implementation and systems thinking together, connecting technology with real operational needs.