We may earn an affiliate commission when you visit our partners.
Course image
Dr. Angela Yu

Welcome to the Complete Flutter App Development Bootcamp with Dart - created in collaboration with the Google Flutter team.

Now includes a brand new module on Flutter State Management.

Read more

Welcome to the Complete Flutter App Development Bootcamp with Dart - created in collaboration with the Google Flutter team.

Now includes a brand new module on Flutter State Management.

Covering all the fundamental concepts for Flutter development, this is the most comprehensive Flutter course available online.

We built this course over months, perfecting the curriculum together with the Flutter team to teach you Flutter from scratch and make you into  a skilled Flutter developer with a strong portfolio of beautiful Flutter apps.

Our complete Flutter development bootcamp teaches you how to code using Dart and build beautiful, fast, native-quality iOS and Android apps. Even if you have ZERO programming experience.

I'll take you step-by-step through engaging and fun video tutorials and teach you everything you need to know to succeed as a Flutter developer.

The course includes 28+ hours of HD video tutorials and builds your programming knowledge while making real world apps. e.g. Whatsapp, QuizUp and Yahoo Weather.

By the end of this course, you will be fluently programming in Dart and be ready to build your own Flutter apps and become a fully fledged Flutter developer.

You'll also have a portfolio of over 15 apps that you can show off to any potential employer.

Sign up today, and look forwards to:

  • Over 28 hours of HD 1080p video content, everything you'll ever need to succeed as a Flutter developer.

  • Building over 15 fully-fledged apps including ones that use Firebase Cloud Firestore, StreamBuilder, ListView, networking, external APIs and much much more.

  • All the knowledge you need to start building any app you want

  • $8000+ Flutter development bootcamp course materials and curriculum

From Beginner to Flutter Developer with Just One Course

We know that you're here because you value your time. If you wanted to watch someone program for hours and hours without explaining what they're doing, you'd be on YouTube. 

By getting this course, you can be rest assured that the course is carefully thought out and edited. There are beautiful animations that explain all the difficult concepts and we're always on hand to answer student questions.

So by the end of the course, you'll completely understand:

  • Fundamental Flutter concepts e.g. Stateful vs. Stateless Widgets, Widget tree, state management, animations, themes and much more.

  • Fundamental Dart concepts e.g. lists, maps, enums, loops, futures, streams, mixins, classes, and much more.

  • Concepts of Object Oriented Programming (OOP): The type system, variables, functions and methods, inheritance, classes and protocols.

  • Control Structures: Using If/­Else clauses, Switch statements and logic to control the flow of execution.

  • Data Structures: How to work with collections, such as Lists and Maps.

  • Software Design: How to organise and format code for readability and how to implement the Model ­View­ Controller (MVC) design pattern.

  • Networking: How to make asynchronous API calls, store and retrieve data from the cloud, and use the JSON format for server communication.

  • Data Storage: How to use Firebase Cloud Firestore to act as a backend for your Flutter apps.

  • Authentication: How to use log in and register users for your Flutter apps.

  • State Management: How to use setState, prop drilling, lifting state up, callbacks and the Provider package to manage app state.

Don’t waste your time

Don't waste another minute of your precious life on poor quality videos on YouTube. Or instructors who you can't understand. Or teachers who have no real world in-person teaching experience. Your time is precious. Take this course and find out why everybody is raving about it and why over 35,000 students rated my courses 5 stars.

Don't waste your money

Inside this course, you're getting exactly the same course materials and curriculum as our 12 week in-person programming bootcamp. Instead of spending $8000+ dollars and taking time off work, save loads of money by getting this course and do it at your own pace.

Don't just take my word for it, see what my past students had to say about my courses:

"Angela is literally my favorite teacher. Ever. In the entire universe. She is hilarious and teaches in a lighthearted and fun way that is also very clear to understand. I instantly purchased this course as soon as I saw it was released because I know Angela delivers the highest quality educational content possible. 100% recommend this course (as well as every other course she's created). Thank you Angela for helping me as I make a career pivot into becoming a hybrid UX designer/mobile developer. " - Jacob Pernell

"Angela is my favorite Udemy professor for coding courses. Her methods for building onto the material so that you're never progressing too fast or too slow make for a really engaging learning experience. She's thorough in her explanations, and uses fun projects to discuss the material. I had started a couple other Flutter courses before finding this one, and I've progressed more in 24hrs than I did in a week with the other courses. Would love an advanced Flutter course from Angela to tackle once I'm done with this one. " - Jerome Llouche

