5.00
(1 Rating)
Flutter & Dart – The Complete Guide (2024 Edition)
About Course
Learn Flutter and Dart for free with this comprehensive guide! This course covers everything you need to know to build stunning mobile apps for iOS and Android.
This course is designed for absolute beginners with no prior programming experience, as well as for those with existing iOS, Android or other development skills. Learn from expert instructor Maximilian Schwarzmüller and build your own apps by the end of the course.
Here’s what you’ll learn:
- Flutter and Dart basics
- Widgets and UI design
- Debugging tips and tricks
- Page navigation
- State management solutions
- User input handling and validation
- Backend integration with HTTP requests
- User authentication
- Google Maps integration
- Using device features like the camera
- Animations and page transitions
- Image upload
- Push notifications
- And much more!
Course highlights:
- On-demand video learning
- Lifetime access
- Regularly updated content
Why choose Flutter?
- Developed by Google
- Build native apps for both iOS and Android with a single codebase
- Rich widget suite for creating beautiful UIs
Enroll now for free! This course is completely free and available on Theetay. The course is from Udemy.
What Will You Learn?
- Learn Flutter and Dart from the ground up, step-by-step
- Build engaging native mobile apps for both Android and iOS
- Use features like Google Maps, the device camera, authentication and much more!
- Learn how to upload images and how to send manual and automated push notifications
- Learn all the basics without stopping after them: Dive deeply into Flutter & Dart and become an advanced developer
Course Content
01 – Introduction
-
001 Welcome To This Course!.mp4
00:00 -
002 What Is Flutter.mp4
00:00 -
003 Flutter uses Dart!.mp4
00:00 -
004 One Codebase, Multiple Platforms.mp4
00:00 -
005 Flutter Setup – Overview.mp4
00:00 -
006 Windows Setup.mp4
00:00 -
007 macOS Setup.mp4
00:00 -
008 Project Creation & Setting Up a Code Editor for Flutter Development.mp4
00:00 -
009 Course Setup.html
00:00 -
010 Running a First Flutter App.mp4
00:00 -
011 Understanding Material Design.mp4
00:00 -
012 About This Course.mp4
00:00 -
013 Course Resources (Code Snapshots, Community & Slides).html
00:00 -
external-links.txt
00:00 -
Section Quiz
02 – Flutter & Dart Basics I – Getting a Solid Foundation (ROLL DICE APP)
-
001 Module Introduction.mp4
00:00 -
002 Analyzing A New Flutter Project.mp4
00:00 -
003 From Dart To Machine Code.mp4
00:00 -
004 How Programming Languages Work.mp4
00:00 -
005 Starting From Scratch Understanding Functions.mp4
00:00 -
006 Importing Features From Packages.mp4
00:00 -
007 How Flutter Apps Start.mp4
00:00 -
008 Knowledge Check Flutter & Dart Basics.html
00:00 -
009 Understanding Widgets.mp4
00:00 -
010 Using a First Widget & Passing Values to Functions.mp4
00:00 -
011 Positional & Named Arguments.mp4
00:00 -
012 Deep Dive Position & Named Arguments.html
00:00 -
013 Combining Multiple Widgets.mp4
00:00 -
014 Understanding const Values.mp4
00:00 -
015 Building More Complex Widget Trees.mp4
00:00 -
016 Understanding Value Types.mp4
00:00 -
017 Configuring Widgets & Understanding Objects.mp4
00:00 -
018 Working with Configuration Objects (Non-Widget Objects).mp4
00:00 -
019 Generics, Lists & Adding Gradient Colors.mp4
00:00 -
020 How To Configure Widgets & Objects.mp4
00:00 -
021 Practice Styling Text.mp4
00:00 -
022 Onwards to Custom Widgets Why Do You Need Them.mp4
00:00 -
023 Understanding Classes.mp4
00:00 -
024 Building Custom Widgets.mp4
00:00 -
025 Working with Constructor Functions.mp4
00:00 -
026 Splitting Code Across Files.mp4
00:00 -
027 Practice Create a Custom Widget.mp4
00:00 -
028 Introducing Variables.mp4
00:00 -
029 Variables & Types – Combining Two Key Concepts.mp4
00:00 -
030 final & const – Special Kinds Of Variables.mp4
00:00 -
031 Instance Variables (Properties) & Configurable Widgets.mp4
00:00 -
032 Practice Reusable Widgets & Constructor Functions.mp4
00:00 -
033 Displaying Images & Using Multiple Constructor Functions.mp4
00:00 -
034 Adding Buttons & Using Functions As Values.mp4
00:00 -
035 Styling Buttons & Working with Padding.mp4
00:00 -
036 How NOT To Build Interactive Widgets.mp4
00:00 -
037 Introducing Stateful Widgets.mp4
00:00 -
038 Generating Random Numbers.mp4
00:00 -
039 Module Summary.mp4
00:00 -
external-links.txt
00:00 -
Section Quiz
03 – Flutter & Dart Basics II – Fundamentals Deep Dive (QUIZ APP)
-
001 Module Introduction.mp4
00:00 -
002 A Challenge For You!.mp4
00:00 -
003 Challenge Solution 12 – Creating a Widget.mp4
00:00 -
004 Challenge Solution 22 – Working with More Widgets.mp4
00:00 -
005 Adding Icons to Buttons.mp4
00:00 -
006 Adding Transparency to Widgets.mp4
00:00 -
007 Repetition & Exercise Adding a Stateful Widget.mp4
00:00 -
008 Rendering Content Conditionally.mp4
00:00 -
009 Accepting & Passing Functions as Values.mp4
00:00 -
010 The initState Method.mp4
00:00 -
011 Deep Dive Flutter’s (Stateful) Widget Lifecycle.html
00:00 -
012 Using Ternary Expressions & Comparison Operators.mp4
00:00 -
013 Understanding if Statements.mp4
00:00 -
014 Using if Statements In Lists.html
00:00 -
015 if Statements & Comparison Operators.html
00:00 -
016 Adding a Data Model & Dummy Data.mp4
00:00 -
017 Configuring a Column.mp4
00:00 -
018 Creating a Reusable, Custom Styled Button.mp4
00:00 -
019 Accessing List Elements & Object Properties.mp4
00:00 -
020 Mapping Lists & Using the Spread Operator.mp4
00:00 -
021 Alignment, Margin & Padding.mp4
00:00 -
022 Mutating Values in Memory.mp4
00:00 -
023 Managing The Questions Index As State.mp4
00:00 -
024 More on Button Styling.mp4
00:00 -
025 Using Third-Party Packages & Adding Google Fonts.mp4
00:00 -
026 Passing Data via Functions Across Widgets.mp4
00:00 -
027 More Conditions.mp4
00:00 -
028 Getting Started with the Results Screen.mp4
00:00 -
029 Passing Data to the Results Screen.mp4
00:00 -
030 Introducing Maps & for Loops.mp4
00:00 -
031 Using for Loops In Lists.html
00:00 -
032 Note A Typo In The Next Lecture.html
00:00 -
033 Accessing Map Values & Using Type Casting.mp4
00:00 -
034 Combining Columns & Rows.mp4
00:00 -
035 Expanded To The Rescue!.mp4
00:00 -
036 Filtering & Analyzing Lists.mp4
00:00 -
037 Making Content Scrollable with SingleChildScrollView.mp4
00:00 -
038 Beyond the Basics Optional, Important Dart Features.mp4
00:00 -
039 Module Summary.mp4
00:00 -
external-links.txt
00:00 -
Section Quiz
04 – Debugging Flutter Apps
-
001 Module Introduction.mp4
00:00 -
002 The Starting Project & A Problem.mp4
00:00 -
003 Understanding Error Messages.mp4
00:00 -
004 Debugging Apps & Using Debug Mode.mp4
00:00 -
005 Working with the Flutter DevTools.mp4
00:00 -
006 Running the App on Real iOS or Android Devices.html
00:00 -
external-links.txt
00:00 -
Section Quiz
05 – Adding Interactivity, More Widgets & Theming (EXPENSE TRACKER APP)
-
001 Module Introduction.mp4
00:00 -
002 Starting Setup & Repetition Time!.mp4
00:00 -
003 Adding an Expense Data Model with a Unique ID & Exploring Initializer Lists.mp4
00:00 -
004 Introducing Enums.mp4
00:00 -
005 Creating Dummy Data.mp4
00:00 -
006 Efficiently Rendering Long Lists with ListView.mp4
00:00 -
007 Using Lists Inside Of Lists.mp4
00:00 -
008 Creating a Custom List Item with the Card & Spacer Widgets.mp4
00:00 -
009 Using Icons & Formatting Dates.mp4
00:00 -
010 Setting an AppBar with a Title & Actions.mp4
00:00 -
011 Adding a Modal Sheet & Understanding Context.mp4
00:00 -
012 Handling User (Text) Input with the TextField Widget.mp4
00:00 -
013 Getting User Input on Every Keystroke.mp4
00:00 -
014 Letting Flutter do the Work with TextEditingController.mp4
00:00 -
015 Time to Practice Adding a New Input.mp4
00:00 -
016 Exercise Solution.mp4
00:00 -
017 Closing The Modal Manually.mp4
00:00 -
018 Showing a Date Picker.mp4
00:00 -
019 Working with Futures for Handling Data from the Future.mp4
00:00 -
020 Adding a Dropdown Button.mp4
00:00 -
021 Combining Conditions with AND and OR Operators.mp4
00:00 -
022 Validating User Input & Showing an Error Dialog.mp4
00:00 -
023 Saving New Expenses.mp4
00:00 -
024 Creating a Fullscreen Modal.mp4
00:00 -
025 Using the Dismissible Widget for Dismissing List Items.mp4
00:00 -
026 Showing & Managing Snackbars.mp4
00:00 -
027 Flutter & Material 3.html
00:00 -
028 Getting Started with Theming.mp4
00:00 -
029 Setting & Using a Color Scheme.mp4
00:00 -
030 Setting Text Themes.mp4
00:00 -
031 Using Theme Data in Widgets.mp4
00:00 -
032 Important Adding Dark Mode.html
00:00 -
033 Adding Dark Mode.mp4
00:00 -
034 Using Another Kind of Loop (for-in).mp4
00:00 -
035 Adding Alternative Constructor Functions & Filtering Lists.mp4
00:00 -
036 Adding Chart Widgets.mp4
00:00 -
037 Module Summary.mp4
00:00 -
external-links.txt
00:00 -
Section Quiz
06 – Building Responsive & Adaptive User Interfaces (EXPENSE TRACKER APP)
-
001 Module Introduction.mp4
00:00 -
002 What is Responsiveness.mp4
00:00 -
003 Locking the Device Orientiation.mp4
00:00 -
004 Updating the UI based on the Available Space.mp4
00:00 -
005 Understanding Size Constraints.mp4
00:00 -
006 Handling to Screen Overlays like the Soft Keyboard.mp4
00:00 -
007 Understanding Safe Areas.mp4
00:00 -
008 Using the LayoutBuilder Widget.mp4
00:00 -
009 Building Adaptive Widgets.mp4
00:00 -
010 Module Summary.mp4
00:00 -
external-links.txt
00:00 -
Section Quiz
07 – Flutter & Dart Internals (TODO APP)
-
001 Module Introduction.mp4
00:00 -
002 Three Trees Widget Tree, Element Tree & Render Tree.mp4
00:00 -
003 How The UI Is Updated.mp4
00:00 -
004 Refactor & Extract Widgets To Avoid Unnecessary Builds.mp4
00:00 -
005 Understanding Keys – Setup.mp4
00:00 -
006 Which Problem Do Keys Solve.mp4
00:00 -
007 Understanding & Using Keys.mp4
00:00 -
008 Mutating Values in Memory & Making Sense of var, final & const.mp4
00:00 -
009 Module Summary.mp4
00:00 -
external-links.txt
00:00 -
Section Quiz
08 – Building Multi-Screen Apps & Navigating Between Screens (MEALS APP)
-
001 Module Introduction.mp4
00:00 -
002 Project Setup.mp4
00:00 -
003 Using a GridView.mp4
00:00 -
004 Widgets vs Screens.mp4
00:00 -
005 Displaying Category Items on a Screen.mp4
00:00 -
006 Making any Widget Tappable with InkWell.mp4
00:00 -
007 Adding Meals Data.mp4
00:00 -
008 Loading Meals Data Into a Screen.mp4
00:00 -
009 Adding Cross-Screen Navigation.mp4
00:00 -
010 Passing Data to the Target Screen.mp4
00:00 -
011 Introducing the Stack Widget.mp4
00:00 -
012 Improving the MealItem Widget.mp4
00:00 -
013 Adding Navigation to the MealDetails Screen.mp4
00:00 -
014 Improving the MealDetails Screen.mp4
00:00 -
015 Adding Tab-based Navigation.mp4
00:00 -
016 Passing Functions Through Multiple Layers of Widgets (for State Management).mp4
00:00 -
017 Managing App-wide State & Data.mp4
00:00 -
018 Adding a Side Drawer.mp4
00:00 -
019 Closing the Drawer Manually.mp4
00:00 -
020 Adding a Filter Item.mp4
00:00 -
021 Replacing Screens (Instead of Pushing).mp4
00:00 -
022 Adding More Filter Options.mp4
00:00 -
023 Replacing WillPopScope with PopScope.html
00:00 -
024 Returning Data When Leaving a Screen.mp4
00:00 -
025 Reading & Using Returned Data.mp4
00:00 -
026 Applying Filters.mp4
00:00 -
027 An Alternative Navigation Pattern Using Named Routes.html
00:00 -
028 Module Summary.mp4
00:00 -
external-links.txt
00:00 -
Section Quiz
09 – Managing App-wide State (MEALS APP)
-
001 Module Introduction.mp4
00:00 -
002 What’s The Problem.mp4
00:00 -
003 Installing the Solution Riverpod.mp4
00:00 -
004 How State Management with Riverpod Works.mp4
00:00 -
005 Creating a Provider.mp4
00:00 -
006 Using a Provider.mp4
00:00 -
007 Creating a More Complex Provider with StateNotifier.mp4
00:00 -
008 Using the FavoritesProvider.mp4
00:00 -
009 Triggering a Notifier Method.mp4
00:00 -
010 Getting Started with Another Provider.mp4
00:00 -
011 Combining Local & Provider-managed State.mp4
00:00 -
012 Outsourcing State Into The Provider.mp4
00:00 -
013 Connecting Multiple Providers With Each Other (Dependent Providers).mp4
00:00 -
014 Swapping The Favorite Button Based On Provider State.mp4
00:00 -
015 Module Summary.mp4
00:00 -
016 riverpod vs provider – There are many Alternatives!.html
00:00 -
external-links.txt
00:00 -
Section Quiz
10 – Adding Animations (MEALS APP)
-
001 Module Introduction.mp4
00:00 -
002 Setup & Understanding Explicit vs Implicit Animations.mp4
00:00 -
003 Explicit Animations Adding an Animation Controller.mp4
00:00 -
004 Explicit Animations Playing the Animation with AnimatedBuilder.mp4
00:00 -
005 Finetuning Explicit Animations.mp4
00:00 -
006 Getting Started with Implicit Animations.mp4
00:00 -
007 Configuring Implicit Animations.mp4
00:00 -
008 Adding Multi-Screen Transitions.mp4
00:00 -
009 Module Summary.mp4
00:00 -
external-links.txt
00:00 -
Section Quiz
11 – Handling User Input & Working with Forms (SHOPPING LIST APP)
-
001 Module Introduction.mp4
00:00 -
002 Setup & A Challenge For You.mp4
00:00 -
003 Challenge Solution 1 – Building & Using Models.mp4
00:00 -
004 Challenge Solution 2 – Building the List UI.mp4
00:00 -
005 Adding a New Item Screen.mp4
00:00 -
006 The Form & TextFormField Widgets.mp4
00:00 -
007 A Form-aware Dropdown Button.mp4
00:00 -
008 Adding Buttons to a Form.mp4
00:00 -
009 Adding Validation Logic.mp4
00:00 -
010 Getting Form Access via a Global Key.mp4
00:00 -
011 Extracting Entered Values.mp4
00:00 -
012 Passing Data Between Screens.mp4
00:00 -
013 Final Challenge Solution.mp4
00:00 -
014 Module Summary.mp4
00:00 -
external-links.txt
00:00 -
Section Quiz
12 – Connecting a Backend & Sending HTTP Requests (SHOPPING LIST APP)
-
001 Module Introduction.mp4
00:00 -
002 What’s a Backend And Why Would You Want One.mp4
00:00 -
003 What Is HTTP & How Does It Work.mp4
00:00 -
004 Setting Up a Dummy Backend (Firebase).mp4
00:00 -
005 Adding the http Package.mp4
00:00 -
006 Sending a POST Request to the Backend.mp4
00:00 -
007 Working with the Request & Waiting for the Response.mp4
00:00 -
008 Fetching & Transforming Data.mp4
00:00 -
009 Avoiding Unnecessary Requests.mp4
00:00 -
010 Managing the Loading State.mp4
00:00 -
011 Error Response Handling.mp4
00:00 -
012 Sending DELETE Requests.mp4
00:00 -
013 Handling the No Data Case.mp4
00:00 -
014 Better Error Handling.mp4
00:00 -
015 Module Summary.mp4
00:00 -
016 Using the FutureBuilder Widget.mp4
00:00 -
Section Quiz
13 – Using Native Device Features (e.g., Camera) (FAVORITE PLACES APP)
-
001 Module Introduction.mp4
00:00 -
002 Setup & A Challenge For You!.mp4
00:00 -
003 Adding a Place Model (Challenge Solution 16).mp4
00:00 -
004 Adding a Places Screen (Challenge Solution 26).mp4
00:00 -
005 Adding an Add Place Screen (Challenge Solution 36).mp4
00:00 -
006 Adding riverpod & A Provider (Challenge Solution 46).mp4
00:00 -
007 Adding Places with Provider & Displaying Places (Challenge Solution 56).mp4
00:00 -
008 Adding a Place Details Screen (Challenge Solution 66).mp4
00:00 -
009 Adding a Pick an Image Input.mp4
00:00 -
010 Installing the Image Picker Package.mp4
00:00 -
011 Using the Device Camera For Taking Pictures.mp4
00:00 -
012 Adding the Picked Image to the Model & Add Place Form.mp4
00:00 -
013 Previewing the Picked Image.mp4
00:00 -
014 Important location Package & Android.html
00:00 -
015 Adding the location Package & Starting with the Get Location Input Widget.mp4
00:00 -
016 Getting the User’s Current Location.mp4
00:00 -
017 Using the Google Maps API – Setup.mp4
00:00 -
018 Using Google’s Geocoding API.mp4
00:00 -
019 Storing the Location Data in the Model.mp4
00:00 -
020 Displaying a Location Preview Map Snapshot via Google.mp4
00:00 -
021 Using the Picked Location in the Form.mp4
00:00 -
022 Outputting the Location Data.mp4
00:00 -
023 Installing & Configuring the Google Maps Package.mp4
00:00 -
024 Adding a Map Screen.mp4
00:00 -
025 Displaying the Picked Place on a Dynamic Map.mp4
00:00 -
026 Handling Map Taps for Selecting a Location Manually.mp4
00:00 -
027 Using the Map Screen in the Add Place Form.mp4
00:00 -
028 Installing Packages for Local (On-Device) Data Storage.mp4
00:00 -
029 Storing the Picked Image Locally.mp4
00:00 -
030 Storing Place Data in a (On-Device) SQL Database.mp4
00:00 -
031 Loading Data from the SQL Database.mp4
00:00 -
032 Using a FutureBuilder for Loading Data.mp4
00:00 -
033 Module Summary.mp4
00:00 -
034 Adding Your Own Native Code.html
00:00 -
external-links.txt
00:00 -
Section Quiz
14 – Push Notifications & More Building a Chat App with Flutter & Firebase
-
001 Module Introduction.mp4
00:00 -
002 App & Firebase Setup.mp4
00:00 -
003 Adding an Authentication Screen.mp4
00:00 -
004 Adding Buttons & Modes to the Authentication Screen.mp4
00:00 -
005 Validating User Input.mp4
00:00 -
006 Firebase CLI & SDK Setup 12.mp4
00:00 -
007 FlutterFire Configuration.html
00:00 -
008 Firebase CLI & SDK Setup 22.mp4
00:00 -
009 Signing Users Up.mp4
00:00 -
010 Logging Users In.mp4
00:00 -
011 Showing Different Screens Based On The Authentication State.mp4
00:00 -
012 Adding a Splash Screen (Loading Screen).mp4
00:00 -
013 Adding User Logout.mp4
00:00 -
014 Image Upload Setup & First Steps.mp4
00:00 -
015 Adding a User Image Picker Widget.mp4
00:00 -
016 Using the ImagePicker Package.mp4
00:00 -
017 Managing The Selected Image In The Authentication Form.mp4
00:00 -
018 Uploading Images To Firebase.mp4
00:00 -
019 Showing a Loading Spinner Whilst Uploading.mp4
00:00 -
020 Adding a Remote Database Firestore Setup.mp4
00:00 -
021 Sending Data to Firestore.mp4
00:00 -
022 Storing a Username.mp4
00:00 -
023 Adding ChatMessages & Input Widgets.mp4
00:00 -
024 A Note About Reading Data From Firestore.html
00:00 -
025 Sending & Reading Data To & From Firestore.mp4
00:00 -
026 Loading & Displaying Chat Messages as a Stream.mp4
00:00 -
027 Styling Chat Message Bubbles.mp4
00:00 -
028 Push Notifications – Setup & First Steps.mp4
00:00 -
029 Requesting Permissions & Getting an Address Token.mp4
00:00 -
030 Testing Push Notifications.mp4
00:00 -
031 Working with Notification Topics.mp4
00:00 -
032 Sending Push Notifications Automatically via Cloud Functions.mp4
00:00 -
033 Module Summary.mp4
00:00 -
external-links.txt
00:00 -
Section Quiz
15 – About The Course Update
-
001 About the Course Update & How To Proceed.mp4
00:00 -
Section Quiz
16 – Next Steps & Roundup
-
001 Publishing iOS & Android Apps.html
00:00 -
002 Course Roundup.mp4
00:00 -
003 Bonus Lecture.html
00:00
Earn a certificate
Add this certificate to your resume to demonstrate your skills & increase your chances of getting noticed.
Student Ratings & Reviews
5.0
Total 1 Rating
5
1 Rating
4
0 Rating
3
0 Rating
2
0 Rating
1
0 Rating
.