Flutter & Dart: Complete App Development Course [NEW 2024]

Build Flutter iOS and Android Apps with a Single Codebase: Learn Google's Flutter Mobile Development Framework and Dart

4.60 (5327 reviews)
Udemy
platform
English
language
Mobile Apps
category
25,645
students
31 hours
content
Feb 2024
last update
$94.99
regular price

What you will 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

Description

     Full Course Update in 2024                                

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 topics

  • How to understand Flutter Mobile Development by building apps incrementally.

  • How to design, build, debug Flutter Android and iOS Apps

  • How to get Flutter apps to communicate with a realtime database - Firestore

  • How 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 250,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 it needs to be completed, and it needs to be updated.  I understand how frustrating it's to try to learn something independently and spend months without seeing progress! 


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!



Content

Getting Started

The Learning Path of This Course

Why Flutter

Why Flutter Development?
Important Message

Download Flutter Code

Flutter App Project Source Code
How the Project Source Code is Structured?

Development Tools Setup MAC- For Mac OX Users

MAC -Setup Dart and Flutter SDK on Mac OSX - Part 1
For MAC Users ONLY: How to Create a .bash_profile
For MAC Users ONLY: How to Access the Library Folder in Your Home Folder
MAC -Setup Dart and Flutter SDK on Mac OSX - Part 2
MAC -Setup Dart and Flutter SDK on Mac OSX - Part 3
MAC -Setup Dart and Flutter SDK on Mac OSX - Final

Development Tools Setup Windows - For Windows Users

Download Android Studio and Setup Emulators
OPTIONAL - Android Studio - Fix VTX is Disabled in BIOS
Windows Flutter Installation - Final Setup
Windows Flutter Installation Resources - Very Helpful!

Introduction to the Dart Programming Language - From Scratch

Intro to Dart and Dart Pad - Online Editor
Dart - Coding Style and Naming Convention
Dart - Declaring variables - String
Dart Types and Assigning Types to Variables
Dart - Numbers - Integers and Doubles
Dart - Booleans
Dart - Const and Final Keywords
Dart - Concatenation
Dart Operators - Arithmetic
Equality and Relational Operators in Dart
Source Code

Control Flow and Functions in Dart - If Statements, Logical Operators, For Loops

Control Flow - If Statements
Logical Operators
For Loops in Dart
While, Do-While and Break in Dart
Switch Cases
Introduction to Functions in Dart
Function Return Types - String-Int-Booleans
Dart - Using the => Operator for Returning Expressions
Arguments and Functions in Dart
Optional Parameters in Dart
Lexical Scope in Dart
Resources
Source Code

Object Oriented Programming - Introduction

Introduction to Classes and Objects
Introduction to Class Creation and Instance Variables
Adding Methods to Classes
Introduction to Constructors - Part 1
Named and Sugar Syntactic Constructors - Part 2
Setters and Getters
Source Code

Object Oriented Programming - Intermediate - Inheritance Concepts

Introduction to Inheritance with Dart
Creating Classes and Inheritance Tree
Override Methods
Inheriting Classes with Constructors
The toString() Method - Override
Source Code

Object Oriented Programming - Advanced - Abstract and Interface Concepts

Introduction to Abstract and Interface Classes
Abstract and Interface Classes in Dart - Creation
Source Code

Data Structures and Collections in Dart

Introduction to Collections
Creating Lists and Iterating through Them
Creating a List with a Person Type Object
Introduction to Maps
Source Code

Building Flutter Apps - Flutter Fundamentals

Introduction to Flutter and Flutter App Anatomy
Creating a Flutter Hello World App - Basics with Text Widget
Understanding Material Design Basics - Text and Widget Properties
Formatting Our Code
Little Material Design Presentation
Flutter Scaffold Widget and Properties
Flutter InkWell Widget and Event Listeners
Flutter Gesture Detector Widget - Creating a Custom Button
Flutter Bottom Navigator and Adding a Tap
Flutter Floating Action Button

Build a Biz Card App

What You'll Build Next?
App - Build a Biz card App

Flutter Stateful Widgets

Introduction to Stateless VS Stateful Widgets
App - Build a Quotes App - Part 1
App - Build a Quotes App - Finished Product