"You will not find a better teacher than Angela. She does a wonderful job of encouraging you to learn swift the right way. I want to encourage everyone thinking about taking this class to get it, as it is the BEST programming class I've seen on anywhere and I've tried more than a few of them. If you are looking for an excellent swift programming course, stop there here because you have found it. You will learn Swift from the very beginning of programming all the way through making your own apps that you can upload to the App store." - Ian Hopjins

"SO GOOD.  Retention rate is incredible because Angela does a great job in explaining and teaching every aspect of what we are doing. Most of the other instructors on Udemy put code on the screen and pretend nothing happened. This course is amazing. 5/5" - Muhammad Ibrahim

"Angela is a spectacular teacher. " - Marco Zanirato

"This course was terrific. Only after taking a few more courses from others that I realized how good this course was. This course taught me more than I was expecting, it provided great instructions and a lot of hands-on tasks to drill-in the concept." - Marc

"Best use of your money. I was a complete beginner but Angela made me a pro in weeks." - Burak Tunçbilek

"IT IS #1. Absolutely Amazing. The best iOS course i have ever taken. Angela explains everything the way it needs to be explained, so everything is easily understood. The concept of this course is built to make you learn, not just watch and repeat. Angela is highly educated and it is very much noticeable during the entire course. Again, it is fantastic. Thank you. Please create more courses. " - Eduard Khachian

Are you trying to choose between all the different Flutter courses on Udemy? Take a look at what students on my course had to say about this:

I have revamped my expectation for what a 5 star course should be for Udemy. Angela, you're awesome. I already rated the course as 5 stars early on (at about 20% completion), but after completing roughly 70% of the course, I can say this is my favourite Udemy course as of today. Brilliant course Angela. - Alberto L

"I took a lot of courses on Udemy and elsewhere and non of them were as clear and perfectly paced as this one. Angelas approach is really awesome, deep and clear." - Žan Fras

"I have taken several iOS courses, so far this course had the best explanation on swift and xcode documentation. The lecturer is kinda humorous sometimes which make this course even more enjoyable." - Bryan Pukanda

"I have taken lots of courses on udemy and elsewhere for self learning and i can tell you with all the honesty this is one course which i did not want it to end. It is like one of those movies that you wish keeps going. Whatever concepts are covered were covered very beautifully and made learning quite simple. I got so many answers to Why? in this course like how closures work and why they work that way... why delegates work that way. Thank you so much for this course." - Arun Lakhera

"I compare this to another top iOS class on Udemy, but I think that this one beats it. The reason? Angela doesn't show you a plethora of material and then say that we will discuss this later, or say "just do this. You will see why later." She goes into the reason for doing something before doing it."  - Clyde Addison

REMEMBER… I'm so confident that you'll love this course that we're offering a FULL money back guarantee for 30 days. So it's a complete no-brainer, sign up today with ZERO risk and

So what are you waiting for? Click the buy now button and join the world's best Flutter development course.

Enroll now

What's inside

Learning objectives

  • Build beautiful, fast and native-quality apps with flutter
  • Become a fully-fledged flutter developer
  • Build ios and android apps with just one codebase
  • Build ios and android apps using just one programming language (dart)
  • Build a portfolio of beautiful flutter apps to impress any recruiter
  • Understand all the fundamental concepts of flutter development
  • Become proficient in one of the fastest growing technologies

Syllabus

Introduction to Cross-Platform Development with Flutter and Dart
Introduction to the Course
Download the Course Syllabus

So the first thing that I want to talk about is what exactly is flutter. And to be able to answer this question we first have to put ourselves into the mind of a mobile app developer. This is Bob.



And at some point he finally has had enough and he decides to go and buy loads and loads of books study



Now this is great for the users but for Bob it means that when he has any updates that he wants to make to the app or any bug fixes he has to push those both to the Play Store as well as the app store. It doesn't look right. What is wrong with your app. Now this is because not only does he have to support a huge array of different screen sizes and aspect ratios for the Iaw ecosystem the eye pads the iPhones the older iPhones but he also now has a whole bunch of Android devices and because Android devices can be made by literally anybody the number of different screen sizes is just massive.



The guys that flutter had this question more and more so we're seeing screens everywhere. So why can't we create something that can intelligently and easily allow developers to design beautiful interfaces for all of these different types of screens. So this means that instead of having to make ISIS apps the Apple way and make Android apps the android way you can simply use a whole bunch of pre-built widgets from flutter such as a floating action button or a linear progress indicator. And you can simply put these into your app no matter which platform you're working on and they've even designed widgets that look the part for each platform.



