Courses Details

Course Type : paid
Duration : 275Hrs
Category
CTEVT
Course Description

<p>Flutter is the new Cross-platform Mobile Development Framework created by Google, allowing developers to build Android and iOS Apps with one single codebase! Flutter is the BEST way to create cross-platform apps that otherwise would require two distinct mobile development teams to create. Flutter is a big deal because any developer (or anyone who wants to learn mobile development) can now build native Android and iOS apps with one codebase ONLY!</p>

Curriculum

    • Introduction to Mobile Application Development
    • History of Mobile Application Development, Understanding Flutter Versions
    • Flutter, Flutter UI and Flutter key terms, Understanding the Flutter Architecture
    • How Flutter & Dart Code Gets Compiled to Native Apps
    • Prerequisites for flutter Development
    • Overview of the Process
    • Flutter Windows Setup
    • Install Flutter SDK
    • Install Android Studio
    • Install Android Emulator
    • Windows Development Environment
    • Flutter Mac setup
    • Install Flutter SDK
    • Install Android Studio / XCode
    • Install IOS Emulator
    • Mac Development Environment
    • Flutter and Material Design
    • Flutter Alternatives
    • Flutter Framework
    • Introduction to Dart with Dartpad editor
    • Dart Basics
    • Variables and types, 
    • working with strings, 
    • initialization vs assignment, 
    • dart operators
    • Dart Type System
    • Type inference
    • how and when to use var, final, const and dynamic keywords
    • Control flow
    • if/else statements, 
    • while and for loops, 
    • break and continue keywords, 
    • switch statements, 
    • enums
    • Install Visual Studio Code and the Dart SDK, and learn to build a simple command line app to play rock, paper and scissors
    • Collections
    • lists, 
    • sets, 
    • maps, 
    • collection-if, collection-for and spread operator
    • Data Processing
    • Build a useful command line app to process CSV files in Dart, do some number crunching and generate a report
    • Null Safety
    • nullable & non nullable types, 
    • flow analysis, 
    • the assertion, if-null and conditional access operators
    • Functions Basics
    • declare and use functions, 
    • named vs positional arguments, 
    • default values and required arguments, 
    • the arrow notation, 
    • the lexical scope, 
    • inner functions
    • Functions Advanced
    • anonymous functions and closures, 
    • passing functions as arguments to other functions, 
    • function types, 
    • functional operators such as forEach, map, where and reduce, 
    • functions with generic arguments
    • Classes Basics
    • how to create classes, 
    • regular, named and const constructors, 
    • initializer lists, 
    • instance variables and methods, 
    • getters and setters, 
    • static class variables and methods, 
    • how to make things private
    • Classes Advanced
    • subclassing, 
    • super constructors, 
    • overriding methods, 
    • abstract classes, 
    • implements vs extends, 
    • the base Object class, 
    • equality & hashCode operators, 
    • toString method, 
    • generics, 
    • difference between composition & inheritance, 
    • factory constructors, 
    • copying objects with copyWith, 
    • the cascade operator
    • Simple eCommerce
    • Use classes & functions to build a simple command line app that implements the business logic for an eCommerce flow: 
    • add items to a cart, 
    • view items & checkout
    • Mixins and Extensions
    • how to use mixins to go beyond single-inheritance (and what are their drawbacks)
    • how and when to use extensions to add functionality to existing types)
    • Error Handling & Exceptions
    • assertions, 
    • built-in errors and exceptions in the Dart SDK, 
    • the try, catch, finally, throw and rethrow keywords
    • Asynchronous programming
    • one-time asynchronous operations with futures, 
    • async and await, 
    • multiple asynchronous events with Streams, 
    • async* and yield, 
    • common future and stream-based APIs
    • Weather App
    • basic intro to Rest APIs
    • how to create a weather API client with the Dart http package
    • how to parse JSON data
    • how to add robust error handling and deal gracefully with connection and API errors

     

    • What is Git, Version Control System, GitHub?
    • How to install Git and set up a repository?
    • Basic Commands: add, commit, push
    • Undoing/Reverting/Resetting code changes
    • Branches (Create, Merge, Delete)
    • What is HEAD?
    • Viewing the history of a repository
    • gitignore file
    • Understanding UI Design
    • Data Model in Flutter
    • 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
    • Animation Controller
    • 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 / Riverpod / 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
    • Quiz App
    • Personal Expense App
    • Meals App
    • Shop App
    • Great Places App (Camera, Maps, Location)
    • Chat App

Instructor

Rukesh Gwachha