0% found this document useful (0 votes)
226 views

Flutter Syllabus

This document provides an overview of topics covered in a mobile app development course, including introductions to Dart and Flutter, setting up development environments, building user interfaces, communicating with APIs, storing and retrieving data, testing apps, and publishing apps to app stores. It also outlines additional bonus topics like project structuring, design patterns, and using Firebase services. The course culminates in a final project and potential internship opportunities.

Uploaded by

siddhant.batas
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
226 views

Flutter Syllabus

This document provides an overview of topics covered in a mobile app development course, including introductions to Dart and Flutter, setting up development environments, building user interfaces, communicating with APIs, storing and retrieving data, testing apps, and publishing apps to app stores. It also outlines additional bonus topics like project structuring, design patterns, and using Firebase services. The course culminates in a final project and potential internship opportunities.

Uploaded by

siddhant.batas
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Introduction to Mobile App Development

• Introduction to mobile app development


• History
• Platforms
• Native vs Hybrid Apps
• Existing Tools
• Why Flutter? Why Dart?
• Mobile Development ket terms

Introduction to Dart

• History and Introduction


• Basics: Enviroment, 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.

Introduction to Flutter

• Introduction and History


• Flutter project overview
• Flutter UI
• Flutter Architecture
• Flutter Key Terms

Development Environment Setup

• Installing Dart+Flutter on Windows/Linux/Mac


• Setting up Emulators
• Setting up VMWare & XCode for iOS development
• Connecting with Android and iOS devices

Git Basics

• Creating repository on local and GitHub


• Pushing local changes into the repository
• Pulling and cloning projects from the repository
• Branching
• Merging and pull requests

UI Design with Flutter

• Flutter App Structure


• Introduction to Widgets
• Build Method
• Stateful vs Stateless Widgets
• Some Important Widgets
• Layout Widgets
• Handling gestures
• Building complex UI
• Navigation and Routing

Communicating with the world

• Consuming REST API's


• Working with JSON
• JSON to models
• Displaying data from API
• Future & sync await
• Using third party packages

Data storage & Assets

• Using Assets
• Reading and Writing FIles
• Shared preferences
• SQLite (Creating databases, issuing queries)
• Firebase (Firestore & Realtime databases)/ Storage/ Authentication

Forms & Validation

• Creating Login Screen


• User Input and Keyboard
• Retrieving Form values
• Form Validation
• Global Keys
• Form submission
• Mixins and Validations

Animations in Flutter

• Animation basics
• Implicit & Explicit Animation
• Common animation widgets
• Animation Controller
• Tween Animation
• Hero Effect
• Animated Builder
• Paraller Animation

Reactive programming with Flutter

• Introduction to Streams
• Working with streams
• Handling stream data
• Working with RxDart
• Broadcast streams
• Observable, PublishSubject, BehaviourSubject & ReplaySubject
• Implementing BLOC with streams

State management with Flutter

• Introduction & why state management


• State management approaches (Provider/Riverpod/BLOC)/Stacked
• State management with Riverpod
• Implementing a project in Riverpod
• Provider &ScopedModel
• State management with BLOC
• Implementing a project in BLOC

Basic Testing

• Types of tests
• Unit Testing
• Integration Testing
• Mocking HTTP requests

Custom components & packages

• Creating custom components


• Creating basic packages

App publishing

• 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

Misc

• Camera, Custom Paint, Advanced Design, Sensors, Permission Handling, File IO, Push
Notifications, Multipart form requests, Google Maps, Location, Swipe to refresh etc.

Bonus

• Project Structuring
• Project Management
• Design Patterns
• Creating and Publishing Packages to pub.dev
• Firebase (Authentication, hosting, functions, cloud messaging, In App messaging, Remote
config, dynamic links)
What's Next

• Final Project
• Internship

You might also like