This is how flutter works you get access to a whole bunch of widgets so you can see these widgets as Lego blocks almost. And by plugging them together and customizing it you end up with your beautiful app that can be deployed almost anywhere. Let's take a look at how easy it can be working with widgets in real life. I've created a blank app and I'm going to go ahead and add an app bar and this is a pre-built widget which is built by flutter.



And as soon as I hit save my app bar gets painted onto the screen. So let's customize it to change it to red. So now I added colors widget and I changed the color. So now let's add a text widget that adds a title to the APA.



And just like Lego I've plucked together all my widgets and I've managed to build my app bar in a matter of seconds and there's loads of different widgets that are pre-built. I can build up my app and customize it to my liking with very few lines of code. Now what if I wanted some functionality.

Read more
Why Flutter?
The Anatomy of a Flutter App
How to Watch the Course in High Definition
How to Get the Most Out of the Course
Join the Student Community
Setup and Installation
Prerequisites for Flutter Development
Overview of the Process
Windows Setup Step 1 - Install the Flutter SDK
Windows Setup Step 2 - Install Android Studio
Windows Setup Step 3 - Install the Android Emulator
Windows Installation Troubleshooting
A Quick Note About macOS Catalina
Mac Setup Step 1 - Install the Flutter SDK
Mac Setup Step 2 - Install Android Studio
Mac Setup Step 3 - Install the Android Emulator
Mac Setup Step 4 - Install Xcode and Command Line Tools
Mac Setup Step 5 - Test the iOS Simulator
Mac Installation Troubleshooting
[Optional] Configure Android Studio for Flutter Development
[Optional] Guided Tour of Android Studio for Flutter Development
How to Create Flutter Apps From Scratch
Creating a New Flutter Project from Scratch
A quick note about Hot Reload
Scaffolding a Flutter App
Working with Assets in Flutter & the Pubspec file
How to Add App Icons to the iOS and Android Apps
How to Ace this Course
Running Your App on a Physical Device
Deploying Your Flutter Apps to a Physical Device
Deploying Flutter Apps to an Android Phone
Deploying Flutter Apps to iPhones/iPads
Tip from Angela - Habit Building with the Calendar Trick
I Am Poor - App Challenge
What are App Challenges?
The I Am Poor Challenge
Show Off Your Work!
Tip from Angela - Dealing with Distractions
Do You Want This?
Using Flutter Widgets for Layout and UI Design
MiCard - A Single Screen Personal Business Card App
Hot Reload and Hot Restart - Flutter Power Tools
How to Use Container Widgets
How to use Column & Row Widgets for Layout
Flutter Layouts Challenge
Tapping into Widget Properties
Incorporating Custom Fonts in Your Flutter App
Adding Material Icons with the Icon Widget
Flutter Card & ListTile Widgets
Download the Completed Project
Tip from Angela - Nothing Easy is Worth Doing!
setState Reactive delcarative imperitive dart
Dicee - A Stateful Dice App
Using the Expanded Widget to Create Flexible Layouts
How to Use Intention Actions
Adding Gesture Detection with Flutter Button Widges
[Dart] Functions - Part 1
Making the Dice Image Change Reactively
[Dart] Variables
[Dart] Data Types
Stateful vs. Stateless Widgets - What's the Difference?
Randomising the Dice
Challenge 1 Solution
Challenge 2 Solution
Challenge 3 Solution
Tip from Angela - How to Deal with Procrastination
Boss Level Challenge 1 - Magic 8 Ball
Magic 8 Ball - A Decision Making App
Step 1 - Set Up The Project
Step 2 - Create a Stateless Widget
Step 3 - Create a Stateful Widget
Step 4 - Make it Interactive
Step 5 - Randomise it
Step 6 - Update the State
Customise It!
Tip from Angela - Building a Programming Habit
Xylophone - Using Flutter and Dart Packages to Speed Up Development
Xylophone - A Simple Musical Instrument App
What are Flutter & Dart Packages?
How to Play Sound Across Platforms
How to Play Multiple Sounds
[Dart] Functions - Part 2
Updating the UI of Our App
[Dart] Functions - Part 3
[Dart] Functions Challenge
Refactoring Our App
[Dart] Arrow Functions
Tip from Angela - The 20 Minute Method
Quizzler -Modularising & Organising Flutter Code
Quizzler - A True/False Quiz App
Building a Score Keeper
[Dart] Lists
Displaying the Questions

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches Flutter and Dart, which are essential for developing cross-platform mobile apps
Taught by Dr. Angela Yu, who is recognized for her work in mobile app development
Develops skills and knowledge that are highly relevant to the mobile app development industry
Offers a comprehensive study of Flutter and Dart, which are essential for mobile app development
Requires access to expensive software or hardware

