Learn Flutter Dart To Build Ios Android Apps
Tags:
A Complete Guide to the Flutter SDK & Flutter Framework for building native iOS and Android apps
Last updated 2022-01-10 | 4.6
- 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!
What you'll learn
* 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
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
Course content
19 sections • 399 lectures
Introduction Preview 01:48
What is Flutter? Preview 05:54
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!
Join our Online Learning Community Preview 00:23
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!
Understanding the Flutter Architecture Preview 04:47
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?
How Flutter & Dart Code Gets Compiled To Native Apps Preview 03:12
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.
Understanding Flutter Versions Preview 02:49
Flutter is under active development, hence it's important to understand its versioning scheme and how it's kept up-to-date.
Flutter macOS Setup Preview 25:07
Let's get started with Flutter! Time to install it - in this lecture, we'll walk through the installation on macOS.
macOS Development Environment Preview 18:11
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.
Flutter Windows Setup Preview 20:41
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.
Windows Development Environment Preview 17:07
With Flutter installed, let's explore how to set up a development environment that allows us to write code efficiently.
Flutter & Material Design Preview 01:15
Flutter uses Google's Material Design system - in this lecture, we'll explore what this means and what this is about.
Flutter Alternatives Preview 06:06
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.
Course Outline Preview 06:40
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.
How To Get The Most Out Of The Course Preview 02:40
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.
Useful Resources & Links Preview 00:06
Module Introduction Preview 02:25
Creating a New Project Preview 05:17
An Overview of the Generated Files & Folders Preview 08:20
More on Git (Version Control System) Preview 00:26
Analyzing the Default App Preview 05:32
Dart Basics Preview 17:17
More Dart Basics Preview 13:06
Dart Basics - Summary Preview 04:57
Dart Fundamentals
Time to check your knowledge of the Dart basics!
Building an App From Scratch Preview 11:02
Running the App on an Emulator Preview 03:25
Class Constructors & Named Arguments Preview 08:35
First Summary & Additional Syntax Preview 08:10
Flutter App Basics
Is everything clear thus far? Time to check it!
Building a Widget Tree Preview 07:40
Visible (Input / Output) & Invisible (Layout / Control) Widgets Preview 03:13
Adding Layout Widgets Preview 08:47
Widget Basics
Widgets are THE core building block of Flutter apps. Is everything clear about them?
Connecting Functions & Buttons Preview 07:30
Anonymous Functions Preview 03:20
Updating Widget Data (Or: Using StatelessWidget Incorrectly) Preview 06:36
[DART DEEP DIVE] Understanding Lists Preview 01:30
Updating Correctly with Stateful Widgets Preview 11:58
Stateful & Stateless Widgets
When do you use which type of widget - and why? Time to confirm your knowledge!
A Brief Look Under The Hood Preview 02:27
Using Private Properties Preview 05:16
Creating a New, Custom Widget Preview 11:50
First Styling & Layouting Steps Preview 08:01
Enums & Multiple Constructors Preview 04:06
Official Docs & The Widget Catalog Preview 02:39
Styling Buttons & Passing Callback Functions Around Preview 01:05
Passing Callback Functions Around Preview 10:38
Introducing Maps Preview 05:52
Mapping Lists to Widgets Preview 10:24
final vs const Preview 10:50
Advanced Flutter & Dart Basics
"Advanced Basics"? Yeah... kind of. Time to check whether you're still on board!
Introducing "if" Statements Preview 06:51
[DART DEEP DIVE] More on "if" Statements Preview 11:15
[DART DEEP DIVE] The "null" Value & Null Safety Preview 12:29
Outputting Widgets Conditionally Preview 02:20
Splitting the App Into Widgets Preview 10:37
Calculating a Total Score Preview 09:03
Getters & "else-if" Preview 06:34
Resetting the Quiz Preview 05:17
"Old" Button Widgets vs "New" Button Widgets Preview 14:11
Time to Practice: Flutter Basics
It's now time to practice your basic Flutter skills.
Wrap Up Preview 01:53
Module Resources Preview 00:09
Module Introduction Preview 02:00
Running the App on a Real Android Device Preview 03:56
Running the App on an iOS Emulator Preview 05:54
Running the App on a Real iOS Device Preview 01:52
Working with the Emulators / Using the Emulators Preview 02:25
Understanding Error Messages & Fixing Errors Preview 05:27
Using the Debugger Preview 06:21
Getting Started with the Dart DevTools Preview 04:54
Understanding the Repaint Rainbow Preview 03:23
Wrapping up the Dart DevTools Preview 01:34
Useful Resources & Links Preview 00:08
Module Introduction Preview 03:19
An Overview of the Core Flutter Widgets Preview 09:42
Planning the App Preview 02:43
Combining Widgets Preview 09:18
Understanding Column Alignment Preview 06:11
Columns & Rows
Let's practice working with Columns and Rows!
Not a Widget: Adding a Transaction Model & Transaction Data Preview 08:28
Mapping Data Into Widgets Preview 03:39
Building a Custom List Item Preview 05:26
Styling a Container Preview 05:12
Styling Text Preview 02:46
More Styling! Preview 01:55
Styling Time!
Containers vs Columns vs Rows Preview 03:38
Using String Interpolation Preview 05:21
Installing External Packages & Formatting Dates Preview 07:29
DateFormat Patterns Preview 00:33
Adding Text Input Widgets (TextField) Preview 09:41
Fetching User Input Preview 09:29
Splitting the App Into Widgets Preview 12:44
Connecting Widgets & Managing Data / State Preview 06:33
Adding User Transactions to the List Preview 03:58
Making the List Scrollable! Preview 06:11
Working with ListViews Preview 12:02
Lists, Scrolling & Text Input
Further Input & Output Styling and Configuration Preview 08:28
Adding AppBar Buttons & Floating Action Buttons Preview 04:32
Showing a Modal Bottom Sheet Preview 09:32
Improving & Styling the Modal Bottom Sheet Preview 06:30
Configuring & Using Themes Preview 08:42
Custom Fonts & Working with Text Themes Preview 11:07
Updated Text Theme Properties Preview 00:14
Theming
Adding Images to the App Preview 07:57
Planning the Chart Widget Preview 04:22
Looping Through Lists Preview 13:47
More on "for" Loops Preview 00:28
Deriving Recent Transactions Preview 07:24
Creating Bars for our Chart Preview 10:59
Populating the Chart with Values Preview 06:19
Finishing the Chart Bars Preview 05:25
Flexible & Expanded: Deep Dive Preview 10:23
Adding a ListTile Widget Preview 05:29
Improving the Overall Chart Preview 03:08
Widgets & Configuring Widgets - Summary / Overview Preview 05:07
Getting Started with Date Selection Preview 05:19
Showing a DatePicker Preview 11:13
Adding Transactions with a Date Preview 03:07
Deleting Transactions & Using IconButtons Preview 07:02
Final Polishing! Preview 05:34
Wrap Up Preview 03:54
Useful Resources & Links Preview 00:11
Module Introduction Preview 01:37
What does "Responsive" and "Adaptive" Mean? Preview 05:55
Examples: Where we could improve the App! Preview 03:04
Calculating Sizes Dynamically Preview 09:13
Working with the "textScaleFactor" Preview 00:38
Using the LayoutBuilder Widget Preview 07:44
Responsiveness
Controlling the Device Orientation Preview 04:19
Rendering Alternative Landscape Content - 1 Preview 04:42
Finishing Landscape Mode Preview 02:58
Showing Different Content Based on Device Orientation Preview 05:33
Respecting the Softkeyboard Insets Preview 03:43
Using the Device Size in Conditions Preview 04:10
Managing the MediaQuery Object Preview 02:06
Checking the Device Platform Preview 05:36
Using Cupertino (iOS) Widgets Preview 09:05
Using the SafeArea Preview 01:43
More Cupertino Styles Preview 03:09
Using Cupertino Buttons Preview 03:11
Creating Custom Adaptive Widgets Preview 05:04
Adaptive Widgets
Wrap Up Preview 01:43
Useful Resources & Links Preview 00:09
Module Introduction Preview 02:32
The Problem At Hand Preview 03:13
Widget Tree & Element Tree - What, Why and How? Preview 10:45
How Flutter Rebuilds & Repaints the Screen Preview 08:48
How Flutter Executes build() Preview 09:18
Using "const" Widgets & Constructors Preview 11:16
Widgets, Elements, build()
Writing Good Code Preview 03:57
Extracting Widgets Preview 06:07
Using Builder Methods Preview 10:21
Time to Practice: Builder Methods
Time to build your own builder methods - how meta!
Understanding the Widget Lifecycle Preview 12:55
Calling super.initState() etc. Preview 00:48
Understanding the App Lifecycle Preview 09:25
Understanding Context Preview 06:46
A Problem with Lists & Stateful Widgets Preview 05:34
Understanding the Problem Root Preview 05:09
Using Keys Preview 11:15
Keys, Lists, Stateful Widgets
Wrap Up Preview 01:41
Useful Resources & Links Preview 00:13
Module Introduction Preview 02:23
Planning the App Preview 04:45
Starting With The App - Adding Base Data Preview 11:18
Creating a Grid & Working with Linear Gradients Preview 07:49
Registering a Screen as the Main Screen Preview 03:10
Styling & Theming Preview 07:04
Navigating to a New Page Preview 10:10
Passing Data via the Constructor Preview 02:38
Using Named Routes & Passing Data With Named Routes Preview 06:42
Screens & Navigation
With the basics about screens and navigation out of the way, it's time to test your knowledge!
Diving Deeper into Named Routes Preview 02:46
Adding a Meal Model & Data Preview 12:44
Selecting Meals for a Chosen Category Preview 04:56
Displaying Recipe Items & Using Network Images Preview 14:59
Finishing the Meal List Item Preview 15:21
Navigating to the Meal Detail Page Preview 07:17
onGenerateRoute & onUnknownRoute Preview 05:27
More Navigation!
You learned more about navigation, time to test it!
Finishing the Meal Detail Page Preview 17:34
Adding a TabBar to the Appbar Preview 10:26
Adding a Bottom TabBar Preview 13:12
Adding a Custom Drawer Preview 12:37
Adding Links to the Drawer Preview 04:03
Tabs & Drawers!
Time to practice tabs and drawers!
Replacing Pages (Instead of Pushing) Preview 04:21
Popping Pages & Passing Data Back Preview 17:06
Replacing, Popping & Data
Adding Filter Switches Preview 08:31
Adding Filtering Logic Preview 16:19
Adding a "Mark as Favorite" Feature Preview 19:57
A Problem! Preview 02:40
Wrap Up Preview 02:55
Useful Resources & Links Preview 00:08
Module Introduction Preview 02:13
Planning the App Preview 06:55
Defining a Data Model Preview 06:32
Working on the "Products" Grid & Item Widgets Preview 16:24
Styling & Theming the App Preview 05:14
Adding Navigation to the App Preview 10:30
Why State Management? And what is "State" and "State Management"? Preview 06:29
Understanding the "Provider" Package & Approach Preview 02:55
Working with Providers & Listeners Preview 21:09
[DART DEEP DIVE] Inheritance ("extends") vs Mixins ("with") Preview 06:23
Providing non-Objects Preview 00:52
Listening in Different Places & Ways Preview 05:58
State, State Management & The Provider Package/ Approach
Time to check your knowledge on State Management and the "Provider Approach".