Duration
Flutter Framework (Intermediate-Advanced)
5 days
Overview
As of 2023, The Economist predicts that the number of mobile devices in circulation will reach a staggering 25 billion. At the same time, approximately 3 million apps can be found on both iTunes and Google Play stores. These mobile apps continue to be a driving force behind increased revenue for businesses, as they encourage repeat orders from customers who are constantly on the move. In comparison to traditional marketing approaches, mobile app promotion remains a cost-effective strategy. This surge in demand for mobile app development has compelled the software industry to place a strong focus on this area, requiring developers to possess a diverse skill set capable of creating apps for various platforms, including Android and iOS.
Flutter, leveraging the Dart programming language, empowers developers to craft exceptional mobile applications. This comprehensive course is designed for individuals who are already well-versed in Flutter development, with the goal of enhancing their expertise by exploring advanced architectural concepts and industry best practices. Upon completing this course, participants will have honed the skills necessary to build resilient Flutter applications that can seamlessly scale to accommodate a substantial user base. Furthermore, they will acquire the knowledge to expand the reach of their applications beyond mobile devices, extending their capabilities to encompass web and desktop platforms.
Objective
- Develop iOS and Android applications proficiently
- Master Dart and the Flutter Framework
- Create complete and feature-rich mobile apps
- Build a portfolio of apps for job applications
- Become a cross-platform developer for iOS , Android and Desktop application
- Gain a competitive advantage as a Flutter mobile developer in the workplace
Target Participants
The primary target audience for this course is software developers / programmers. This program is for those who have completed a beginner course of Flutter Application Development.
Program Prerequisites
No previous programming experience required.
Mode of Delivery
Every participant will be provided with course notes.
Day 1 : Intermediate Dart, UI Widget and Navigation
- Advanced data types (Sets, Maps)
- Dart libraries and packages
- Asynchronous programming with Futures and Streams
- Error handling with Try-Catch and Custom Exceptions
- Higher-order functions
- Closures and lambda expressions
- Functional concepts like map, reduce, and filter
- Using the async and await keywords for asynchronous programming
- Stack Widget
- Mediaquery, Layout Breakpoint
- Gridview
- Theming
- GestureRecognizer: Swipe, pinch, and drag gestures
- Bottom Navigation and TabBar
- Drawer and Side Navigation
- Named Routes and Route Generator
- Deep Linking and Navigation Guards
- Practical Navigation Exercises
Day 2: State Management
- Recap of Flutter widget tree and hierarchy
- Introduction to state management in Flutter apps
- Stateful vs. Stateless widgets
- Hands-on: Building a basic counter app using setState
- Understanding the Provider package
- Setting up a Provider for state management
- Managing app-wide state using ChangeNotifier
- Hands-on: Creating a to-do list app with Provider
Day 3 : HTTP Request, Authentication flow and Futurebuilder
- Introduction to asynchronous programming in Dart
- Performing HTTP GET ,POST and PUT requests using the http package
- Handling response data and error scenarios
- Hands-on: Fetching and displaying data from an API using FutureBuilder
- Exploring authentication methods and flows
- Implementing user registration and login functionality
- Handling authentication states with FutureBuilder
- Hands-on: Building an authentication flow using API, token handling and FutureBuilder
Day 4 : Firebase Integration, Device Integration
- Overview of Firebase services: Authentication, Firestore, Storage
- Setting up a Flutter project with Firebase
- Integrating Firebase Authentication
- Hands-on: Implementing Firebase Authentication in an app
- Understanding Firebase Cloud Firestore
- Reading and writing data to Firestore
- Utilizing StreamBuilder for real-time data updates
- Firebase Analytics, Cloud Messaging
- Hands-on: Creating a real-time chat application with Firestore and StreamBuilder
Day 5 : Multiplatform Flutter (Web and Desktop)
- Introduction to Flutter for the web
- Adapting UI for the web platform
- Building and deploying a Flutter web app
- Hands-on: Converting a Flutter mobile app to run on the web
- Exploring Flutter's capabilities for desktop platforms
- Building a cross-platform desktop app with Flutter
- Adapting UI for desktop screen sizes and interactions
- Hands-on: Developing a simple desktop app using Flutter
Programme scope, delivery arrangements and suitability are confirmed during enquiry.