Flutter & Dart - The Complete Guide [2022 Edition]

BY
Udemy

Acquire a comprehensive understanding of the fundamental concepts for developing iOS and Android applications utilizing Flutter and Dart.

Mode

Online

Fees

₹ 4099

Quick Facts

particular details
Medium of instructions English
Mode of learning Self study
Mode of Delivery Video and Text Based

Course overview

Flutter, a Google technology, enables anyone to master Dart programming and create stunning native mobile applications. Flutter is a software development kit that includes tools for translating Dart script into native scripts as well as a large library of UI elements that developers can utilize to design user interfaces for their applications. Flutter & Dart - The Complete Guide [2022 Edition] certification course was created by Maximilian Schwarzmüller - Professional Web Developer & Instructor in collaboration with Academind by Maximilian Schwarzmüller and is accessible on Udemy.

Flutter & Dart - The Complete Guide [2022 Edition] online course contains 30 hours of extensive video lessons, 21 articles, and 44 downloadable resources aimed at teaching Dart and Flutter from the ground up to develop applications for both iOS and Android platforms. With Flutter & Dart - The Complete Guide [2022 Edition] online classes, candidates will be taught to design an entire application that comprises both basic and complex functionalities such as accessing Google Maps, the gadget camera, integrating animations, and more

The highlights

  • Certificate of completion
  • Self-paced course
  • English videos with multi-language subtitles
  • 30 hours of pre-recorded video content
  • 21 articles
  • 44 downloadable resources
  • Assignments
  • 30-day money-back guarantee 
  • Unlimited access
  • Accessible on mobile devices and TV

Program offerings

  • Certificate of completion
  • Self-paced course
  • English videos with multi-language subtitles
  • Assignments
  • 30-day money-back guarantee
  • Unlimited access
  • Accessible on mobile devices and tv

Course and certificate fees

Fees information
₹ 4,099
certificate availability

Yes

certificate providing authority

Udemy

What you will learn

Animation skills

After completing the Flutter & Dart - The Complete Guide [2022 Edition] online certification, candidates will have a better understanding of the features and principles of Dart and Flutter programming to develop applications. Candidates will learn about the approaches and strategies for designing native mobile applications using Dart and Flutter for both iOS and Android platforms. Candidates will learn how to use Firebase to design user interfaces for the applications. Candidates will also gain knowledge of React navigation, state management, and authentication, as well as the ability to create animations for applications.

The syllabus

Introduction

  • Introduction
  • What is Flutter?
  • Join our Online Learning Community
  • Understanding the Flutter Architecture
  • How Flutter & Dart Code Gets Compiled To Native Apps
  • Understanding Flutter Versions
  • Flutter macOS Setup
  • macOS Development Environment
  • Flutter Windows Setup
  • Windows Development Environment
  • Flutter & Material Design
  • Flutter Alternatives
  • Course Outline
  • How To Get The Most Out Of The Course
  • Useful Resources & Links

Flutter Basics [Quiz App]

  • Module Introduction
  • Creating a New Project
  • An Overview of the Generated Files & Folders
  • More on Git (Version Control System)
  • Analyzing the Default App
  • Dart Basics
  • More Dart Basics
  • Dart Basics - Summary
  • Dart Fundamentals
  • Building an App From Scratch
  • Running the App on an Emulator
  • Class Constructors & Named Arguments
  • First Summary & Additional Syntax
  • Flutter App Basics
  • Building a Widget Tree
  • Visible (Input / Output) & Invisible (Layout / Control) Widgets
  • Adding Layout Widgets
  • Widget Basics
  • Connecting Functions & Buttons
  • Anonymous Functions
  • Updating Widget Data (Or: Using StatelessWidget Incorrectly)
  • [DART DEEP DIVE] Understanding Lists
  • Updating Correctly with Stateful Widgets
  • Stateful & Stateless Widgets
  • A Brief Look Under The Hood
  • Using Private Properties
  • Creating a New, Custom Widget
  • First Styling & Layouting Steps
  • Enums & Multiple Constructors
  • Official Docs & The Widget Catalog
  • Styling Buttons & Passing Callback Functions Around
  • Passing Callback Functions Around
  • Introducing Maps
  • Mapping Lists to Widgets
  • final vs const
  • Advanced Flutter & Dart Basics
  • Introducing "if" Statements
  • [DART DEEP DIVE] More on "if" Statements
  • [DART DEEP DIVE] The "null" Value & Null Safety
  • Outputting Widgets Conditionally
  • Splitting the App Into Widgets
  • Calculating a Total Score
  • Getters & "else-if"
  • Resetting the Quiz
  • "Old" Button Widgets vs "New" Button Widgets
  • Time to Practice: Flutter Basics
  • Wrap Up
  • Module Resources

