Course Description
<p>Flutter transforms the app development process. Build, test, and deploy beautiful mobile, web, desktop, and embedded apps from a single codebase.</p> <p> </p>
Curriculum
- Introduction
- Flutter UI
- Flutter Architecture
- Flutter Key terms
- Introduction
- Basics : Environment , Syntax , Data Types, Variables, Operators, Loops,Decision making, List, Map, Functions , Parameters (Default+Named)
- OOP with Dart : Class,Constructor, Inheritance, Interfaces, Mixins, Overriding , Operator overloading
- Intermediate Dart : Keywords, Null Safety, Getters & Setters, Exception handling
- Advanced Dart : Lambdas,Higher Order Functions, Closures, Future, Stream
- Prerequisites for Flutter Development
- Overview of the Process
- Windows Setup
- Install Flutter SDK
- Install Android Studio
- Install Android Emulator
- Mac setup
- Install Flutter SDK
- Install Android Studio/Xcode
- Install IOS Emulator
- Configuration of Flutter Development
- Creating repository on local & GitHub
- Pushing local changes into the repository
- Pulling and cloning projects from the repository
- Branching
- Merging & Pull requests
- Flutter App Structure
- Introduction to Widgets
- Build method
- Stateful vs Stateless Widgets
- Some Important Widgets
- Layout widgets
- Handling gestures
- Building complex UI
- Navigation & Routing
- Consuming REST API’s
- Working with JSON
- JSON to models
- Displaying data from API
- Future & async await
- Using third party packages
- Using Assets
- Reading & Writing Files
- Shared Preferences
- SQLite (Creating databases, issuing queries..)
- Firebase (Firestore & Realtime databases)
- Creating Login screen
- User Input & Keyboard
- Retrieving Form values
- Form validation
- Global Keys
- Form submission
- Mixins and Validations
- Animation basics
- Implicit & explicit animation
- Common animation widgets
- AnimationController
- Tween animation
- Hero Effect
- Animated Builder
- Parallel animation
- Introduction to Streams
- Working with streams
- Handling stream data
- Working with RxDart
- Broadcast streams
- Observable,PublishSubject,BehaviourSubject & ReplaySubject
- Implementing BLOC with Streams
- Introduction & Why state management
- State management approaches (Provider/Rivderpod/BLOC)
- State management with Riverpod
- Implementing a project in Riverpod
- Provider & ScopedModel
- State management with BLOC
- Implementing a project in BLOC
- Types of tests
- Unit testing
- Integration Testing
- Mocking HTTP requests
- Creating custom components
- Creating basic packages
- Creating release builds
- Code Obfuscation
- Signing apps
- Performance and other optimization
- Creating developer accounts on App Store and play store
- Publishing apps on play store
- Publishing apps on app store