Save this course

Save The Complete Flutter Development Bootcamp with Dart to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in The Complete Flutter Development Bootcamp with Dart with these activities:
Review Dart Concepts
Dart is the language used in Flutter. Refresh your understanding of basic Dart concepts like variables, data types, functions, and control structures.
Browse courses on Dart
Show steps
  • Go through online documentation or tutorials on Dart
  • Solve coding challenges or practice writing Dart code
Review Object-Oriented Programming Concepts
Flutter utilizes object-oriented programming principles. Make sure your understanding of OOP concepts like classes, inheritance, and polymorphism is up-to-date.
Show steps
  • Go through online resources or books on OOP concepts
  • Practice writing simple OOP programs in Dart or another OOP language
Attend Flutter Meetups or Online Events
Connect with other Flutter developers at events. Ask questions, share knowledge, and stay up-to-date on the latest advancements in the Flutter community.
Show steps
  • Search for Flutter meetups or online events in your area or online
  • Register for and attend the event
  • Engage with other attendees, ask questions, and share your experiences
Five other activities
Expand to see all activities and additional details
Show all eight activities
Practice Creating Layouts with Flutter
Flutter offers a wide range of widgets for creating layouts. Experiment with different widgets to understand their properties and behaviors.
Browse courses on Widgets
Show steps
  • Use the Container widget to organize and style other widgets
  • Explore the Row widget to arrange widgets horizontally
  • Utilize the Column widget to arrange widgets vertically
  • Experiment with the Flex widget to control the size and alignment of widgets within a layout
Experiment with Flutter Widgets
Flutter offers a vast library of widgets for building UI elements. Explore these widgets and their properties to enhance your understanding and creativity.
Browse courses on Flutter
Show steps
  • Explore the different types of widgets available in Flutter
  • Experiment with customizing the properties of widgets to create unique designs
  • Combine widgets to build more complex and interactive user interfaces
Follow Tutorials on Flutter State Management
State management is a crucial aspect of Flutter development. Search for and follow online tutorials to gain a deeper understanding of techniques like setState and Provider.
Browse courses on State Management
Show steps
  • Locate tutorials that cover Flutter's state management concepts and best practices
  • Walk through real-world examples that demonstrate how state management is implemented in Flutter apps
  • Practice implementing state management techniques in your own projects
Follow Tutorials on Advanced Flutter Techniques
Take your Flutter development skills to the next level by following tutorials on advanced concepts such as custom widgets, animations, or working with databases.
Browse courses on Flutter
Show steps
  • Identify specific advanced Flutter techniques you want to learn
  • Search for and follow tutorials or online courses on those techniques
  • Practice implementing the techniques in your own projects and experiment with different approaches
Design and Build a Flutter App Portfolio
Create a portfolio of Flutter apps to showcase your skills. This hands-on experience will solidify your understanding and boost your confidence in building real-world projects.
Show steps
  • Identify an idea for an app that aligns with your interests or a specific problem you want to solve
  • Sketch out the layout and UI design of your app
  • Implement the app using Flutter widgets and Dart code
  • Test and refine your app to ensure it meets your requirements
  • Publish your app to the appropriate app stores and share it with potential employers

Career center

