We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Flutter & Dart

Complete App Development Course [NEW 2024]

Paulo Dichone | Software Engineer, AWS Cloud Practitioner & Instructor

     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).

Read more

     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.

Enroll now

What's inside

Learning objectives

  • 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

Syllabus

Introduction
About Course Update - 2024 - New VS Legacy Videos
Flutter Development Environment Setup - Overview
Important Message
Read more
Futter Dev Website - Overview
Windows - Flutter Development Environment Setup
Setup Flutter on Windows
MAC - Flutter Development Environment Setup
Flutter Setup on Mac
Download Course Resources
Download - Resources
Code
Setup Visual Studio Code and Running the First Flutter App
Setup VS Code IDE - Installation and Setup
Create a Flutter Project
Running our First Flutter App on Emulator
Why Flutter - Benefits and Motivation Deep Dive
Why Flutter and Benefits and Motivation
Hands-On - The Fortune Cookie App
Randomizing a List of Strings
Dart Basics - Variables, Strings, and Integers and Vars
Dart Basics - Introduction to Functions - the Void
Dart Basics - Function with Int Return Type
Dart Basics - Passing Arguments in Functions
Dart Basics - Function Return Types and Arguments - Put it All together
Hands-On - Fortune Cookie App - Add a Card & Introduction to Widgets
Hands-On - Fortune Cookie App - Add Images as Assets and Show & Final Remarks
Flutter Widgets - Stateful and Stateless Widgets Deep Dive
Flutter Widgets Overview - Stateful vs Stateless Widgets
Widget Hierarchy and Reusability Overview
Hands-On - The Build Method & SetState
The Const Keyword
Tip Calculator App - Introduction and Overview
Tip Calculator - Create Project and Setup the AppBar
Adding a Container and Decorating It
Widgets Documentation & Basics of Theming
Understanding Theme and the BuildContext
Widgets & Dart Classes and Objects - Introduction to OOP
Refactoring Style and Finalizing the Top Widget
Create the Bill Amount Container and the TextField
Creating the Split Bill Section
Adding the Increment and Decrement Functionality
Refactor the PersonCounter Widget
Add the TipPercentage and Slider Widgets
Dart Basics - Required and Named Parameters
Refactor TipSlide Widget
Refactor the BillAmount TextField
Add Tip Calculation Logic
Tip Calculator Full Widget Refactor
Section Summary
Flutter State Management - Provider & Improving Previous Apps
Introduction to Provider State Management Package
Setup Provider & Understanding Flutter Packages and Dependencies
Setup Provider Model Class and Implementing a Consumer
Consumer VS ProviderOf - Overview
Hands-On - ProviderOf Limitations
Hands-On - Random Fortune App - Adding a Provider
Hands-On - Tip Calculator - Add Provider and Code Refactor
Hands-On - Tip Calculator - Add ThemeProvider
Hands-On - Tip Calculator - Implement Dark & Light Modes
Dart Intermediate - Introduction to OOP Inheritance
Dart & Widget - Inheritance in Flutter Widgets
Dart Intermediate - Override and the toString Method
Flutter Navigation - Parsing JSON Files, Listview Widget - Build a Movie App
Navigation - Movie App Demo
Flutter ListviewBuilder Widget - Show Movies on a Listview
Dart - Arrays and Lists and Loops
Dart - Lists and List Types - Adding and Removing Items from a List
Hands-On - Create a Movie Provider
Hands-On - Adding a ListTile for Each Movie - Decorate the List Items
The Movie Model Class - The JSON Movie File Overview
Dart - Dart Maps and Creating a Movie Model Class
Hands-On - Creating the MovieParser Class
Hands-On - Updating MovieProvider to Parse Movies & Show Movies on the List
Dart Future Type - Async - Await - Overview
Hands-On - Costumizing ListItem with ExpansionTile
Hands-On - Adding Navigation to Movie Details Screen
Hands-On - Passing a Movie to Movie Details Screen
Refactor - Extract Custom Widget
Hands-On - Adding Image to the CircleAvatar
Hands-On - Show Image Posters on Details Screen
Hands-On - Hide the Read More Button
Data Persistence with Sqlite Database & Parsing JSON From APIs - Book Tracker
Introduction to the Book Tracker App - Demo
Hands-On - Create the Book Reader Project & Adding the BottomNavigationBar
Hands-On - Setting up the onTap for NavigationBarItem
Hands-On - Creating All Screens and Showing On BottomNavItem Clicked
The Google Books API Endpoint - Overview
Hands-On - Create the Book Model Class
Hands-On - The Network Class
Hands-On - Getting JSON Payload and Showing in the Console
Hands-On - Create a List of Book Objects Mapped into Objects & Show Them
Dart Basics - Control Flow - Branching
Dart Basics - The NOT Operator
Dart Basics - TryCatch and Exceptions
Hands-On - Showing Book Searches on a Listview
Hands-On - Adding a Gridview and Showing Book Images

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores Dart, which is the latest version of Google's language for building Android apps
Taught by Paulo Dichone, a recognized expert in Flutter app development
Develops Android and iOS app development skills, which are core skills for mobile developers
Provides a comprehensive study of Flutter, from the basics to advanced concepts
Requires no prior programming experience, making it accessible to beginners
Emphasizes hands-on practice, which is important for solidifying understanding

