Course Outline
Course Overview
This course introduces learners to cross-platform mobile app development using Flutter and Dart. Students will learn how to design, develop, and deploy modern, high-performance mobile applications for Android and iOS platforms.
Course Outcomes
After completing this course, participants will be able to:
- Develop cross-platform mobile apps using Flutter and Dart
- Integrate Firebase for authentication and data management
- Build and publish production-ready mobile applications
- Apply professional UI/UX and state management techniques
Module 1: Introduction to Flutter & Dart
- What is Flutter and why use it?
- Flutter architecture and framework overview
- Understanding the Flutter SDK and setup
- Introduction to Dart programming
- Dart variables, data types, and operators
- Control statements and loops
- Functions and classes in Dart
- Packages and Libraries
Module 2: Flutter Basics
- Flutter project structure and file system
- Understanding Widgets (Stateless & Stateful)
- Material Design & Cupertino Widgets
- Layouts: Row, Column, Container, Stack
- Common widgets: Text, Image, Button, Icon, ListView
- Handling user input & forms
Module 3: State Management
- Understanding State in Flutter
- Stateful vs Stateless widgets
- setState(), InheritedWidget, Provider
- Bloc and Riverpod (introductory concepts)
- Best practices for state management
Module 4: Navigation & Routing
- Introduction to navigation
- Navigating between screens
- Passing data between routes
- Named routes and route management
- Drawer, Bottom Navigation Bar, Tab Navigation
Module 5: Working with APIs & JSON
- HTTP requests in Flutter
- Consuming REST APIs
- Parsing JSON data
- Displaying API data using ListView & FutureBuilder
- Error handling and network management
Module 6: Local Data Storage
- Shared Preferences
- SQLite database integration
- Hive database
- File handling and local storage best practices
Module 7: Firebase Integration
- Firebase setup and configuration
- Authentication (Email/Password, Google Sign-In)
- Cloud Firestore Database
- Firebase Storage (upload/download files)
- Firebase Push Notifications (FCM)
Module 8: App Design & Theming
- Flutter themes and color schemes
- Custom fonts and icons
- Responsive UI for multiple devices
- Animations and transitions
Module 9: Advanced Features
- Camera and Gallery integration
- Accessing device features (location, sensors, etc.)
- Background tasks and notifications
- Using third-party packages effectively
Module 10: Testing, Debugging & Deployment
- Debugging in Flutter
- Unit and widget testing
- Performance optimization
- Building APKs and App Bundles
- Publishing apps to Play Store & App Store
Module 11: Capstone Project
- Design and develop a complete real-world Flutter app
- Integrate all learned modules
- Present and deploy the final project