APP - Build a Flutter Tip Calculator App

Flutter Tip Calculator - User Interface - Part 1
Flutter Tip Calculator - Top Card and Custom Colors
Flutter Tip Calculator - Building the Split Row
Flutter Tip Calculator - Build the Tip Row
Flutter Tip Calculator - Finished User Interface
Flutter Tip Calculator - Wrapup

APP - Quiz App - Learn More Flutter Widgets

Download - Image Resource
Setup Project - Adding Image Assets
Question Model Class - Setup
Finishing the User Interface
Finishing Quiz Logic
[CHALLENGE] - Finished Logic
[SOLUTION - IMPROVEMENTS] - Wrapup

Flutter Intermediate Concepts - Navigation, Listviews - Building a Movie App

Download -Movie Resources
Creating a Listview of Movies
Customizing ListTile Row and Adding onTap
Navigating to a Second Route - Screen
Returning to the First Route/Screen
Passing Data to Second Route/Screen
Creating a Movie Model Class - Showing Movies - Part 1
MOVIE APP - Passing a Movie Object to Details Route and Showing Image
MOVIE APP - Customizing Row
MOVIE APP - Adding Movie Image
MOVIE APP - Finishing Custom Row
MOVIE APP - Changing the Background Color
MOVIE APP - Details Route - Showing Movie Thumbnail
MOVIE APP - Details Route - Adding Linear Gradient
MOVIE APP - Details Route - Adding Movie Poster
MOVIE APP - Details Route - Movie's Header
MOVIE APP - Details Route - Adding Movie's Cast
MOVIE APP - Details Route - Adding Horizontal Line
MOVIE APP - Details Route - Adding Bottom Movie Posters - Finished App
[CODE REFACTOR] - Movie App Code Refactor

Understanding Themes in Flutter

Introduction to UI and UX
What's Material Design?
Themes in Flutter
Exploring ThemeData Class - App Brightness
Theming Headlines and Body1 Text
Theming - Over-Writing Theme Properties
Theming - Refactoring our TextTheme Further
Theming - Adding Custom Fonts to Our Project
Theming - Applying FontFamily to All TextTheme Properties
Material Design - Material.io Overview
Material Design - Understanding Color Themes
Material Design - Typography and Iconography
Resources

[CHALLENGE] - Material Design Challenge - Theme the Mortgage Calculator

Download Starter code and Resources
Challenge Instructions

[SOLUTION] - Material Design App (Mortgage App) Solution

Mortgage App - Solution - Pick Color Palette and Create Colors File
Mortgage App - Solution - Theming App - Part 1
Mortgage App - Solution - Theming App - Part 2
Mortgage App - Solution Wrapup
Solution Source Code

Connecting to the World - Networking in Flutter

Introduction to HTTP and JSON
Flutter Introduction to Async and Future - Http Requests
Adding http Package to our Project
Setup Network Class
Fetching JSON Data
Fetching JSON and Using FutureBuilder Widget
Finalizing Fetching JSON and FutureBuilder
Plain Old Dart Object ( PODO ) and Mapping JSON - Introduction Setup
PODO - Creating a PostList Class and Mapping
PODO - Final Implementation

APP - Build a Weather Forecast Flutter App

What You'll Build - Weather Forecast App Demo
OpenWeather - Setting up our APPID
Setup Our Weather Forecast Project
Creating Our Forecast Model Class
WeatherForecast Modified/fixed File
Fixing Forecast Model Class
Pulling JSON Data from API and Showing Data
Using FutureBuilder to Show Data
Adding City and Country Names
Getting City Name Dynamically from TextField
Formatting and Showing Date
Showing Current Temp
Adding Humidity, Wind and Max to the User Interface
Utilizing FontAwesome Icons
Setup getWeatherIcon Helper Function
Setup Bottom ScrollView - Part 1
Setup Day in Bottom ScrollView
Adding WeatherIcon to our ScrollView
Finished App
Code Refactoring and User Interface Improvements
Resources and Tips

Flutter Google Maps - Building the Earthquakes App

