Flutter Dart The Complete Flutter App Development Course

Build Flutter iOS and Android Apps with a Single Codebase: Learn Google’s Flutter Mobile Development Framework & Dart
Flutter Dart The Complete Flutter App Development Course
File Size :
15.02 GB
Total length :
25h 48m



Paulo Dichone | Software Engineer, AWS Cloud Practitioner & Instructor


Last update




Flutter Dart The Complete Flutter App Development Course

What you’ll learn

Be ABLE to Build Any iOS and Android App You Want
MASTER Dart and Flutter Framework
BUILD Full-fledged Apps for Your Startup or Business
CREATE a Portfolio of Apps to Apply for Development Job
WORK as A Cross-Platform Mobile Developer Who can Develop iOS and Android Apps
GAIN a Competitive Advantage in the Workplace as a Flutter Mobile Developer

Flutter Dart The Complete Flutter App Development Course


A Computer – Mac or PC
No Previous Programming Experience Required – I’ll go over Everything You’ll Need to Get Started
Anyone Who Has the “I Can Do It” Mentality
Willingness to Learn By Doing – You’ll have a Step-by-Step Learning Process with Challenges and Exercises for Better Retention


Flutter Development is here to stay!Welcome to The Complete Flutter App Development Course (The World’s First Complete Dart and Flutter Course). Flutter is the new Cross-platform Mobile Development Framework created by Google, allowing developers to build Android and iOS Apps with one single codebase!Flutter is the BEST way to create cross-platform apps that otherwise would require two distinct mobile development teams to create.Why is Flutter a BIG Deal?Flutter is a big deal because any developer (or anyone who wants to learn mobile development) can now build native Android and iOS apps with one codebase ONLY! This means, instead of having to learn Objective-C or Swift to build iOS apps, and Java, or Kotlin to build Android apps, you can now use Flutter Mobile Development Framework to build apps that run natively on both iOS and Android devices using the General-purpose Dart Programming Language.By learning Flutter App Development, you’ll be able to build iOS and Android apps with a single codebase!  This course is the ultimate Flutter tutorial created for those who want to build cross-platform iOS and Android mobile apps using the Dart Programming language.This course is fully hands-on, in which you’ll get the chance to practice and learn:Dart Programming Language – Fundamentals and intermediate topicsHow to understand Flutter Mobile Development by building apps incrementally.How to design, build, debug Flutter Android and iOS AppsHow to get Flutter apps to communicate with a realtime database – FirestoreHow to build robust apps with Flutter.You’ll see how easy it’s to get started building Android and iOS apps using Google’s Flutter App Development Framework!The course is structured in such a way to improve your knowledge retention – by having a lot of hands-on projects.  In each section of the course, you will be practicing and building something meaningful and useful, which will further your understanding of Flutter iOS and Android Development.For instance, you’ll start by learning the very basics of the Dart Programming language (which is the programming language used in Flutter) – you’ll learn control flow and functions, how to do arithmetic in Dart, and so forth.  Next, you’ll learn Object-Oriented Programming in Dart – understanding how to construct classes and Objects and how it all works when building robust programs.  Furthermore, you’ll learn intermediate and advanced Dart topics such as Abstract classes, Interfaces, and Data Structures.  Once you’ve learned the Dart Programming language, you’ll then start with Flutter Mobile Development.  You’ll start by building small, simple iOS and Android apps using Flutter, such as the Business Card app.  Then, we move into the realm of Stateful Widgets in Flutter – how to manage state in an App.Along the way, we continue to build several fun apps to solidify the main, fundamental Flutter concepts.  You’ll also have several challenges you need to further dive deeper into understanding Flutter concepts.Continuing with the course, you’ll also have the opportunity to learn how to parse JSON from a remote API into your Flutter app and cleanly display the parsed data to the user using Material Design concepts.  Additionally, you’ll learn how to connect your app to Firebase/Firestore and use a real-time database.You’ll finish the journey by learning how to package up your Flutter iOS or Android app to publish on either the Appstore or Google Play store.The course will take you from zero to hero – from knowing nothing (or a little) about Flutter iOS and Android Mobile development to building complex, stunning mobile applications!Why Should You Take This Course?My name is Paulo Dichone; I’ve created the most best-selling online programming courses (with over 100,000 happy and satisfied students). I’m a Software Engineer, a teacher, and the author of highly rated Development courses on Udemy. I’ve taught over 100,000 students online and received over 15,000 reviews. Students love my teaching methodology, which is heavy on hands-on, project-based approaches.I know how hard it can be to learn programming and Android development – there’s a lot of information out there, but the problem is that none is complete, nor is it updated.  I understand how frustrating it’s to try to learn something on your own and spend months without seeing progress!  Here’s what my current and past students have to say about this course and my other courses:”It’s a good course for Intermediate Learners…Nice job, Paulo…I’ve learned a lot from you” – Collins ★★★★★ (5 stars rating)Best tutor ever !!! Very kind, polite, great explanation, loved your course content !!! Covered a wide range of topics !!!! Above expectations, super amazing… Thanks a lot for helping me start my mobile development career and making this field super easy for me !!!!!!! ?????????? – Mehul  ★★★★★ (5 stars rating)”I liked the course and the professor. I’m taking another course with him because he’s excellent in my opinion, starts from beginner to advanced, very organized classes. A lot of examples in the course, and he was updating the course often too. Money well spent.” – Kevin ★★★★ (4.5 stars rating)”Great course. Very easy in understanding and friendly learning. Good Job, Sir. Thanks for this.” – Muhammad – ★★★★ (5 stars rating)”Well, in my opinion, this is a great course since I knew nothing about java and by now I’m able to write my own apps pretty easily.” – Michael – ★★★★ (5 stars rating)”Great course! I learned lots from the numerous examples. I now have the confidence to build my own apps and to explore different areas of Android programming. – ★★★★ (4.5 stars rating)Great Course!!!! Thanks, Paulo!!!!!” – Ian – ★★★★ (5 stars rating)”I am delighted with this course. I have only attended the Android part because I had a basic knowledge of Java. I really like how Paulo teaches. He goes step by step, and you can understand everything. My first language is not English, but he speaks very. Clearly, I can understand every word. Also, he is a happy guy, and you can hear that through the courses that he really loves what he is doing.” – Antal – ★★★★ (5 stars rating)”Very well thought-out course. Flows smoothly with great delivery. I have been developing Android Apps for several years, and I still found this course informative, relevant, and helpful. I would recommend everyone take this course if you are new to Android or returning for a refresher course.” – Douglas – ★★★★ (5 stars rating)=======================================This Course Also Comes With:  Lifetime Access to All Future Updates  A responsive instructor in the Q&A Section  Links to interesting articles and lots of good code to base your next template onto  Udemy Certificate of Completion Ready for Download  A 30 Day, “No Questions Asked” Money Back Guarantee!Take this complete Flutter course now, completely risk-free!


