- Experience with Android and iOS mobile apps development
Audience
- Developers
- Programmers
Flutter is an open source UI toolkit made by Google for building mobile applications for Android, iOS, web, and other platforms from a single codebase. As a cross-platform framework, it reduces the cost and complexity of creating, designing, and maintaining the applications.
This instructor-led, live training (online or onsite) is aimed at developers who wish to use Flutter to create and build high-quality mobile apps for Android, iOS, and other platforms from a common codebase.
By the end of this training, participants will be able to:
- Set up the necessary development environment to start creating Flutter apps.
- Use Dart programming language to develop the code for building the apps.
- Use Flutter widgets to design and create aesthetically pleasing and easy-to-use UI.
- Deploy and test apps on different platforms (mobile, desktop, web, etc.).
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Introduction
- Flutter vs other cross-platform frameworks
- Overview of Flutter features and architecture
Getting Started
- Installing Flutter
- Setting up the code editor (Visual Studio Code)
- Understanding Dart functions and variables
- Implementing abstraction, encapsulation, inheritance, polymorphism
- Understanding Dart variables and data types
- Understanding Future and Stream
- Unit Tests and Mocks
- Calling native methods
- Clean architecture
- Flavors
- Dart Analyzer and Dart Metrics
- Dependency Injection
Creating Flutter Apps From Scratch - Focus on the web
- Creating a Flutter project
- Building app layouts with Material components
- Adding assets and images
- Internationalization
Running and Testing Apps
- Deploying apps to Azure WebApp (account provisioning needed from client)
- Deploying apps to Android devices
- Using Hot Reload and Hot Restart tools
- Using Widgets
- Stateful vs Stateless widgets
- Setting up the project
- Creating a Stateless widget
- Creating a Stateful widget
- Create an animations
Routing and Navigation
- Using BuildRunner package
- Using AutoRoute package
- Create transitions
- Navigation Stack
Databases and other Storages
- Introducing to Hive
- Introducing to SharedPreferences
- Using SQL database
Using Rest Api, Parsing JSONs
- Introducing to http package
- Introducing to Dio package
- parsing JSONs
- Request and Responses
Managing Flutter State
- Introducing the BLoC package
- BLoC implementation
- testing BLoC
Programming Tips and Best Practices
Troubleshooting
Summary and Conclusion