Introduction to Google Maps and API Key Android Setup
[OPTIONAL] Google Maps iOS Setup
Showing a Google Map - Problem to be Fixed - AndroidX Update
Fixing AndroidX Issues
Running our Map on Both Android and iOS
Adding Markers onto Map
Showing Another Marker
Implementing CameraPosition Animations
Quakes App - Demo
[API Link] - JSON API Link to Use
Quakes App - Our Quakes API and Chrome Extension
Quakes App - Setting up Project and TypesHelper Class
Quakes App - Fixing the Types Issue
Quakes App - Getting All Quakes and Setup Markers
Quake App - Markers Fixed and Working
Quake App - Adding Zooms and Finished App
Resources

Firestore - Realtime Database - Build a Community Board App

Introduction to Firebase/Firestore and Realtime Database
Setting up Firestore in our Project
Reading Data from Firestore Database
Board App - Setup Form
Board App - Saving Data to Firestore Database from the App
Board App - Custom Card - Accounting for Nulls
Board App - Restructuring Custom Card
Board App - Custom Card - Quick Code Refactoring
Board App - Delete a Document
Board App - Update Document
Resources

[OPTIONAL] Creating Adaptive Flutter Apps

Device Orientation - Portrait and Landscape
Setting up the Project
Joke Listing Class
Joke Details Class
Final Product - The Joke App
Resources

OPTIONAL: Deconstructing Flutter Topics

Deconstructing the Flutter Syntax - Part 1
Deconstructing the Flutter Syntax - Understanding Named Parameters - Part 2
Deconstructing BuildContext
Resources

Publishing Flutter Apps in the Appstore and PlayStore

Download all Assets Needed for this Section
Creating App Icon - With Online Tools
Dynamically Generating iOS and Android Icons Using Plugin
Adding Splash Screen - Android
Adding Launcher Image - iOS
Signing Android App - Generating a Keystore and AppBundle
Publishing App to Google PlayStore
Setup iOS App to Publish in the Appstore
Creating the iOS Archive and Uploading It
Resources

The App Development Process

The App Development Process

What's Next - Build at least 5 Apps

Keep Learning By Building Apps - Lots of Them!

[LEGACY] Building Multi-platform Apps With Google's Flutter SDK

Flutter HelloWorld - Text Widget
Material Design Text and Widgets - Font Properties
UPDATE - Please Watch
Separating Flutter Code - Creating a Stateless Home Class
Creating Libraries and Adding Widgets to Libraries
Source Code

[LEGACY] Flutter Basic Layouts and Container Widgets

Layouts - Containers and Columns
Rows and Expanded
Stack Widget
Source Code

[LEGACY] Flutter and Material Design Widgets

Introduction to Scaffold Widget and More
Scaffold Widget and the AppBar, Toolbar and Responding to Tap
InkWell Widget and EventListeners - Tap
Bottom Navigator and Adding Touch
Floating Action - Running on iOS and Android
Introduction to GestureDetector Widget - Part 1
Gesture Detector Widget - Custom Buttons and Tap
Source Code

[LEGACY] Flutter - Stateful and Stateless Widgets

App - Introduction to the Make It Rain App
App - User Interface - Make it Rain App
App - User Interface - Make it Rain App - Part 2
App - User Interface - Make it Rain App - Final
Source Code
Challenge/Exercise - Make It Rain
SOLUTION to the Challenge - Make It Rain App

[LEGACY] Flutter - Building Layouts and More Widgets

What We'll be Building
Login App Image Resources
App - Login - Setup Configurations and UI - Part 1
App - UI Setup Image and TextFields - Part 2
App - UI Setup - Finished
App - Validation and Clear
App - Login App - Fetching Fields Data
Final Login App

[LEGACY] Flutter - Build The Weight On Planet X App

Introduction to App - Weight On Planet X
Weight On Planet X - Image Resources
App - Weight On Planet X - User Interface - Part 1
App - Weight On Planet X - User Interface - Part 2
App - Weight On Planet X - Logic- Part 3
App - Weight On Planet X - Final
Source Code

[LEGACY] Challenge - Build a BMI App

Image Resources - BMI App
What Will You Build in this Challenge
Challenge - Instructions - Build a BMI App - Resources

[LEGACY] Challenge Solution - Build a BMI App

App - BMI Solution - UI Setup - Part 1
App - BMI Solution - UI Final - Part 2
App - BMI Solution - Writing the Logic- Part 3
App - BMI Solution - Final
Source Code