Section 1: Getting Started

Lecture 1 The Learning Path of This Course

Section 2: Why Flutter

Lecture 2 Why Flutter Development?

Lecture 3 Important Message

Section 3: Download Flutter Code

Lecture 4 Flutter App Project Source Code

Lecture 5 How the Project Source Code is Structured?

Section 4: Development Tools Setup MAC- For Mac OX Users

Lecture 6 MAC -Setup Dart and Flutter SDK on Mac OSX – Part 1

Lecture 7 For MAC Users ONLY: How to Create a .bash_profile

Lecture 8 For MAC Users ONLY: How to Access the Library Folder in Your Home Folder

Lecture 9 MAC -Setup Dart and Flutter SDK on Mac OSX – Part 2

Lecture 10 MAC -Setup Dart and Flutter SDK on Mac OSX – Part 3

Lecture 11 MAC -Setup Dart and Flutter SDK on Mac OSX – Final

Section 5: Development Tools Setup Windows – For Windows Users

Lecture 12 Download Android Studio and Setup Emulators

Lecture 13 OPTIONAL – Android Studio – Fix VTX is Disabled in BIOS

Lecture 14 Windows Flutter Installation – Final Setup

Lecture 15 Windows Flutter Installation Resources – Very Helpful!

Section 6: Introduction to the Dart Programming Language – From Scratch

Lecture 16 Intro to Dart and Dart Pad – Online Editor

Lecture 17 Dart – Coding Style and Naming Convention

Lecture 18 Dart – Declaring variables – String

Lecture 19 Dart Types and Assigning Types to Variables

Lecture 20 Dart – Numbers – Integers and Doubles

Lecture 21 Dart – Booleans

Lecture 22 Dart – Const and Final Keywords

Lecture 23 Dart – Concatenation

Lecture 24 Dart Operators – Arithmetic

Lecture 25 Equality and Relational Operators in Dart

Lecture 26 Source Code

Section 7: Control Flow and Functions in Dart – If Statements, Logical Operators, For Loops

Lecture 27 Control Flow – If Statements

