• Flutter Mobile App Dev

Flutter Course Syllabus:

Dart Programming Language

Introduction

Data Type:
String
num
int 
double
boolean 
object

Variables

  • Functions:
  • Operators:
  • Arithmetic
  • Equality
  • Increment and Decrement
  • Logical
  • Comparison
  • Decision Making and Loops:
  • If statement
  • If-else statement
  • Switch statement
  • Loops:
  • for
  • for..in
  • while
  • do..while
  • Comments:
  • Make format comments:
  • Block Comments:
  • Doc Comments:
  • Jumps:
  • Break  
  • Continue
  • Final & Const Keyword

  • Object-Oriented Programming:
  • Object 
  • Class
  • Fields
  • Methods
  • Constructor
  • Getters & Setters

 

  • Introduction To widgets
    • Basics Introduction
    • Basic about widgets
    • Stateful Widget vs Stateless Widget
    • Creating and using Custom widgets
    • Adding images and Fonts
  • Introduction to Flutter widgets
  • Stateless vs. Stateful widgets
  • Building UI layouts with widgets
  • Basic widgets: Text, Image, Container, Row, Column, etc.
  • Handling user input with widgets
  • Styling widgets with themes and styles
  • Understanding Flutter's widget tree hierarchy

 

  • Navigation and Routing with Flutter
    • Navigation Basics
    • Named Routes
    • Generated Routes
    • Passing Data between screens
  • Navigating between screens in Flutter
  • Using the Navigator class for screen navigation
  • Passing data between screens
  • Managing app state across screens
  • Implementing bottom navigation bars and tabs

 

  • Building responsive layouts

 

  • State Management using BLOC
    • BLOC vs stateful widgets
    • Introduction to BLOC
    • Update widgets using Bloc
    • Navigate and show message Using Bloc
    • Create repository using bloc
    • Communication between Multiple Blocs

State Management

 

  • Understanding the concept of state in Flutter
  • Managing state using Stateful Widget
  • Introduction to various state management approaches (setState, InheritedWidget, Provider, BLoC, Redux)
  • Implementing state management using Provider package
  • State management best practices

 

  • Debugging
    • Understanding Error Messages
    • Using Debug Mode
    • Add Break Points
    • Type of Exceptions
    • Watch Lists
  • Forms and validation with Flutter
    • Form validation
    • Global key referencing
    • Retrieving form values
    • Submitting the form
  • Http request with Flutter
    • Asynchronous programming
    • Fetch http requests
    • Working with JSON
    • Casting JSON to model instances
    • Working with dart futures
    • Working with Interceptor
  • Making API calls in Flutter
  • Handling JSON data with Dart's built-in libraries
  • Using popular HTTP packages (Dio, http) for network requests
  • Parsing and serializing JSON data
  • Storing and retrieving data using local databases (Sqflite)
  • Working with shared preferences for simple data storage
  • Introduction to HTTP and JSON
  • Flutter Introduction to Async and Future - Http Requests
  • Parsing a JSON Object
  • Parsing a JSON Object - Getting a Field Value
  • Parsing a JSON Object - Looping Through JSON
  • Parsing JSON Data into a ListView Widget
  • Data Parsing and Listviews - Customizing Listviews
  • Parsing Complex JSON.

 

 

  • Streams
    • Introduction to Streams
    • Types of streams
    • Working with streams
    • Rx Darts
    •  
  • Offline data storage
    • Working with shared preferences
    • Relational Database vs No SQL Database
    • Creating database connections
    • Creating tables with SQLite
    • Performing Queries in SQLite
    • Update Queries in SQLite
    • Delete Queries in SQLite
  • Working with Third Party Library and Device Features
    • Working with Camera
    • Picking Files and images from Devices
    • Working with Connectivity
    • Working with Google Maps
    • Working with PDF
  • Accessing device features (camera, sensors, location, etc.) in Flutter
  • Integrating native device functionalities using platform channels
  • Handling permissions and requesting user consent
  • Using packages for popular device features (camera, geolocation, sensors)

Working with Maps

  • Setting Up Map Screen
  • Integrating Google Maps and OpenStreetMap
  • Setting Markers
  • Accessing GPS and Getting the location.

Accessing Device Camera

  • Adding Camera Feature to the app
  • Setting up the Path provider Library to save the image.
  • Testing apps on physical devices and emulators
    •  
  • Building delightful animation
    • Animation library classes
    • Stateful widgets for animation
    • The ticker provider
    • Tweens with curves
    • Nature of animation
    • Observing the use interaction
    • Tween ranges
    • Working with widget rotation
    • Box animation
    • Animated builder
  • Extra Stuffs with Flutter
    • Social Login (Google and Facebook)
    • Firebase Notifications
    • Local Notifications
    • Firebase Crashlytics
    • Payment integration (Khalti)
  • Testing with Flutter
    • Testing with dart
    • Writing expectations
    • Mocking http requests

Flutter and Firebase Integration

expand_less

  • Introduction to Firebase platform
  • Setting up Firebase project for Flutter
  • User authentication using Firebase Authentication
  • Real-time data synchronization with Firebase Realtime Database
  • Cloud Firestore integration for NoSQL database
  • Push notifications with Firebase Cloud Messaging (FCM)

 

  • Basic git classes
    • Creating a repository on GitHub
    • Pushing local changes into the repository
    • Pulling and cloning projects from the repository
    • Resolving merge conflicts
  • App publishing and Deployment
    • Publishing the app to App store
    • Publishing the app to Google play store
  • Preparing your app for release
  • Building and generating APK and IPA files
  • Testing the app on different devices and platforms
  • App signing and generating release builds
  • Publishing apps to Google Play Store and Apple App Store
  • App store guidelines and submission process
    •  
  • Project Work

At the end of the course, a project work is handed to the students.