[LEGACY] Flutter - Connecting to the World with Our Apps

Parsing a JSON Object
Parsing a JSON Object - Getting a Field Value
Parsing a JSON Object - Looping Through JSON
Parsing JSON Data into a ListView Widget
Data Parsing and Listviews - Customizing Listviews
Parsing Complex JSON Tree - Must Watch
Source Code

[LEGACY] Challenge - Build a Quake App

What Will You Build in this Challenge - Quake App
Challenge Instructions

[LEGACY] Challenge Solution - Build a Quake App

Quake App Solution - Part 1
Quake App Solution - Fixing Return Types - Getting JSON Data
Quake App Solution - Getting Data into Listrow
Quake App Solution - Row User Interface
Quake App Solution - Date Formatting
Quake App Solution - Final App
Source Code

[LEGACY] Flutter - Build the Klimatic Weather App

What Will You Build in this Section - Klimatic Introduction
App - Klimatic - Signup for API Key
App - Klimatic - Project Setup and Unsplash Website
Klimatic - Image Resources
App - Klimatic - User Interface Setup and API Setup
App - Klimatic - Http Request to the API and Getting Data
App - Klimatic - Show Data on Screen and Introduction to FutureBuilder Widget
How To Send Data Between Screens - From First Screen to Second
Navigating to Second Screen and Sending Data
UPDATE - MaterialPageRoute Issue Fixed!
Sending Data back to First Screen
App - Klimatic - Go to Second Screen - Second Screen User Interface
App - Klimatic - Changing City and Getting Weather Temperature
UPDATE - MaterialPageRoute Issue Fixed!
App - Klimatic Final App - Congrats
App - Klimatic - Final
Source Code

[LEGACY] Flutter - IO - Read/Write to Device

Introduction to Persistence in Flutter
Reading And Writing to Text Files - Part 1
Read/Write - Show Data in Console
Read and Write - Final
Shared Preferences for Android and iOS
Source Code
Source Code

[LEGACY] Flutter - Database Using SQFLITE

Introduction to Database
Database Project Setup - Dependencies and Plugins
Creating Database Client Helper Class - Part 1
Creating Database Client Helper Class - Part 2
Creating Database Client Helper Class - Part 3
Creating Database Client Helper Class - Part 4
Creating Database Client Helper Class - Final Setup
Saving and Retrieving data From the Database - Part 1
Saving and Retrieving data From the Database - CRUD Operations
Showing All Users from Database in a Listview
Resources
Source Code

[LEGACY] Flutter Database - Build a Full-fledged No-Todo App

What Will You Build in this Section - No-Todo App Introduction
No-Todo App - Setup - User Interface and Project Setting
No-Todo App - Setup - Model Class and Listview Row
No-Todo App - Setup - Database Helper Class
No-Todo App - Setup - Saving Data to Database
No-Todo App - Setup - Showing Items in Listview
No-Todo App - Setup - Showing App Previous and Current Saved Items
No-Todo App - Setup - Delete Row from Database and Redraw Screen
No-Todo App - Finished App
Resources

[LEGACY] Flutter and Firebase - Introduction to Firebase and Realtime Database

Firebase Android Setup - Part 1
Firebase Android Setup - Final
Flutter Android - Writing to Firebase Realtime Database
OPTIONAL - iOS Firebase Setup and Writing to Realtime Database
Reading Data From Realtime Database - Part 1
App - Build a Community Board Application - Setup Model Class
App - Build a Community Board Application - Setup - Part 2
App - Community Board - Setup Methods - Part 3
App - Community Board - Saving Data - Part 4
App - Community Board - AnimatedList and FirebaseListview - Showing Ite - Part 5
App - Community Board - Add OnChangedData - Final App
Source Code

[LEGACY] Flutter & Firebase Authentication

Introduction to Firebase User Authentication
Setting up Emulator to Work with Google Sign in
Setup Google Sing in - Part 1
Creating Account With Email and Password
Google Signout And Refresh Screen
Signin With Email and Password & Signing out
Resources
OPTIONAL - iOS Firebase - Google Sign in for iOS - Setup
Source Code

[LEGACY] Flutter - Animations