Save this course

Save Flutter & Dart: Complete App Development Course [NEW 2024] to your list so you can find it easily later:
Save

Reviews summary

Flutter and dart for beginners

Learners say this well-received course is a great way to break into Flutter and Dart for beginners. The instructor delivers the content in a clear and engaging way with interesting projects that kept learners motivated throughout the course. One learner mentioned that they would have preferred if each section was not started within a single centralized file. In general, this course is highly recommended for anyone looking to master Flutter and Dart.
Coursework keeps learners interested and motivated.
"Instructor delivers this course with interesting projects and good pace."
Covers Flutter and Dart in detail.
"This course is excellent."
"Everything is explained clearly and it kept me interested throughout."
Content easy for beginners to understand.
"Everything is explained clearly and it kept me interested throughout."
Course perfect for beginners looking to learn Flutter and Dart.
"This course is a must have for beginners."
"Highly recommended."
Some learners had trouble with the way the course was organized.
"One thing that made me uncomfortable. Instructor starts each section/project in one centralized file, which made learning a bit confusing at times."
A lot of scrolling is required in the code editor due to organization.
"Lots of scrolling up and down got me lost at times, as to which code block is being handled."

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 Flutter & Dart: Complete App Development Course [NEW 2024] with these activities:
Compile course materials
Reviewing course materials helps you identify gaps, prepare for class, and improves your retention.
Browse courses on Flutter
Show steps
  • Gather syllabus, notes, assignments and any supplemental materials
  • Organize and label materials by day, topic, or week
  • Identify gaps and areas needing more attention
  • Create a study plan to focus your efforts
Follow online tutorials
Tutorials provide additional explanations and examples to enhance your understanding of course concepts.
Browse courses on Flutter
Show steps
  • Identify online tutorials that align with course topics
  • Review the tutorial material
  • Follow along with the tutorial, step-by-step
  • Complete any exercises or quizzes to test your comprehension
Build a Flutter App from Scratch
Start a small project to build a functioning Flutter app from scratch. This will solidify your understanding of the basics and help you gain practical experience.
Browse courses on Flutter
Show steps
  • Choose a simple app idea
  • Set up your development environment
  • Create a new Flutter project
  • Add widgets to create your app's UI
  • Implement functionality and connect your app to a backend (optional)
Five other activities
Expand to see all activities and additional details
Show all eight activities
Participate in study groups
Study groups facilitate deeper understanding, encourage collaboration, and provide support from peers.
Browse courses on Flutter
Show steps
  • Form a study group with classmates
  • Set regular meeting times
  • Review course materials together
  • Work through exercises and projects collaboratively