Lecture 28 Logical Operators

Lecture 29 For Loops in Dart

Lecture 30 While, Do-While and Break in Dart

Lecture 31 Switch Cases

Lecture 32 Introduction to Functions in Dart

Lecture 33 Function Return Types – String-Int-Booleans

Lecture 34 Dart – Using the => Operator for Returning Expressions

Lecture 35 Arguments and Functions in Dart

Lecture 36 Optional Parameters in Dart

Lecture 37 Lexical Scope in Dart

Lecture 38 Resources

Lecture 39 Source Code

Section 8: Object Oriented Programming – Introduction

Lecture 40 Introduction to Classes and Objects

Lecture 41 Introduction to Class Creation and Instance Variables

Lecture 42 Adding Methods to Classes

Lecture 43 Introduction to Constructors – Part 1

Lecture 44 Named and Sugar Syntactic Constructors – Part 2

Lecture 45 Setters and Getters

Lecture 46 Source Code

Section 9: Object Oriented Programming – Intermediate – Inheritance Concepts

Lecture 47 Introduction to Inheritance with Dart

Lecture 48 Creating Classes and Inheritance Tree

Lecture 49 Override Methods

Lecture 50 Inheriting Classes with Constructors

Lecture 51 The toString() Method – Override

Lecture 52 Source Code

Section 10: Object Oriented Programming – Advanced – Abstract and Interface Concepts

Lecture 53 Introduction to Abstract and Interface Classes

Lecture 54 Abstract and Interface Classes in Dart – Creation

Lecture 55 Source Code

Section 11: Data Structures and Collections in Dart

Lecture 56 Introduction to Collections

Lecture 57 Creating Lists and Iterating through Them

Lecture 58 Creating a List with a Person Type Object

Lecture 59 Introduction to Maps

Lecture 60 Source Code

Section 12: Building Flutter Apps – Flutter Fundamentals

Lecture 61 Introduction to Flutter and Flutter App Anatomy

Lecture 62 Creating a Flutter Hello World App – Basics with Text Widget

Lecture 63 Understanding Material Design Basics – Text and Widget Properties

Lecture 64 Formatting Our Code

Lecture 65 Little Material Design Presentation

Lecture 66 Flutter Scaffold Widget and Properties

Lecture 67 Flutter InkWell Widget and Event Listeners

Lecture 68 Flutter Gesture Detector Widget – Creating a Custom Button

Lecture 69 Flutter Bottom Navigator and Adding a Tap

Lecture 70 Flutter Floating Action Button

Section 13: Build a Biz Card App

Lecture 71 What You’ll Build Next?

Lecture 72 App – Build a Biz card App

Section 14: Flutter Stateful Widgets

Lecture 73 Introduction to Stateless VS Stateful Widgets

Lecture 74 App – Build a Quotes App – Part 1

Lecture 75 App – Build a Quotes App – Finished Product

Section 15: APP – Build a Flutter Tip Calculator App

Lecture 76 Flutter Tip Calculator – User Interface – Part 1

Lecture 77 Flutter Tip Calculator – Top Card and Custom Colors

Lecture 78 Flutter Tip Calculator – Building the Split Row

Lecture 79 Flutter Tip Calculator – Build the Tip Row

Lecture 80 Flutter Tip Calculator – Finished User Interface

Lecture 81 Flutter Tip Calculator – Wrapup

Section 16: APP – Quiz App – Learn More Flutter Widgets

Lecture 82 Download – Image Resource

Lecture 83 Setup Project – Adding Image Assets

Lecture 84 Question Model Class – Setup

Lecture 85 Finishing the User Interface

Lecture 86 Finishing Quiz Logic

Lecture 87 [CHALLENGE] – Finished Logic

Lecture 88 [SOLUTION – IMPROVEMENTS] – Wrapup

Section 17: Flutter Intermediate Concepts – Navigation, Listviews – Building a Movie App

Lecture 89 Download -Movie Resources

Lecture 90 Creating a Listview of Movies

Lecture 91 Customizing ListTile Row and Adding onTap

Lecture 92 Navigating to a Second Route – Screen

Lecture 93 Returning to the First Route/Screen

Lecture 94 Passing Data to Second Route/Screen

Lecture 95 Creating a Movie Model Class – Showing Movies – Part 1

Lecture 96 MOVIE APP – Passing a Movie Object to Details Route and Showing Image

Lecture 97 MOVIE APP – Customizing Row

Lecture 98 MOVIE APP – Adding Movie Image

Lecture 99 MOVIE APP – Finishing Custom Row