Getting Started with Animations in Flutter
Creating a Counter Animation
Introduction to Tween Class
Tween - Animation Status
Introduction to Chain Animation - Separating Animation Logic
Chain Animation - Using the Separated Class
Build a Company Profile Page Animation - Introduction
Company Page Animation - Model and Data Classes - Part 2
Company Page Animation - Create Animation Classes - Part 3
Company Page Animation - Showing Image and Backdrop Opacity - Part 4
Company Page Animation - Adding Blur Effect and Logo Avatar - Part 5
Company Page Animation - Adding UI Interface and Animation - Part 6
Company Page Animation - Adding Animation and UI Touchups - Part 7
Company Page Animation - Adding UI - Scrollable Courses Area - Part 8
Finished App
Resources

Bonus

My other Courses

Screenshots

Flutter & Dart: Complete App Development Course [NEW 2024] - Screenshot_01Flutter & Dart: Complete App Development Course [NEW 2024] - Screenshot_02Flutter & Dart: Complete App Development Course [NEW 2024] - Screenshot_03Flutter & Dart: Complete App Development Course [NEW 2024] - Screenshot_04

Reviews

Suganya
August 2, 2023
I Learnt a lot from this course. Actually i'm a beginner, but after completing this course, i'm confident in my skill. Thank You so much .
Kourosh
July 14, 2023
This course is fairly outdated. Last updated was made in September of 2021. Topics are still solid although his conventions are quite outdated as well. Good Foundation course if you dont mind having to adapt and read through Flutter's Documentation to make adjustments. (e.g. RaisedButton has been deprecated / replaced with ElevatedButton). Overall decent course. There are more recent / updated ones with same topics.
松井
June 12, 2023
Dartとflatterを学ぶモチベーションを上げてくれるので気に入っています. 従来の面倒なシステムとの比較によってDartとflatterの"beauty"を伝えてくれるので,否が応でも学ぶ意欲が増えます. ただ,英語の字幕生成がやや不安定な時があるので-0.5しました.
Ana-Livia
March 17, 2023
All good, but lot of things are deprecated and doesn't work. You should update your courses. You have very good courses.Thank you a lot for all.
Arijit
March 14, 2023
Nicely explained and Paulo sir has good knowledge on the topic. Really good course that covers almost everything.
Shaun
February 21, 2023
Really good course that covers almost everything. There is some stuff lacking, but as a starting out course, its perfect.
Agbaje
January 5, 2023
Great teaching method. This is my second time trying to learn flutter and Dart and this time it all make sense
Xavier
December 17, 2022
outdated and expends a lot of time on its own bugs but don't expend any on basic things like how IntelliJ should connect to android studio.
OKORONKWO
December 17, 2022
Poor video, I barely can see what's written on the screen. I thought this is a beginner course cos I didn't see it that way.
Subramani
November 10, 2022
The sample apps used in the sessions were great choices, that really helped to relate the concept. Gr8 session!
Shelley
August 21, 2022
Well laid out course, covers Dart and Flutter dev. Tutor is clear in his explanations and very knowledgeable.
Khan
August 11, 2022
It's suitable for beginners. I liked about how he explained small details He's narration was also calm and relaxed, making me want to learn more and more.
Training
August 4, 2022
very good but old course paulo pls update the code as soon as possible we have to face the lot of problem while studying from you
Renish
July 14, 2022
it was really a nice but start form basic app devlopment ,You have not told what is Statefull and Stateless in beginning.
Zachary
July 23, 2021
Paulo is the best programming teacher that I have ever had. His examples are in-depth, clear, and easy to follow. He explains every little thing so by the time you get done you really have a good understanding of what he is teaching you. Plus, he makes it fun! I would recommend this course to anyone who is either just beginning to learn Flutter, or advancing an already existing skillset.

Coupons

DateDiscountStatus
2/26/202487% OFF
expired

Charts

Price

Flutter & Dart: Complete App Development Course [NEW 2024] - Price chart

Rating

Flutter & Dart: Complete App Development Course [NEW 2024] - Ratings chart

Enrollment distribution

Flutter & Dart: Complete App Development Course [NEW 2024] - Distribution chart
1575278
udemy ID
3/1/2018
course created date
8/16/2019
course indexed date
Bot
course submited by