Dart and Flutter: The Complete Developer's Guide
4.6 (3,150 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
16,840 students enrolled

Dart and Flutter: The Complete Developer's Guide

Everything you need to know for building mobile apps with Flutter and Dart, including RxDart and Animations!
4.6 (3,150 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
16,840 students enrolled
Created by Stephen Grider
Last updated 5/2020
English
English [Auto-generated], Indonesian [Auto-generated], 3 more
  • Italian [Auto-generated]
  • Polish [Auto-generated]
  • Romanian [Auto-generated]
Current price: $104.99 Original price: $149.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 31 hours on-demand video
  • 4 articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Build beautiful multi-screen apps with Flutter
  • Understand the different approaches for loading and maintaining data in Flutter apps
  • Create and publish open source projects using Dart
  • Learn how to build offline-enabled apps with incredibly efficient data loading
  • Comprehend the best method for reading the incredible amount of Flutter documentation
  • Store long-term data on a user's physical device using SQLite
  • Master streams and understand reactive programming to create Flutter apps
Course content
Expand all 401 lectures 31:13:06
+ A Dart Introduction
14 lectures 54:17
The Dartpad Editor
02:18
Pulling the Pieces Apart
02:44
Functions in Dart
03:36
Introduction to Types
08:36
Why Use Types?
05:36
String Interpolation
03:19
Object Oriented Programming in Dart
03:12
Creating Classes
04:33
Creating Class Instances
03:57
Constructor Functions
07:26
Review on Constructors
03:41
Completed Code
00:04
+ Staying on Target with Dart
19 lectures 01:17:53
App Overview
01:12
OOP Design Flow
03:19
Adding Fields to Classes
05:59
Associated Methods
01:22
More Initialization with Constructors
02:52
For Loops
03:08
More on Variable Initialization
04:46
Customizing Print Statements
03:35
ToString on Cards
04:30
Annotating Argument Types
04:42
Filtering Lists
03:46
Annotating Argument Types
02:39
Filtering Lists
05:49
Removing Individual Records
02:45
RemoveCard Implementation
06:08
Named Parameters
04:00
+ Flutter Environment Setup - MacOS
5 lectures 14:33
SDK Extraction
02:02
Editing the PATH Variable
07:46
XCode License
01:24
Generating Flutter Projects
01:20
+ MacOS Setup - Android
7 lectures 09:33
Android Setup on MacOS
01:57
Android Dependencies
01:17
Android Project Setup
01:13
More Android Dependencies!
01:25
Android Emulator Creation
01:51
Flutter Startup
01:27
Finished Android Setup
00:23
+ MacOS Setup - iOS
4 lectures 03:49
iOS on Mac Setup
01:06
XCode Setup
00:36
iOS Simulator Startup
01:44
App Startup
00:23
+ Flutter Setup on PC
8 lectures 14:39
Flutter Install
03:39
More Flutter Installation
02:47
Android Install
00:47
Additional Dependencies
01:03
Generating a Project
00:53
Selecting an Image
01:49
Starting the Emulator
03:18
Finishing Android Setup
00:23
+ App Building Time!
14 lectures 55:18
Code Editor Setup
00:41
What's Flutter About, Anyways?
05:53
App Overview
02:07
The Four Step Design Process
04:14
Import Statements
04:36
Creating Widgets
04:56
Displaying Content on Screen
02:30
Showing a Scaffold
06:09
Customizing the App Bar
03:57
Named Parameter Clarification
05:02
Required Parameters
03:19
Child Parameters
02:17
Displaying Icons
05:48
Adding Custom Widgets
03:49
+ State Design with Flutter Apps
6 lectures 31:25
Stateless vs Stateful Widgets
04:15
The Build Method
04:00
Local Import Statements
05:34
Quick Breather and Review
03:17
Refactoring Stateless to Stateful
05:41
More Refactoring to Stateful Widgets
08:38
+ High-Level Dart
2 lectures 12:57
Generics in Dart
06:33
Why Two Classes?
06:24
Requirements
  • Previous programming experience with Javascript, Java, Python, or similar is required .
Description

If you're tired of spinning your wheels learning Swift or Android, this is the course for you.

Animations? You will learn it.  Architectural Patterns? Included.  Navigation? Of course!

Flutter is a newcomer to the mobile development scene.  Strongly supported by Google, it is already viewed as an ideal platform for replacing native Swift and Android development.  Thanks to its amazing standard library of widgets, fast compile times, and amazing documentation, developers are falling in love with Flutter!  

This course supports MacOS and Windows - develop Android and iOS apps easily!

Flutter apps are created using the language Dart.  No problem if you're not already familiar with Dart; this course includes a lightning fast introduction to Dart at the beginning, along with hours of bonus lectures at the end of the course solely focused on Dart and its advanced features.  If you come from a background working with Java, Ruby, or Javascript, you'll feel right at home with Dart - the syntax is nearly identical, only a few core concepts need to be learned.  Dart is a strongly typed language - but don't be discouraged if you're not a fan of strong types!  I spend special time in this course to make it extra clear why developing with a strongly typed language is a breeze!

One of the greatest challenges around developing Flutter applications right now is understanding how to design and architect apps.  Flutter is still in rapid development, and the community at large is still trying to find out the best techniques.  With this in mind, special attention is paid in the course to making sure you understand the primary design patterns advocated by Google's Flutter team, including both the 'Stateful Widget' pattern and the 'BLOC' pattern.  The 'BLOC' pattern makes heavy use of Reactive Programming techniques, which you'll learn about in this course as well.  These techniques can be easily applied to other languages and frameworks as well - talk about a bonus!

Of course, no mobile app is complete without some nice looking animations.  You'll learn how to build animations using Flutter's standard library of tools, which can be easily used to make interactions that your users will love.  You should plan to complete the course with knowledge of how to reference Flutter's standard library of widgets to assemble complex animations.

Sign up today and you will:

  • Understand the Dart language and its primary features
  • Store information for long periods of time on the user's device with offline storage
  • Learn how to optimize network requests for improved performance on mobile networks
  • Delight your users with complex animations
  • Expose the functionality of your apps with multi-screen navigation
  • Steer through the incredible amount of Flutter documentation
  • Master Reactive Programming with streams by using RxDart
  • Implement advanced design patterns advocated by Google's official Flutter team
  • Handle user input with form validation
  • Learn to build open source Dart packages and distribute them to other developers

I've built the course that I would have wanted to take when I was learning Flutter. A course that explains the concepts and how they're implemented in the best order for you to learn and deeply understand them.


Who this course is for:
  • Developers looking to build quality apps with Flutter