Running Apps on Different Devices & Debugging Apps

  • Module Introduction
  • Running the App on a Real Android Device
  • Running the App on an iOS Emulator
  • Running the App on a Real iOS Device
  • Working with the Emulators / Using the Emulators
  • Understanding Error Messages & Fixing Errors
  • Using the Debugger
  • Getting Started with the Dart DevTools
  • Understanding the Repaint Rainbow
  • Wrapping up the Dart DevTools
  • Useful Resources & Links

Widgets, Styling, Adding Logic - Building a Real App [Personal Expennses App]

  • Module Introduction
  • An Overview of the Core Flutter Widgets
  • Planning the App
  • Combining Widgets
  • Understanding Column Alignment
  • Columns & Rows
  • Not a Widget: Adding a Transaction Model & Transaction Data
  • Mapping Data Into Widgets
  • Building a Custom List Item
  • Styling a Container
  • Styling Text
  • More Styling!
  • Styling Time!
  • Containers vs Columns vs Rows
  • Using String Interpolation
  • Installing External Packages & Formatting Dates
  • DateFormat Patterns
  • Adding Text Input Widgets (TextField)
  • Fetching User Input
  • Splitting the App Into Widgets
  • Connecting Widgets & Managing Data / State
  • Adding User Transactions to the List
  • Making the List Scrollable!
  • Working with ListViews
  • Lists, Scrolling & Text Input
  • Further Input & Output Styling and Configuration
  • Adding AppBar Buttons & Floating Action Buttons
  • Showing a Modal Bottom Sheet
  • Improving & Styling the Modal Bottom Sheet
  • Configuring & Using Themes
  • Custom Fonts & Working with Text Themes
  • Updated Text Theme Properties
  • Theming
  • Adding Images to the App
  • Planning the Chart Widget
  • Looping Through Lists
  • More on "for" Loops
  • Deriving Recent Transactions
  • Creating Bars for our Chart
  • Populating the Chart with Values
  • Finishing the Chart Bars
  • Flexible & Expanded: Deep Dive
  • Adding a ListTile Widget
  • Improving the Overall Chart
  • Widgets & Configuring Widgets - Summary / Overview
  • Getting Started with Date Selection
  • Showing a DatePicker
  • Adding Transactions with a Date
  • Deleting Transactions & Using IconButtons
  • Final Polishing!
  • Wrap Up
  • Useful Resources & Links

Responsive & Adaptive User Interfaces and Apps

  • Module Introduction
  • What does "Responsive" and "Adaptive" Mean?
  • Examples: Where we could improve the App!
  • Calculating Sizes Dynamically
  • Working with the "textScaleFactor"
  • Using the LayoutBuilder Widget
  • Responsiveness
  • Controlling the Device Orientation
  • Rendering Alternative Landscape Content - 1
  • Finishing Landscape Mode
  • Showing Different Content Based on Device Orientation
  • Respecting the Softkeyboard Insets
  • Using the Device Size in Conditions
  • Managing the MediaQuery Object
  • Checking the Device Platform
  • Using Cupertino (iOS) Widgets
  • Using the SafeArea
  • More Cupertino Styles
  • Using Cupertino Buttons
  • Creating Custom Adaptive Widgets
  • Adaptive Widgets
  • Wrap Up
  • Useful Resources & Links

Widget & Flutter Internals - Deep Dive

  • Module Introduction
  • The Problem At Hand
  • Widget Tree & Element Tree - What, Why, and How?
  • How Flutter Rebuilds & Repaints the Screen
  • How Flutter Executes build()
  • Using "const" Widgets & Constructors
  • Widgets, Elements, build()
  • Writing Good Code
  • Extracting Widgets
  • Using Builder Methods
  • Time to Practice: Builder Methods
  • Understanding the Widget Lifecycle
  • Calling super.initState() etc.
  • Understanding the App Lifecycle
  • Understanding Context
  • A Problem with Lists & Stateful Widgets
  • Understanding the Problem Root
  • Using Keys
  • Keys, Lists, Stateful Widgets
  • Wrap Up
  • Useful Resources & Links

