Flutter & Dart - The Complete Guide [2022 Edition]
- Description
- Curriculum
- FAQ
- Reviews
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)
-
1Introduction
-
2What is Flutter?
What is Flutter? What is this technology about and why is it awesome? Learn how Flutter helps you build native iOS and Android apps in this lecture!
-
3Join our Online Learning Community
Learning alone is absolutely fine but finding learning partners might be a nice thing, too. Our learning community is a great place to learn and grow together - of course it's 100% free and optional!
-
4Understanding the Flutter Architecture
We know what Flutter is, now let's take a look behind the scenes. Because it's pitch sounds a bit magic (create native cross-platform apps) - how does it work under the hood?
-
5How Flutter & Dart Code Gets Compiled To Native Apps
Let's continue our look under Flutter's hood. In this lecture, you'll learn how the Flutter & Dart code you write gets compiled to native/ machine code.
-
6Understanding Flutter Versions
Flutter is under active development, hence it's important to understand its versioning scheme and how it's kept up-to-date.
-
7Flutter macOS Setup
Let's get started with Flutter! Time to install it - in this lecture, we'll walk through the installation on macOS.
-
8macOS Development Environment
With Flutter installed on macOS, it's now time to set up the development environment, so that we can get productive as quickly as possible.
-
9Flutter Windows Setup
Let's install Flutter on Windows so that we can build amazing apps there - in this lecture, I'll walk you through all the installation steps.
-
10Windows Development Environment
With Flutter installed, let's explore how to set up a development environment that allows us to write code efficiently.
-
11Flutter & Material Design
Flutter uses Google's Material Design system - in this lecture, we'll explore what this means and what this is about.
-
12Flutter Alternatives
There actually are other technologies, which have a similar pitch as Flutter has it (build cross-platform apps with one single language or codebase). In this lecture, I'll explore some alternatives and compare Flutter to them.
-
13Course Outline
We know what Flutter is about - in this lecture you'll now find out what this course has to offer and how the content is structured.
-
14How To Get The Most Out Of The Course
To me, it's super-important that you're getting a lot out of this course - so here are some best practices on how to take the course and use the course materials.
-
15Useful Resources & Links
-
16Module Introduction
-
17Creating a New Project
-
18An Overview of the Generated Files & Folders
-
19More on Git (Version Control System)
-
20Analyzing the Default App
-
21Dart Basics
-
22More Dart Basics
-
23Dart Basics - Summary
-
24Dart Fundamentals
Time to check your knowledge of the Dart basics!
-
25Building an App From Scratch
-
26Running the App on an Emulator
-
27Class Constructors & Named Arguments
-
28First Summary & Additional Syntax
-
29Flutter App Basics
Is everything clear thus far? Time to check it!
-
30Building a Widget Tree
-
31Visible (Input / Output) & Invisible (Layout / Control) Widgets
-
32Adding Layout Widgets
-
33Widget Basics
Widgets are THE core building block of Flutter apps. Is everything clear about them?
-
34Connecting Functions & Buttons
-
35Anonymous Functions
-
36Updating Widget Data (Or: Using StatelessWidget Incorrectly)
-
37[DART DEEP DIVE] Understanding Lists
-
38Updating Correctly with Stateful Widgets
-
39Stateful & Stateless Widgets
When do you use which type of widget - and why? Time to confirm your knowledge!
-
40A Brief Look Under The Hood
-
41Using Private Properties
-
42Creating a New, Custom Widget
-
43First Styling & Layouting Steps
-
44Enums & Multiple Constructors
-
45Official Docs & The Widget Catalog
-
46Styling Buttons & Passing Callback Functions Around
-
47Passing Callback Functions Around
-
48Introducing Maps
-
49Mapping Lists to Widgets
-
50final vs const
-
51Advanced Flutter & Dart Basics
"Advanced Basics"? Yeah... kind of. Time to check whether you're still on board!
-
52Introducing "if" Statements
-
53[DART DEEP DIVE] More on "if" Statements
-
54[DART DEEP DIVE] The "null" Value & Null Safety
-
55Outputting Widgets Conditionally
-
56Splitting the App Into Widgets
-
57Calculating a Total Score
-
58Getters & "else-if"
-
59Resetting the Quiz
-
60"Old" Button Widgets vs "New" Button Widgets
-
61Time to Practice: Flutter Basics
-
62Wrap Up
-
63Module Resources
-
64Module Introduction
-
65Running the App on a Real Android Device
-
66Running the App on an iOS Emulator
-
67Running the App on a Real iOS Device
-
68Working with the Emulators / Using the Emulators
-
69Understanding Error Messages & Fixing Errors
-
70Using the Debugger
-
71Getting Started with the Dart DevTools
-
72Understanding the Repaint Rainbow
-
73Wrapping up the Dart DevTools
-
74Useful Resources & Links