Flutter is an open source cross platform application development framework that enables developers to build high-quality, performant and UI-rich applications with minimal effort. Furthermore, it is one of the best cross-platform app development framework available, with a vast ecosystem of third-party packages, a robust community, with strong support and backing from Google. It is based on the Dart programming language, which is a high-performance, cross-platform, modern programming language developed by Google.

Join this course if you:

  • Want to create a truly native apps for iOS and android, Mac OSX, Windows, Linux, Fuchsia, web with possibility of extending to other frameworks.
  • Learn about the different features offered by flutter and dart.
  • Want to become a professional mobile app developer in the shortest time possible.

Career Options for Flutter Developer

  • Android and  iOS App developer
  • Desktop application developer
  • Web application developer
  • Full stack developer
  • Freelance. Independent app developer

After completing this course, you will be able to

  • Develop visually appealing, high performant, cross platform applications for android/iOS/web
  • Usign github to manage your source code and collaborate with other developers
  • implement best programming practices
  • implementing user interaction, web connectivity and other interactive features to your apps
  • Releasing apps to the play store and app store

Requirements

This course is designed for both novice and experienced developers who want to learn mobile app development. Experienced iOS or Android developers who want to create cross-platform apps with flutter could also benefit from this course. Furthermore following prerequisite is expected.

  • Basic knowledge of any programming language
  • A capable windows/linux/mac computer
  • Passion for learning

Course Summary

This course covers fundamental to intermediate (and a few advanced) concepts in flutter app development. As the course is project-based, you will learn to develop real-world applications that incorporate both theoretical and practical concepts learned throughout this course. The course will teach you most of the things that you need to know to become a full-fledged flutter developer. It will take three months for the course to complete.

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


8:00 AM-9:00 AM
9:00 AM-10:00 AM
5:00 PM- 6:00 PM

LinkedIn Twitter

View other Similar Course

..
React

React (also known as React.js or ReactJS) is a free and open-source front-end JavaScript library for building user interfaces based on UI components. It is maintained by Meta (formerly Facebook) and a community of individual developers and companies....

read more
..
Autocad

AutoCAD is a commercial computer-aided design (CAD) and drafting software application. Developed and marketed by Autodesk, AutoCAD was first released in December 1982 as a desktop app running on microcomputers with internal graphics controllers. Befo...

read more
..
Data Science

Data scientists are analytical experts who utilize their skills in both technology and social science to find trends and manage data. They use industry knowledge, contextual understanding, skepticism of existing assumptions – to uncover solutions to...

read more