Navigation & Multiple Screens [Meals App]

  • Module Introduction
  • Planning the App
  • Starting With The App - Adding Base Data
  • Creating a Grid & Working with Linear Gradients
  • Registering a Screen as the Main Screen
  • Styling & Theming
  • Navigating to a New Page
  • Passing Data via the Constructor
  • Using Named Routes & Passing Data With Named Routes
  • Screens & Navigation
  • Diving Deeper into Named Routes
  • Adding a Meal Model & Data
  • Selecting Meals for a Chosen Category
  • Displaying Recipe Items & Using Network Images
  • Finishing the Meal List Item
  • Navigating to the Meal Detail Page
  • onGenerateRoute & onUnknownRoute
  • More Navigation!
  • Finishing the Meal Detail Page
  • Adding a TabBar to the Appbar
  • Adding a Bottom TabBar
  • Adding a Custom Drawer
  • Adding Links to the Drawer
  • Tabs & Drawers!
  • Replacing Pages (Instead of Pushing)
  • Popping Pages & Passing Data Back
  • Replacing, Popping & Data
  • Adding Filter Switches
  • Adding Filtering Logic
  • Adding a "Mark as Favorite" Feature
  • A Problem!
  • Wrap Up
  • Useful Resources & Links

State Management [Shop App]

  • Module Introduction
  • Planning the App
  • Defining a Data Model
  • Working on the "Products" Grid & Item Widgets
  • Styling & Theming the App
  • Adding Navigation to the App
  • Why State Management? And what is "State" and "State Management"?
  • Understanding the "Provider" Package & Approach
  • Working with Providers & Listeners
  • [DART DEEP DIVE] Inheritance ("extends") vs Mixins ("with")
  • Providing non-Objects
  • Listening in Different Places & Ways
  • State, State Management & The Provider Package/ Approach
  • Using Nested Models & Providers
  • Exploring Alternative Provider Syntaxes
  • Using "Consumer" instead of "Provider.of"
  • Local State vs App-wide State
  • Adding Shopping Cart Data
  • More on State Management & The Provider Package
  • Working with Multiple Providers
  • Connecting the Cart Provider
  • Working on the Shopping Cart & Displaying a Total
  • Displaying a List of Cart Items
  • Making Cart Items Dismissible
  • Adding Product Detail Data
  • Providing an Orders Object
  • Adding Orders
  • Adding an Orders Screen
  • Using a Side Drawer
  • Making Orders Expandable & Stateful Widgets vs Providers
  • Wrap Up
  • Useful Resources & Links

Working with User Input & Forms [Shop App]

  • Module Introduction
  • Snack bars & Undoing "Add to Cart" Actions
  • Using ScaffoldMessenger for Snack bars
  • Showing Alert Dialogs
  • Adding a "Manage Products" Page
  • "Edit Product" Screen & A Problem
  • Using Forms & Working with Form Inputs
  • ListView or Column
  • Managing Form Input Focus
  • Multiline Inputs & Disposing Objects
  • Adding an Image Preview
  • Image Input & Image Preview
  • Submitting Forms
  • Validating User Input
  • Adding Validation to All Inputs
  • [OPTIONAL] Working with Regular Expressions
  • Saving New Products
  • Time to Update Products!
  • Allowing Users to Delete Products
  • Wrap Up
  • Useful Resources & Links

Sending Http Requests [Shop App]

  • Module Introduction
  • On-Device vs Web Storage
  • How to Connect Flutter to a Database
  • Preparing Our Backend
  • How To Send Http Requests
  • Using the Http Package
  • Sending POST Requests
  • Working with Futures in Dart
  • [DART DEEP DIVE] Futures & Async Code
  • Http Requests & Futures
  • Showing a Loading Indicator
  • Handling Errors Gracefully
  • Working with "async" & "await"
  • Fetching Data, initState & "of(context)"
  • How to Transform Fetched Data
  • Implementing Pull-to-Refresh
  • Updating Data via PATCH Requests
  • Utilizing Optimistic Updating
  • Creating Custom Exceptions & More Error Handling
  • A Challenge For You!
  • Updating the "Favorite" Status Optimistically
  • Storing Orders in the Web
  • Fetching Orders & Fixing an Issue
  • Using the "FutureBuilder" Widget & Improving the Code
  • Wrap Up
  • Useful Resources & Links

Adding User Authentication [Shop App]

  • Module Introduction
  • How Authentication Works
  • Prepare Backend
  • Adding the Auth Screen
  • Signup Requests & URLs
  • Adding User Signup
  • Allowing Users to Log In
  • Handling Authentication Errors
  • Managing the Auth Token Locally (in the App)
  • Using the "ProxyProvider" and Attaching the Token to Outgoing Http Requests
  • Adding the Token to All Requests
  • Connecting the "Favorite" Status to Users
  • Attaching Products to Users & Filtering By Creator
  • Attaching Orders to Users
  • Adding a Logout Functionality
  • Automatically Logging Users Out (After Some Time)
  • Automatically Logging Users In
  • Wrap Up
  • Useful Resources & Links