Learners who complete The Complete Flutter Development Bootcamp with Dart will develop knowledge and skills that may be useful to these careers:
Android Developer
An Android Developer is responsible for the design, development, and testing of applications that run on the Android operating system. This course teaches Flutter, a framework used for building cross-platform mobile apps, including Android apps. By learning Flutter, aspiring Android Developers can expand their skillset and become more competitive in the job market.
iOS Developer
An iOS Developer designs, develops, and tests software applications specifically for Apple iOS devices. Since Flutter, the technology taught in this course, is primarily used for iOS and Android mobile application development, this course would be highly relevant to aspiring iOS Developers. The knowledge gained can directly translate to practical, on-the-job application.
Mobile Application Developer
This course teaches the fundamentals of Dart and Flutter, an open-source UI software development kit used to develop cross-platform applications for iOS and Android. Developers of mobile applications may find it useful to have a deeper understanding of Dart and Flutter, the technologies they use on a daily basis.
Application Developer
An Application Developer is responsible for designing, coding, testing, and deploying mobile or desktop software applications. This course may be of interest to Application Developers because the content centers on designing and coding mobile applications, a key aspect of the job. Learning Flutter, a mobile development framework, can empower Developers with the technical skills needed for the role.
User Interface (UI) Designer
A UI Designer is responsible for designing and developing the user interface of software or web applications. This course focuses on building beautiful, user-friendly apps using Flutter, a popular framework for building mobile apps with a focus on UI. This course would be particularly helpful for UI Designers who want to expand their knowledge into mobile app development.
Front-End Developer
A Front-End Developer is responsible for the design and implementation of the user interface (UI) of a website or web application. This course may be useful for a Front-End Developer because it teaches the fundamentals of Dart, which can be used for both mobile and web development. Additionally, the course teaches how to use Flutter to develop beautiful, user-friendly mobile applications.
Computer Programmer
A Computer Programmer writes and tests code that allows computer applications and software programs to function properly. This course may be useful for aspiring Computer Programmers because it teaches the fundamentals of Dart, a versatile and increasingly popular programming language. Familiarity with Dart can open doors to a wider range of programming opportunities.
Full-Stack Developer
A Full-Stack Developer is responsible for both the front-end and back-end development of a website or web application. By teaching the fundamentals of Dart, a language used in both mobile and web development, this course may be useful for Full-Stack Developers who want to expand their skillset.
Software Developer
A Software Developer writes and maintains the code that makes software applications function. This course may be useful for a budding Software Developer because it teaches the fundamentals of Dart, an object-oriented programming language used for developing Flutter apps, which can run on both iOS and Android. Dart knowledge is a plus for a Software Developer position.
Software Engineer
A Software Engineer designs, develops, tests, and maintains software systems. This course may be useful for a Software Engineer because it teaches the fundamentals of Dart, an object-oriented programming language used for developing Flutter apps, which can run on both iOS and Android. Dart knowledge is a plus for a Software Engineer position.
Software Architect
A Software Architect designs and develops the overall architecture of a software system. This course may be useful for a Software Architect because it teaches the fundamentals of Dart, an object-oriented programming language used for developing Flutter apps, which can run on both iOS and Android. Dart knowledge is a plus for a Software Architect position.
Web Developer
A Web Developer is responsible for the design and development of websites. This course may be useful to a Web Developer because it teaches the fundamentals of Dart, a versatile language used for both web and mobile development. Familiarity with Dart is helpful for a Web Developer, especially one who wants to expand their skillset into mobile apps.
Product Manager
A Product Manager is responsible for the development and execution of a product vision. This course may be useful for a Product Manager because it teaches the fundamentals of Dart, a versatile language used for both mobile and web development. Additionally, the course teaches how to use Flutter to develop beautiful, user-friendly mobile applications. This knowledge can be helpful for Product Managers who want to have a deeper understanding of the technical aspects of product development.
Data Scientist
A Data Scientist analyzes data to extract meaningful insights and patterns. This course may be useful for a Data Scientist because it teaches the fundamentals of Dart, a versatile language increasingly used in data science and machine learning applications. Familiarity with Dart can open doors to a wider range of data science opportunities.
Business Analyst
A Business Analyst analyzes an organization's business processes and makes recommendations for improvements. This course may be useful for a Business Analyst because it teaches the fundamentals of Dart, a versatile and increasingly popular programming language. Familiarity with Dart opens doors to a wider range of programming opportunities that can support business analysis, such as data analysis and automation.

Reading list

We've selected six books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in The Complete Flutter Development Bootcamp with Dart.
Is the official documentation for the Dart programming language. It great resource for learning the language in depth.
Hands-on guide to developing real-world apps with Flutter. It covers all the essential topics, from building a simple app to deploying it to the App Store and Google Play.
Practical guide to the Dart programming language. It valuable resource for anyone who wants to learn more about Dart and how to use it to build software.
Beginner's guide to Flutter. It valuable resource for anyone who wants to learn more about Flutter and how to use it to build mobile apps.
Beginner's guide to Flutter. It valuable resource for anyone who wants to learn more about Flutter and how to use it to build mobile apps.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to The Complete Flutter Development Bootcamp with Dart.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser