Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS AWS Certified Developer - Associate CompTIA Security+
Photoshop Graphic Design Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
2021-01-13 23:25:37
30-Day Money-Back Guarantee

This course includes:

  • 41 hours on-demand video
  • 38 articles
  • 303 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
Development Mobile Development Dart Programming Language

Flutter & Dart - The Complete Guide [2021 Edition]

A Complete Guide to the Flutter SDK & Flutter Framework for building native iOS and Android apps
Bestseller
Rating: 4.6 out of 54.6 (31,161 ratings)
116,083 students
Created by Academind by Maximilian Schwarzmüller, Maximilian Schwarzmüller
Last updated 1/2021
English
English, French [Auto], 
30-Day Money-Back Guarantee

What you'll learn

  • Learn Flutter and Dart from the ground up, step-by-step
  • Build engaging native mobile apps for both Android and iOS
  • Use features like Google Maps, the device camera, authentication and much more!
  • Learn how to upload images and how to send manual and automated push notifications
  • Learn all the basics without stopping after them: Dive deeply into Flutter & Dart and become an advanced developer
Curated for the Udemy for Business collection

Course content

18 sections • 369 lectures • 41h 16m total length

  • Preview01:48
  • What is Flutter?
    Preview05:54
  • Join our Online Learning Community
    00:21
  • Preview04:47
  • Preview03:12
  • Preview02:49
  • Flutter macOS Setup
    Preview19:35
  • Preview04:08
  • Android Licenses & XMLSchema Error
    00:41
  • Flutter Windows Setup
    Preview31:46
  • Preview03:45
  • Preview01:15
  • Preview06:06
  • Preview06:40
  • Preview02:40
  • Useful Resources & Links
    00:06

  • Module Introduction
    02:25
  • Creating a New Project
    12:15
  • An Overview of the Generated Files & Folders
    08:20
  • More on Git (Version Control System)
    00:26
  • Analyzing the Default App
    05:32
  • Dart Basics
    17:17
  • More Dart Basics
    13:06
  • Dart Basics - Summary
    04:57
  • Dart Fundamentals
    7 questions
  • Building an App From Scratch
    11:02
  • Running the App on an Emulator
    03:25
  • Class Constructors & Named Arguments
    08:29
  • First Summary & Additional Syntax
    08:10
  • Flutter App Basics
    3 questions
  • Building a Widget Tree
    07:40
  • Visible (Input / Output) & Invisible (Layout / Control) Widgets
    03:13
  • Adding Layout Widgets
    06:52
  • Widget Basics
    6 questions
  • Connecting Functions & Buttons
    07:30
  • Anonymous Functions
    03:20
  • Updating Widget Data (Or: Using StatelessWidget Incorrectly)
    06:36
  • [DART DEEP DIVE] Understanding Lists
    01:30
  • Updating Correctly with Stateful Widgets
    11:58
  • Stateful & Stateless Widgets
    3 questions
  • A Brief Look Under The Hood
    02:27
  • Using Private Properties
    05:16
  • Creating a New, Custom Widget
    11:50
  • First Styling & Layouting Steps
    08:01
  • Enums & Multiple Constructors
    04:06
  • Official Docs & The Widget Catalog
    02:39
  • Passing Callback Functions Around
    10:38
  • Introducing Maps
    05:52
  • Mapping Lists to Widgets
    10:24
  • final vs const
    10:50
  • Advanced Flutter & Dart Basics
    6 questions
  • Introducing "if" Statements
    06:51
  • [DART DEEP DIVE] More on "if" Statements
    11:15
  • [DART DEEP DIVE] The "null" Value
    02:03
  • Outputting Widgets Conditionally
    02:20
  • Splitting the App Into Widgets
    09:57
  • Calculating a Total Score
    07:46
  • Getters & "else-if"
    06:34
  • Resetting the Quiz
    04:53
  • Time to Practice: Flutter Basics
    1 question
  • Wrap Up
    01:53
  • Module Resources
    00:09

  • Module Introduction
    02:00
  • Running the App on a Real Android Device
    03:56
  • Running the App on an iOS Emulator
    05:54
  • Running the App on a Real iOS Device
    01:52
  • Working with the Emulators / Using the Emulators
    02:25
  • Understanding Error Messages & Fixing Errors
    05:27
  • Using the Debugger
    06:21
  • Getting Started with the Dart DevTools
    04:54
  • Understanding the Repaint Rainbow
    03:23
  • Wrapping up the Dart DevTools
    01:34
  • Useful Resources & Links
    00:08

  • Module Introduction
    03:19
  • An Overview of the Core Flutter Widgets
    09:42
  • Planning the App
    02:43
  • Combining Widgets
    09:18
  • Understanding Column Alignment
    06:11
  • Columns & Rows
    3 questions
  • Not a Widget: Adding a Transaction Model & Transaction Data
    08:28
  • Mapping Data Into Widgets
    03:39
  • Building a Custom List Item
    05:26
  • Styling a Container
    05:12
  • Styling Text
    02:46
  • More Styling!
    01:55
  • Styling Time!
    3 questions
  • Containers vs Columns vs Rows
    03:38
  • Using String Interpolation
    05:21
  • Installing External Packages & Formatting Dates
    07:29
  • DateFormat Patterns
    00:33
  • Adding Text Input Widgets (TextField)
    09:41
  • Fetching User Input
    09:29
  • Splitting the App Into Widgets
    12:44
  • Connecting Widgets & Managing Data / State
    06:33
  • Adding User Transactions to the List
    03:58
  • Making the List Scrollable!
    06:11
  • Working with ListViews
    12:02
  • Lists, Scrolling & Text Input
    3 questions
  • Further Input & Output Styling and Configuration
    08:28
  • Adding AppBar Buttons & Floating Action Buttons
    04:32
  • Showing a Modal Bottom Sheet
    09:32
  • Improving & Styling the Modal Bottom Sheet
    06:30
  • Configuring & Using Themes
    08:42
  • Custom Fonts & Working with Text Themes
    11:07
  • Theming
    3 questions
  • Adding Images to the App
    07:57
  • Planning the Chart Widget
    04:22
  • Looping Through Lists
    13:47
  • More on "for" Loops
    00:28
  • Deriving Recent Transactions
    07:24
  • Creating Bars for our Chart
    10:59
  • Populating the Chart with Values
    06:19
  • Finishing the Chart Bars
    05:25
  • Flexible & Expanded: Deep Dive
    10:23
  • Adding a ListTile Widget
    05:29
  • Improving the Overall Chart
    03:08
  • Widgets & Configuring Widgets - Summary / Overview
    05:07
  • Getting Started with Date Selection
    05:19
  • Showing a DatePicker
    11:13
  • Adding Transactions with a Date
    03:07
  • Deleting Transactions & Using IconButtons
    07:02
  • Final Polishing!
    05:34
  • Wrap Up
    03:54
  • Useful Resources & Links
    00:11

  • Module Introduction
    01:37
  • What does "Responsive" and "Adaptive" Mean?
    05:55
  • Examples: Where we could improve the App!
    03:04
  • Calculating Sizes Dynamically
    09:13
  • Working with the "textScaleFactor"
    00:38
  • Using the LayoutBuilder Widget
    07:44
  • Responsiveness
    3 questions
  • Controlling the Device Orientation
    04:19
  • Rendering Alternative Landscape Content - 1
    04:42
  • Finishing Landscape Mode
    02:58
  • Showing Different Content Based on Device Orientation
    05:33
  • Respecting the Softkeyboard Insets
    03:43
  • Using the Device Size in Conditions
    04:10
  • Managing the MediaQuery Object
    02:06
  • Checking the Device Platform
    05:36
  • Using Cupertino (iOS) Widgets
    09:05
  • Using the SafeArea
    01:43
  • More Cupertino Styles
    03:09
  • Using Cupertino Buttons
    03:11
  • Creating Custom Adaptive Widgets
    05:04
  • Adaptive Widgets
    3 questions
  • Wrap Up
    01:43
  • Useful Resources & Links
    00:09

  • Module Introduction
    02:32
  • The Problem At Hand
    03:13
  • Widget Tree & Element Tree - What, Why and How?
    10:45
  • How Flutter Rebuilds & Repaints the Screen
    08:48
  • How Flutter Executes build()
    09:18
  • Using "const" Widgets & Constructors
    11:16
  • Widgets, Elements, build()
    4 questions
  • Writing Good Code
    03:57
  • Extracting Widgets
    06:07
  • Using Builder Methods
    10:21
  • Time to Practice: Builder Methods
    1 question
  • Understanding the Widget Lifecycle
    12:55
  • Calling super.initState() etc.
    00:48
  • Understanding the App Lifecycle
    09:25
  • Understanding Context
    06:46
  • A Problem with Lists & Stateful Widgets
    05:34
  • Understanding the Problem Root
    05:09
  • Using Keys
    11:15
  • Keys, Lists, Stateful Widgets
    3 questions
  • Wrap Up
    01:41
  • Useful Resources & Links
    00:13

  • Module Introduction
    02:23
  • Planning the App
    04:45
  • Starting With The App - Adding Base Data
    11:18
  • Creating a Grid & Working with Linear Gradients
    07:49
  • Registering a Screen as the Main Screen
    03:10
  • Styling & Theming
    07:04
  • Navigating to a New Page
    10:10
  • Passing Data via the Constructor
    02:38
  • Using Named Routes & Passing Data With Named Routes
    06:42
  • Screens & Navigation
    5 questions
  • Diving Deeper into Named Routes
    02:46
  • Adding a Meal Model & Data
    12:44
  • Selecting Meals for a Chosen Category
    04:56
  • Displaying Recipe Items & Using Network Images
    14:59
  • Finishing the Meal List Item
    15:21
  • Navigating to the Meal Detail Page
    07:17
  • onGenerateRoute & onUnknownRoute
    05:27
  • More Navigation!
    2 questions
  • Finishing the Meal Detail Page
    17:34
  • Adding a TabBar to the Appbar
    10:26
  • Adding a Bottom TabBar
    13:12
  • Adding a Custom Drawer
    12:37
  • Adding Links to the Drawer
    04:03
  • Tabs & Drawers!
    2 questions
  • Replacing Pages (Instead of Pushing)
    04:21
  • Popping Pages & Passing Data Back
    17:06
  • Replacing, Popping & Data
    3 questions
  • Adding Filter Switches
    08:31
  • Adding Filtering Logic
    16:19
  • Adding a "Mark as Favorite" Feature
    19:57
  • A Problem!
    02:40
  • Wrap Up
    02:55
  • Useful Resources & Links
    00:08

  • Module Introduction
    02:13
  • Planning the App
    06:55
  • Defining a Data Model
    06:32
  • Working on the "Products" Grid & Item Widgets
    16:24
  • Styling & Theming the App
    05:14
  • Adding Navigation to the App
    10:30
  • Why State Management? And what is "State" and "State Management"?
    06:29
  • Understanding the "Provider" Package & Approach
    02:55
  • Working with Providers & Listeners
    21:09
  • [DART DEEP DIVE] Inheritance ("extends") vs Mixins ("with")
    06:23
  • Providing non-Objects
    00:52
  • Listening in Different Places & Ways
    05:58
  • State, State Management & The Provider Package/ Approach
    3 questions
  • Using Nested Models & Providers
    14:03
  • Exploring Alternative Provider Syntaxes
    06:55
  • Using "Consumer" instead of "Provider.of"
    07:25
  • Local State vs App-wide State
    15:40
  • Adding Shopping Cart Data
    08:39
  • More on State Management & The Provider Package
    3 questions
  • Working with Multiple Providers
    03:41
  • Connecting the Cart Provider
    11:31
  • Working on the Shopping Cart & Displaying a Total
    11:37
  • Displaying a List of Cart Items
    11:17
  • Making Cart Items Dismissible
    08:47
  • Adding Product Detail Data
    04:49
  • Providing an Orders Object
    07:44
  • Adding Orders
    02:47
  • Adding an Orders Screen
    08:11
  • Using a Side Drawer
    05:45
  • Making Orders Expandable & Stateful Widgets vs Providers
    10:29
  • Wrap Up
    03:29
  • Useful Resources & Links
    00:08

  • Module Introduction
    03:02
  • Snackbars & Undoing "Add to Cart" Actions
    10:30
  • Showing Alert Dialogs
    07:12
  • Adding a "Manage Products" Page
    14:15
  • "Edit Product" Screen & A Problem
    05:06
  • Using Forms & Working with Form Inputs
    07:59
  • ListView or Column
    00:49
  • Managing Form Input Focus
    04:35
  • Multiline Inputs & Disposing Objects
    04:11
  • Adding an Image Preview
    00:39
  • Image Input & Image Preview
    13:15
  • Submitting Forms
    12:01
  • Validating User Input
    04:14
  • Adding Validation to All Inputs
    09:50
  • [OPTIONAL] Working with Regular Expressions
    01:08
  • Saving New Products
    03:52
  • Time to Update Products!
    16:19
  • Allowing Users to Delete Products
    03:39
  • Wrap Up
    00:53
  • Useful Resources & Links
    00:07

  • Module Introduction
    02:05
  • On-Device vs Web Storage
    04:08
  • How to Connect Flutter to a Database
    03:36
  • Preparing Our Backend
    04:31
  • How To Send Http Requests
    05:56
  • Sending POST Requests
    10:55
  • Working with Futures in Dart
    07:35
  • [DART DEEP DIVE] Futures & Async Code
    09:27
  • Http Requests & Futures
    5 questions
  • Showing a Loading Indicator
    06:59
  • Handling Errors Gracefully
    12:11
  • Working with "async" & "await"
    09:52
  • Fetching Data, initState & "of(context)"
    08:27
  • How to Transform Fetched Data
    07:38
  • Implementing Pull-to-Refresh
    04:56
  • Updating Data via PATCH Requests
    06:35
  • Utilizing Optimistic Updating
    08:07
  • Creating Custom Exceptions & More Error Handling
    09:05
  • A Challenge For You!
    01:48
  • Updating the "Favorite" Status Optimistically
    06:38
  • Storing Orders in the Web
    11:29
  • Fetching Orders & Fixing an Issue
    12:21
  • Using the "FutureBuilder" Widget & Improving the Code
    13:47
  • Wrap Up
    01:54
  • Useful Resources & Links
    00:08