Practice coding exercises
Coding exercises reinforce concepts, improve problem-solving skills, and boost confidence in applying the materials.
Browse courses on Dart
Show steps
  • Identify practice exercises from your textbook, online resources or the course website
  • Review the theory behind the exercise
  • Attempt to solve the exercise on your own
  • Compare your solution with provided answers or consult with peers or instructors
Create a code repository
Creating a code repository allows you to track your progress, collaborate with others, and showcase your skills.
Browse courses on Flutter
Show steps
  • Choose a version control system (e.g., Git)
  • Create a new repository on a platform like GitHub or GitLab
  • Push your course-related code to the repository
  • Organize your code into logical folders and files
Create a Flutter documentation
Creating a documentation helps you consolidate your knowledge, improve your communication skills, and prepare you for real-world scenarios.
Browse courses on Flutter
Show steps
  • Identify a specific aspect of Flutter or Dart that you want to document
  • Research and gather information from multiple sources
  • Organize and structure your documentation in a clear and concise manner
  • Use examples and illustrations to enhance understanding
Build a simple Flutter app
Building a project applies the concepts you've learned, boosts your confidence, and expands your portfolio.
Browse courses on Flutter
Show steps
  • Identify a simple app idea that aligns with course topics
  • Design the UI and UX of your app
  • Implement the app's functionality using Flutter and Dart
  • Test and debug your app
  • Deploy your app to a mobile device or emulator

Career center