Adding Animations [Shop App]

  • Module Introduction
  • Animations From Scratch (Completely Manually Controlled)
  • Using the "AnimatedBuilder" Widget
  • Working with the "AnimatedContainer"
  • More Built-in Animation & Transition Widgets
  • Fading Loaded Images In (And Showing a Placeholder)
  • Adding a "Hero" Transition
  • Working with Slivers
  • Practice: Animating Order Boxes
  • A Fix for the Latest Version of Flutter
  • Implementing Custom Route Transitions
  • Wrap Up
  • Useful Resources & Links

Using Native Device Features (Camera, Maps, Location, ...) [Great Places App]

  • Module Introduction
  • Planning the App
  • PlaceList & Place Provider Setup
  • Adding the "Add Place" Screen & An Image Input
  • Using Image Picker & The Device Camera
  • Storing the Image on the Filesystem (on the Device)
  • Managing Data & Images via the Provider Package
  • Handling Errors
  • Testing on Real Devices
  • Preparing SQLite
  • Storing & Fetching Data with SQLite
  • Adding a Location Input & The "location" Package
  • Fetching the User Coordinates
  • Displaying a Static Map Snapshot
  • Rendering a Dynamic Map (via Google Maps)
  • Allowing Users to Pick a Location on the Map
  • Storing the Location in SQLite
  • Adding a "Place Detail" Screen & Opening the Map in "readonly" Mode
  • Wrap Up
  • Useful Resources & Links

Firebase, Image Upload, Push Notification - Building a Chat App

  • Module Introduction
  • What is Firebase?
  • Creating a New App
  • Getting Started with Firebase
  • Important: Flutter Firebase Versions
  • Getting Started with Flutter & the Firebase SDK
  • Adding "GoogleServices-Info.plist" correctly to iOS
  • Rendering Stream Data with StreamBuilder
  • Adding Data
  • A Basic Authentication Screen
  • Adding an App Theme
  • Creating an Authentication Form
  • Connecting Auth Form & Auth Screen
  • Adding the firebase_auth Package
  • Implementing Authentication
  • Storing Extra User Data
  • Finishing Authentication & Logout
  • Adding Firebase Security Rules
  • Listening to Chat Messages
  • Sending & Ordering Chat Messages
  • Creating a Basic Chat Bubble Widget
  • Improving the Chat Bubbles
  • Testing on Multiple Devices
  • Displaying User Names
  • ImagePicker: Latest Version
  • Adding an Image Picker
  • Preparing File Upload & Validating Images
  • Uploading Images
  • Improving Image Upload
  • Running on a Real iOS Device
  • Displaying User Images
  • How Push Notifications Work
  • Adding the firebase_messaging Package
  • An Introduction to Firebase Cloud Messaging
  • Android & Push Notifications
  • iOS & Push Notifications
  • Handling Push Notifications
  • Getting Started with Firebase Cloud Function
  • MUST-READ: Firebase Cloud Functions & Billing
  • Setting a Firestore Trigger
  • Sending Automated Push Notifications
  • Polishing & Wrap Up
  • Updating to the latest Firebase Package Versions
  • Module Resources

Running Native Swift, ObjectiveC, Java or Kotlin Code

  • Module Introduction
  • Using a Proper Project Setup
  • Sending a Method Call from Flutter
  • Running Android Code
  • Running iOS Code
  • Wrap Up
  • Useful Resources & Links

Publishing to the App Stores

  • Module Introduction
  • Preparing the Code
  • Preparing the App Configuration
  • Preparing Third-Party Services
  • Adding Icons & Splash Screens
  • Publishing Android Apps
  • Publishing iOS Apps
  • Useful Resources & Links

Roundup & Next Steps

  • You did it!
  • Your Next Steps (To Become an Awesome Developer!)
  • How to Plan & Develop Successful Apps

Flutter 2 Update

  • Flutter 2 - What's New? What's The Impact On This Course?
  • "Old" vs "New" Button Widgets

Roundup

  • Bonus: More Content!

Instructors

Mr Maximilian Schwarzmuller

Mr Maximilian Schwarzmuller
Instructor
Udemy

Other Masters

Trending Courses

Popular Courses

Popular Platforms

Learn more about the Courses

Download the Careers360 App on your Android phone

Regular exam updates, QnA, Predictors, College Applications & E-books now on your Mobile

Careers360 App
150M+ Students
30,000+ Colleges
500+ Exams
1500+ E-books