Introduction to Mobile Ecosystems
Overview of mobile development
Android vs iOS ecosystems
Mobile app market and trends
Install Android Studio / Flutter SDK
Explore Android Emulator
Run a Hello World mobile app
Native vs Hybrid vs Cross-Platform
Native development (Swift/Kotlin)
Hybrid frameworks
Cross-platform frameworks (Flutter/React Native)
Compare Flutter vs React Native
Create a basic Flutter project
Variables and data types
Functions and classes
Object-oriented programming
Write simple Dart/Kotlin programs
Create a basic console application
Futures and Streams
Async/await concepts
Write program using Future and async functions
Fetch dummy data asynchronously
Importance of null safety
Nullable vs non-nullable variables
Implement null safety examples
Fix null errors in sample code
MVC architecture
MVVM architecture
Clean architecture principles
Create a simple project structure
Implement MVC pattern
Development Environment & Tools
SDKs and emulators
Android Debug Bridge (ADB)
Git and version control
Install Git, Create Git repository, Push project to GitHub
UI/UX Engineering & State Management– Widget Engineering
Widgets in Flutter
Stateless vs Stateful widgets
Build basic UI screen
Use Text, Button, and Image widgets
Layout & Design
Row, Column, Stack
Responsive layouts
Material & Cupertino Design
Material Design principles
Cupertino (iOS-style UI)
Design Android style UI
Create iOS-style interface
Navigation stack
Route management
Create multi-screen navigation
Named Routes & Deep Linking
Named routes
Deep linking concepts
Implement named routes navigation
Concept of state
Why state management is important
Manage state using setState
Advanced State Management
Provider
Riverpod
BLoC architecture
Implement Provider state management
Implicit vs explicit animations
Rive and Lottie animations
Add animated button
Integrate Lottie animation
Data, Hardware & Networking – Networking Basics
REST APIs
HTTP methods (GET, POST, PUT, DELETE)
Fetch data from public API
Create API request using Dio
JSON structure
Parsing JSON data
Convert JSON data to model classes
Interceptors & Error Handling
Request interceptors
Error handling strategies
Implement error handling in API calls
Local persistence concepts
SQLite database
Create SQLite database
Store user data locally
Hive database
Secure preferences
Store login credentials securely
Capture photo using device camera
Display current location
Background Tasks & Notifications
WorkManager
Push notifications (FCM)
Implement push notification using Firebase
Backend-as-a-Service & DevOps– Firebase Introduction
Backend-as-a-Service
Firebase ecosystem
Connect Flutter app with Firebase
Email/password authentication
Social login
Implement user login system
Cloud Firestore structure
CRUD operations
Store user data in Firestore
Firebase Storage & Cloud Functions
Uploading files
Serverless backend
Upload images to Firebase storage
Quality Assurance & Testing
Unit testing
Widget testing
Continuous integration
CodeMagic / GitHub Actions
Play Store deployment
Final Project Presentation
App deployment process
Documentation
UI screens
API integration
Local storage
Firebase authentication
Push notifications