Lecture 100 MOVIE APP – Changing the Background Color

Lecture 101 MOVIE APP – Details Route – Showing Movie Thumbnail

Lecture 102 MOVIE APP – Details Route – Adding Linear Gradient

Lecture 103 MOVIE APP – Details Route – Adding Movie Poster

Lecture 104 MOVIE APP – Details Route – Movie’s Header

Lecture 105 MOVIE APP – Details Route – Adding Movie’s Cast

Lecture 106 MOVIE APP – Details Route – Adding Horizontal Line

Lecture 107 MOVIE APP – Details Route – Adding Bottom Movie Posters – Finished App

Lecture 108 [CODE REFACTOR] – Movie App Code Refactor

Section 18: Understanding Themes in Flutter

Lecture 109 Introduction to UI and UX

Lecture 110 What’s Material Design?

Lecture 111 Themes in Flutter

Lecture 112 Exploring ThemeData Class – App Brightness

Lecture 113 Theming Headlines and Body1 Text

Lecture 114 Theming – Over-Writing Theme Properties

Lecture 115 Theming – Refactoring our TextTheme Further

Lecture 116 Theming – Adding Custom Fonts to Our Project

Lecture 117 Theming – Applying FontFamily to All TextTheme Properties

Lecture 118 Material Design – Material.io Overview

Lecture 119 Material Design – Understanding Color Themes

Lecture 120 Material Design – Typography and Iconography

Lecture 121 Resources

Section 19: [CHALLENGE] – Material Design Challenge – Theme the Mortgage Calculator

Lecture 122 Download Starter code and Resources

Lecture 123 Challenge Instructions

Section 20: [SOLUTION] – Material Design App (Mortgage App) Solution

Lecture 124 Mortgage App – Solution – Pick Color Palette and Create Colors File

Lecture 125 Mortgage App – Solution – Theming App – Part 1

Lecture 126 Mortgage App – Solution – Theming App – Part 2

Lecture 127 Mortgage App – Solution Wrapup

Lecture 128 Solution Source Code

Section 21: Connecting to the World – Networking in Flutter

Lecture 129 Introduction to HTTP and JSON

Lecture 130 Flutter Introduction to Async and Future – Http Requests

Lecture 131 Adding http Package to our Project

Lecture 132 Setup Network Class

Lecture 133 Fetching JSON Data

Lecture 134 Fetching JSON and Using FutureBuilder Widget

Lecture 135 Finalizing Fetching JSON and FutureBuilder

Lecture 136 Plain Old Dart Object ( PODO ) and Mapping JSON – Introduction Setup

Lecture 137 PODO – Creating a PostList Class and Mapping

Lecture 138 PODO – Final Implementation

Section 22: APP – Build a Weather Forecast Flutter App

Lecture 139 What You’ll Build – Weather Forecast App Demo

Lecture 140 OpenWeather – Setting up our APPID

Lecture 141 Setup Our Weather Forecast Project

Lecture 142 Creating Our Forecast Model Class

Lecture 143 WeatherForecast Modified/fixed File

Lecture 144 Fixing Forecast Model Class

Lecture 145 Pulling JSON Data from API and Showing Data

Lecture 146 Using FutureBuilder to Show Data

Lecture 147 Adding City and Country Names

Lecture 148 Getting City Name Dynamically from TextField

Lecture 149 Formatting and Showing Date

Lecture 150 Showing Current Temp

Lecture 151 Adding Humidity, Wind and Max to the User Interface

Lecture 152 Utilizing FontAwesome Icons

Lecture 153 Setup getWeatherIcon Helper Function

Lecture 154 Setup Bottom ScrollView – Part 1

Lecture 155 Setup Day in Bottom ScrollView

Lecture 156 Adding WeatherIcon to our ScrollView

Lecture 157 Finished App

Lecture 158 Code Refactoring and User Interface Improvements

Lecture 159 Resources and Tips

Section 23: Flutter Google Maps – Building the Earthquakes App

Lecture 160 Introduction to Google Maps and API Key Android Setup

Lecture 161 [OPTIONAL] Google Maps iOS Setup

Lecture 162 Showing a Google Map – Problem to be Fixed – AndroidX Update

Lecture 163 Fixing AndroidX Issues

Lecture 164 Running our Map on Both Android and iOS

Lecture 165 Adding Markers onto Map

Lecture 166 Showing Another Marker

Lecture 167 Implementing CameraPosition Animations

Lecture 168 Quakes App – Demo