Learners who complete Flutter & Dart: Complete App Development Course [NEW 2024] will develop knowledge and skills that may be useful to these careers:
Flutter Developer
A Flutter Developer is a software engineer who specializes in developing mobile applications using the Flutter framework. Flutter is an open-source framework created by Google that allows developers to build native-looking mobile apps for both iOS and Android using a single codebase. This course provides a comprehensive overview of Flutter, covering everything from the basics of the Dart programming language to advanced topics such as state management and data persistence. By taking this course, you will gain the skills and knowledge necessary to build your own Flutter apps and pursue a career as a Flutter Developer.
Mobile Application Developer
Mobile Application Developers are responsible for designing, developing, and maintaining mobile apps for various platforms, including iOS and Android. This course provides a solid foundation in mobile development concepts and technologies, including the Flutter framework. By completing this course, you will gain the skills and knowledge necessary to build and deploy your own mobile apps, opening up career opportunities as a Mobile Application Developer.
Software Engineer
Software Engineers are responsible for designing, developing, and maintaining software systems. This course provides a strong foundation in software development principles and practices, including object-oriented programming and design patterns. While not specifically tailored to Flutter development, the skills and knowledge gained from this course can be applied to a wide range of software engineering roles, including those that involve mobile app development.
Android Developer
Android Developers specialize in developing mobile applications for the Android platform. While this course focuses on Flutter, which allows for cross-platform development, it also covers topics specific to Android development, such as Android Studio and the Android SDK. By taking this course, you can gain the skills and knowledge necessary to build Android apps, opening up career opportunities as an Android Developer.
iOS Developer
iOS Developers specialize in developing mobile applications for the iOS platform. While this course focuses on Flutter, which allows for cross-platform development, it also covers topics specific to iOS development, such as Xcode and the iOS SDK. By taking this course, you can gain the skills and knowledge necessary to build iOS apps, opening up career opportunities as an iOS Developer.
Front-End Developer
Front-End Developers are responsible for designing and developing the user interface (UI) of websites and applications. While this course focuses on mobile development, the principles of UI design and development are applicable to both web and mobile platforms. By taking this course, you can gain the skills and knowledge necessary to build visually appealing and user-friendly interfaces, opening up career opportunities as a Front-End Developer.
Back-End Developer
Back-End Developers are responsible for designing and developing the server-side logic of websites and applications. While this course focuses on mobile development, the principles of back-end development are applicable to both web and mobile platforms. By taking this course, you can gain the skills and knowledge necessary to build robust and scalable back-end systems, opening up career opportunities as a Back-End Developer.
Full-Stack Developer
Full Stack Developers are responsible for both the front-end and back-end development of websites and applications. While this course focuses on mobile development, the principles of full stack development are applicable to both web and mobile platforms. By taking this course, you can gain the skills and knowledge necessary to build complete software systems, opening up career opportunities as a Full Stack Developer.
UI/UX Designer
UI/UX Designers are responsible for designing the user interface (UI) and user experience (UX) of websites and applications. While this course focuses on the technical aspects of mobile development, it also covers topics related to UI/UX design, such as user research and prototyping. By taking this course, you can gain the skills and knowledge necessary to design user-friendly and visually appealing interfaces, opening up career opportunities as a UI/UX Designer.
Product Manager
Product Managers are responsible for managing the development and launch of new products. While this course focuses on the technical aspects of mobile development, it also covers topics related to product management, such as market research and user feedback. By taking this course, you can gain the skills and knowledge necessary to bring new products to market, opening up career opportunities as a Product Manager.
Technical Writer
Technical Writers are responsible for creating documentation and training materials for software and technology products. While this course focuses on the technical aspects of mobile development, it also covers topics related to technical writing, such as document structure and style. By taking this course, you can gain the skills and knowledge necessary to create clear and concise technical documentation, opening up career opportunities as a Technical Writer.
Quality Assurance Analyst
Quality Assurance Analysts are responsible for testing and ensuring the quality of software products. While this course focuses on the technical aspects of mobile development, it also covers topics related to quality assurance, such as testing methodologies and defect tracking. By taking this course, you can gain the skills and knowledge necessary to ensure the quality of software products, opening up career opportunities as a Quality Assurance Analyst.
Project Manager
Project Managers are responsible for planning, executing, and closing software development projects. While this course focuses on the technical aspects of mobile development, it also covers topics related to project management, such as project planning and risk management. By taking this course, you can gain the skills and knowledge necessary to manage software development projects, opening up career opportunities as a Project Manager.
Business Analyst
Business Analysts are responsible for understanding and analyzing business needs and translating them into technical requirements. While this course focuses on the technical aspects of mobile development, it also covers topics related to business analysis, such as requirements gathering and process modeling. By taking this course, you can gain the skills and knowledge necessary to bridge the gap between business and technology, opening up career opportunities as a Business Analyst.
Data Analyst
Data Analysts are responsible for collecting, cleaning, and analyzing data to identify trends and patterns. While this course focuses on the technical aspects of mobile development, it also covers topics related to data analysis, such as data visualization and statistical modeling. By taking this course, you can gain the skills and knowledge necessary to derive insights from data, opening up career opportunities as a Data Analyst.

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 Flutter & Dart: Complete App Development Course [NEW 2024].
Collection of practical recipes that cover a wide range of Dart development scenarios. It valuable resource for both beginners and experienced Dart developers who are looking to expand their skills.
Provides an in-depth exploration of Flutter's architecture, performance, and best practices. It covers topics such as state management, asynchronous programming, and testing, helping developers build robust and scalable Flutter applications.
Provides a good foundation in design patterns, which are essential for writing robust and maintainable code in any programming language, including Dart and Flutter. It uses a unique and engaging approach to explain complex concepts, making it easier to grasp and apply design patterns in your own development projects.
While not specific to Flutter, this book highly respected work in the software development community and can provide valuable insights into designing and structuring software applications, including those built with Flutter.
This beginner-friendly guide provides a gentle introduction to Dart programming, covering topics such as variables, data types, and control flow. It is suitable for individuals with no prior programming experience who want to learn the basics of Dart.

Share

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

Similar courses

Here are nine courses similar to Flutter & Dart: Complete App Development Course [NEW 2024].
Flutter & Dart - The Complete Guide [2024 Edition]
Most relevant
The Complete Flutter Development Bootcamp with Dart
Most relevant
Debugging, Testing, and Publishing a Flutter 2 App
Most relevant
Developing Mobile-specific Features with Flutter
Most relevant
Flutter 2: Getting Started
Most relevant
Creating an Interactive Story with Flutter
Most relevant
Flutter - Beginners Course
Most relevant
Creating an Calculator App with Flutter
Most relevant
Creating Layouts with Flutter 2
Most relevant
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