Requirements

  • Basic programming language will help but is not a must-have
  • You can use either Windows, macOS or Linux for Android app development - iOS apps can only be built on macOS though
  • NO prior iOS or Android development experience is required
  • NO prior Flutter or Dart experience is required - this course starts at zero!

Description

The entire course was completely re-recorded and updated - it's totally up-to-date with the latest version of Flutter!

With the latest update, I also added Push Notifications and Image Upload!

---

Join the most comprehensive & bestselling Flutter course and learn how to build amazing iOS and Android apps!

You don't need to learn Android/ Java and iOS/ Swift to build real native mobile apps!

Flutter - a framework developed by Google - allows you to learn one language (Dart) and build beautiful native mobile apps in no time. Flutter is a SDK providing the tooling to compile Dart code into native code and it also gives you a rich set of pre-built and pre-styled UI elements (so called widgets) which you can use to compose your user interfaces.

Flutter is extremely trending and gets used for major Google apps like their Adwords app - it's now marked as "ready for production", hence now is the time to jump in and learn it!

This course will teach Flutter & Dart from scratch, NO prior knowledge of either of the two is required! And you certainly don't need any Android or iOS development experience since the whole idea behind Flutter is to only learn one language.

You'll learn Flutter not only in theory but we'll build a complete, realistic app throughout this course. This app will feature both all the core basics as well as advanced features like using Google Maps, the device camera, adding animations and more!

With Flutter, you'll be able to write code only once and ship your apps both to the Apple AppStore and Google Play.

Use Google's Material Design to build beautiful, yet fully customizable, apps in no time with almost zero effort. You can use the rich widget suite Flutter provides to add common UI elements like buttons, switches, forms, toolbars, lists and more - or you simply build your own widgets - Flutter makes that a breeze, too.

Here's what's included in the course:

  • Detailed setup instructions for both macOS and Windows

  • A thorough introduction to Flutter, Dart and the concept behind widgets

  • An overview of the built-in widgets and how you may add your own ones

  • Debugging tipps & tricks

  • Page navigation with tabs, side drawers and stack-based navigation

  • State management solutions

  • Handling and validating user input

  • Connecting your Flutter app to backend servers by sending Http requests

  • User authentication

  • Adding Google Maps

  • Using native device features like the camera

  • Adding beautiful animations & page transitions

  • Image Upload

  • Push Notifications - manual approach and automated

  • How to publish your app to the app stores

  • And more!

This course is for you if ...

  • You're interested in building real native mobile apps for the two most popular mobile platforms - iOS and Android

  • You want to explore the full set of features Flutter offers

  • Don't want to spend hours learning two completely different languages

Course prerequisites:

  • Basic programming language knowledge will help a lot but is not a hard requirement

  • You DON'T need to know Flutter or Dart

  • You DON'T need to know iOS (Swift/ObjectiveC) or Android (Java)

Who this course is for:

  • Beginner and experienced developers who are interested in diving into mobile app development using one language for both platforms
  • Experienced iOS or Android developers who want to build cross-platform (iOS + Android) apps with one single programming language

Featured review

John Martens
John Martens
51 courses
6 reviews
Rating: 5.0 out of 56 months ago
I have taken a few different courses on Flutter now, but I have to say that Max has gone above and beyond. His recent updates have made it an excellent resource and the best course overall for learning Flutter. Be prepared to be challenged, but if you work through the course you will be quite knowledgable by the time you are done.

Instructors

Academind by Maximilian Schwarzmüller
Online Education
Academind by Maximilian Schwarzmüller
  • 4.6 Instructor Rating
  • 302,018 Reviews
  • 1,286,159 Students
  • 25 Courses

Bundling the courses and know how of successful instructors, Academind strives to deliver high quality online education. 

Online Education, Real-Life Success - that's what Academind stands for. Learn topics like web development, data analyses and more in a fun and engaging way.

Currently, you can find courses published by Maximilian Schwarzmüller and Manuel Lorenz, more instructors to come!

Keep learning!

Maximilian Schwarzmüller
Professional Web Developer and Instructor
Maximilian Schwarzmüller
  • 4.6 Instructor Rating
  • 550,447 Reviews
  • 1,304,556 Students
  • 35 Courses

Experience as (Web) Developer

Starting out at the age of 13 I never stopped learning new programming skills and languages. Early I started creating websites for friends and just for fun as well. Besides web development I also explored Python and other non-web-only languages. This passion has since lasted and lead to my decision of working as a freelance web developer and consultant. The success and fun I have in this job is immense and really keeps that passion burningly alive.

Starting web development on the backend (PHP with Laravel, NodeJS, Python) I also became more and more of a frontend developer using modern frameworks like React, Angular or VueJS 2 in a lot of projects. I love both worlds nowadays!

As a self-taught developer I had the chance to broaden my horizon by studying Business Administration where I hold a Master's degree. That enabled me to work in a major strategy consultancy as well as a bank. While learning, that I enjoy development more than these fields, the time in this sector greatly improved my overall experience and skills.

Experience as Instructor

As a self-taught professional I really know the hard parts and the difficult topics when learning new or improving on already-known languages. This background and experience enables me to focus on the most relevant key concepts and topics. My track record of many 5-star rated courses, more than 700,000 students on Udemy as well as a successful YouTube channel is the best proof for that.

Whether working as development instructor or teaching Business Administration I always received great feedback. The most rewarding experience is to see how people find new, better jobs, build awesome web applications, acquire amazing projects or simply enjoy their hobby with the help of my content.

Together with Manuel Lorenz, I founded Academind to offer the best possible learning experience to our more than 800,000 students.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.