Lecture 169 [API Link] – JSON API Link to Use

Lecture 170 Quakes App – Our Quakes API and Chrome Extension

Lecture 171 Quakes App – Setting up Project and TypesHelper Class

Lecture 172 Quakes App – Fixing the Types Issue

Lecture 173 Quakes App – Getting All Quakes and Setup Markers

Lecture 174 Quake App – Markers Fixed and Working

Lecture 175 Quake App – Adding Zooms and Finished App

Lecture 176 Resources

Section 24: Firestore – Realtime Database – Build a Community Board App

Lecture 177 Introduction to Firebase/Firestore and Realtime Database

Lecture 178 Setting up Firestore in our Project

Lecture 179 Reading Data from Firestore Database

Lecture 180 Board App – Setup Form

Lecture 181 Board App – Saving Data to Firestore Database from the App

Lecture 182 Board App – Custom Card – Accounting for Nulls

Lecture 183 Board App – Restructuring Custom Card

Lecture 184 Board App – Custom Card – Quick Code Refactoring

Lecture 185 Board App – Delete a Document

Lecture 186 Board App – Update Document

Lecture 187 Resources

Section 25: [OPTIONAL] Creating Adaptive Flutter Apps

Lecture 188 Device Orientation – Portrait and Landscape

Lecture 189 Setting up the Project

Lecture 190 Joke Listing Class

Lecture 191 Joke Details Class

Lecture 192 Final Product – The Joke App

Lecture 193 Resources

Section 26: OPTIONAL: Deconstructing Flutter Topics

Lecture 194 Deconstructing the Flutter Syntax – Part 1

Lecture 195 Deconstructing the Flutter Syntax – Understanding Named Parameters – Part 2

Lecture 196 Deconstructing BuildContext

Lecture 197 Resources

Section 27: Publishing Flutter Apps in the Appstore and PlayStore

Lecture 198 Download all Assets Needed for this Section

Lecture 199 Creating App Icon – With Online Tools

Lecture 200 Dynamically Generating iOS and Android Icons Using Plugin

Lecture 201 Adding Splash Screen – Android

Lecture 202 Adding Launcher Image – iOS

Lecture 203 Signing Android App – Generating a Keystore and AppBundle

Lecture 204 Publishing App to Google PlayStore

Lecture 205 Setup iOS App to Publish in the Appstore

Lecture 206 Creating the iOS Archive and Uploading It

Lecture 207 Resources

Section 28: The App Development Process

Lecture 208 The App Development Process

Section 29: What’s Next – Build at least 5 Apps

Lecture 209 Keep Learning By Building Apps – Lots of Them!

Section 30: [OPTIONAL] Flutter – Animations

Lecture 210 Getting Started with Animations in Flutter

Lecture 211 Creating a Counter Animation

Lecture 212 Introduction to Tween Class

Lecture 213 Tween – Animation Status

Lecture 214 Introduction to Chain Animation – Separating Animation Logic

Lecture 215 Chain Animation – Using the Separated Class

Lecture 216 Build a Company Profile Page Animation – Introduction

Lecture 217 Company Page Animation – Model and Data Classes – Part 2

Lecture 218 Company Page Animation – Create Animation Classes – Part 3

Lecture 219 Company Page Animation – Showing Image and Backdrop Opacity – Part 4

Lecture 220 Company Page Animation – Adding Blur Effect and Logo Avatar – Part 5

Lecture 221 Company Page Animation – Adding UI Interface and Animation – Part 6

Lecture 222 Company Page Animation – Adding Animation and UI Touchups – Part 7

Lecture 223 Company Page Animation – Adding UI – Scrollable Courses Area – Part 8

Lecture 224 Finished App

Lecture 225 Resources

Section 31: Bonus

Lecture 226 Bonus

Beginner Developers and Intermediate- Advanced Web or Mobile Developers new to Dart and Google Flutter Mobile SDK,Android Developers Who Want to Build iOS Apps with Single Codebase,iOS Developers Who Want to Build Android Apps with Single Codebase,Web Developers Who Want to Build Android and iOS Apps with Single Codebase,Entrepreneurs Who Want to Build Android and iOS Apps with Single Codebase,Managers and Program Managers Who Want to Learn How to Build Android and iOS Apps with Single Codebase

Course Information:

Udemy | English | 25h 48m | 15.02 GB
Created by: Paulo Dichone | Software Engineer, AWS Cloud Practitioner & Instructor

You Can See More Courses in the Developer >> Greetings from CourseDown.com

New Courses

Scroll to Top