Flutter Crash Course for Beginners - Build a Flutter App with Google's Flutter & Dart

preview_player
Показать описание
Free Flutter Introduction for Beginners: Get Started with Flutter and learn how to build an iOS and Android app with Flutter!
🖥️ Official Website & Courses

👨‍💻 Learn Flutter Today

📝 Flutter vs React Native

👋 Social Media

💬 Academind Community on Discord

#flutterintroduction #fluttercourse #flutterapp
----------
Content:
What is Flutter 00:00
Flutter's Architecture 05:54
How Flutter & Dart Code Gets Compiled
To Native Apps 10:40
Understanding Flutter Versions 13:54
Flutter macOS Setup 16:44
macOS Development Environment 35:34
Flutter Windows Setup 39:42
Windows Development Environment 58:58
Flutter & Material Design 01:02:44
Flutter Alternatives 01:04:00
Course Outline 01:10:06
How To Get The Most Out Of The
Course 01:16:46
Module Introduction 01:19:27
Creating a New Project 01:21:52
An Overview of the Generated Files &
Folders 01:34:07
Analyzing the Default App 01:42:28
Dart Basics 01:48:00
More Dart Basics 02:05:18
Building an App From Scratch 02:18:25
Running the App on an Emulator 02:29:28
Class Constructors & Named
Arguments 02:32:53
First Summary & Additional Syntax 02:41:23
Building a Widget Tree 02:49:34
Visible (Input / Output) & Invisible
(Layout / Control) Widgets 02:57:14
Adding Layout Widgets 03:00:27
Connecting Functions & Buttons 03:07:19
Anonymous Functions 03:14:50
Updating Widget Data (Or: Using
StatelessWidget Incorrectly) 03:18:11
Updating Correctly with Stateful
Widgets 03:24:48
A Brief Look Under The Hood 03:36:46
Using Private Properties 03:39:14
Creating a New, Custom Widget 03:44:31
First Styling & Layouting Steps 03:56:21
Enums & Multiple Constructors 04:04:22
Official Docs & The Widget Catalog 04:08:29
Passing Callback Functions Around 04:11:09
Introducing Maps 04:21:47
Mapping Lists to Widgets 04:27:40
final vs const 04:38:04
Introducing "if" Statements 04:48:55
[DART DEEP DIVE] More on "if"
Statements 04:55:46
[DART DEEP DIVE] The "null" Value 05:07:02
Outputting Widgets Conditionally 05:09:05
Splitting the App Into Widgets 05:11:26
Calculating a Total Score 05:21:23
Getters & "else-if" 05:29:09
Resetting the Quiz 05:35:44
Wrap Up 05:40:38
----------
Рекомендации по теме
Комментарии
Автор

SIr without your courses, i wouldnt know how I could really become a developer... I am from a typical village inNigeria that Power and internet is a little challenging... your courses is precise and purposeful... God Bless You Sir

Emerald_Institute
Автор

Max is full of surprises!! I thought of buying this course and he releases 5 hours of his course for as free !! A great thanks bro !! 🎉🌠👍👍👍

narendranr
Автор

5 hours of free course, max ure more rich than every person in Forbes list 👊🔥

alifrio
Автор

My father always says "nobody can put information into your mind, you need to work on it"

but man, you are a fine exception

mehmetayparyangozalumni
Автор

For those getting an error at 04:23:20 saying "The argument type 'Function' can't be assigned to the parameter type 'void Function()?'" Change "final Function selectHandler;" on line 4 of answer.dart to "final VoidCallback selectHandler".

willbixler
Автор

This has to be the most well-thought out, planned, and narrated tutorial I've seen across any subject in my 54 years! Just a joy to watch and learn!

noonesbiznass
Автор

I genuinely would like to know who here is a first time developer and chose flutter & dart as their first entry language.

tirosc
Автор

Thanks for the tutorial. Just for information, there are one or two areas that are not up to date, such as RaisedButton having been deprecated and replaced by ElevatedButton, and the way the button's own style theme overrides its default properties. It would be very helpful if the video were updated to reflect these changes - I'm new to Flutter and having to find this out myself has been a bit of a hindrance.
More importantly, the 'selectHandler' function cannot be assigned to 'onPressed' - you get this exception: The argument type 'Function' can't be assigned to the parameter type 'void [at around 4:23:00] The answer was to change final Function selectHandler to final VoidCallback selectHandler. This is also the case elsewhere, such as VoidCallback answerQuestion in quiz.dart (5:19:15).

steve-banbury-creative-xr
Автор

It's incredible how much content your giving for free. Thanks ❤️

donathmm
Автор

I havn't completed the full course i skipped to course outline and this course has amazing content . This course will really make a Flutter Developer

ammartahir
Автор

Credits :- Bryan Leow
Reposted for easy access.

4:18:31
Error: The named parameter 'color' isn't defined.
Solution: assuming you are using ElevatedButton instead of RaisedButton (which is deprecated), 'color is not a valid function for it. instead use something like
>>> style: ButtonStyle(
backgroundColor:
(Set<MaterialState> states) {
if return Colors.green;
return Colors.blue;
},
),
),
>>>

4:23:20
Error: The argument type 'Function' can't be assigned to the parameter type 'void Function()?
Solution: change "final Function selectHandler to "final VoidCallback selectHandler"
>>> final VoidCallback selectHandler;
>>>

4:31:27
Error: The argument type 'Object?' can't be assigned to the parameter type 'String'
Solution: add 'as string' to the back.
>>> as String)
>>>

5:20:34
Error: The parameter 'questions' can't have a value of 'null' because of its type, but the implicit default value is 'null'. Try adding either an explicit non-'null' default value or the 'required'
Solution: add a 'required' before each of the this.questions, this.answerQuestion etc. if you are at that part of the video, remove the @ from @required
>>> Quiz({required this.questions, required this.answerQuestion, required this.questionIndex});
>>>

gurasissingh
Автор

57:44
If you don't have a "tools" folder inside your SKD installation, do the following:
1) Go to Android Studio
2) click on Tools -> SDK Manager
3) On the right you'll see 3 tabs, click on SDK Tools
4) Uncheck "Hide Obsolete Packages" on the botoom right
5) Select "Android SDK Tools (Obsolete)" on the list. Click OK and install.


I've been programming for a few years now and I still find setting up a new envoriment a pain in the ass!

alejandroathew
Автор

You are an angel, you are pure gold! I paid for a class that doesn't have 10% of what you gave for free! Thank you teacher! Hugs from Brazil!

alessandroscarlet
Автор

I love how the lecture is structured. Thoroughly and well-explained fundamentals. Very easily understood and followed but it's just the preliminary of the full course which is offered for a price. To get a glimpse of how good is the instructor would entice someone to take up the course. I for one would be willing to take this. Thanks for sharing a sample of your course, Max. This a smart way to advertise.

rey-karl-studio
Автор

Some questions:


How do you know all the mobile application development language and framework?
How do you get time to learn all of them??
How many hours your day have (ours are 24 hours)??
And why do you keep giving all tutorial for free??

You are the best.

miller
Автор

First of all, thanks a lot for a nice tutorial.
After watching the Flutter tutorial
Flutter: easy to catch.
Dart: again easy to follow.
All because, they almost follows the C++ rhythm, and I am a C++ Developer, jumping into App developments.

SimplySpiceIt
Автор

Content:
What is Flutter 00:00
Flutter's Architecture 05:54
How Flutter & Dart Code Gets Compiled
To Native Apps 10:40
Understanding Flutter Versions 13:54
Flutter macOS Setup 16:44
macOS Development Environment 35:34
Flutter Windows Setup 39:42
Windows Development Environment 58:58
Flutter & Material Design 01:02:44
Flutter Alternatives 01:04:00
Course Outline 01:10:06
How To Get The Most Out Of The
Course 01:16:46
Module Introduction 01:19:27
Creating a New Project 01:21:52
An Overview of the Generated Files &
Folders 01:34:07
Analyzing the Default App 01:42:28
Dart Basics 01:48:00
More Dart Basics 02:05:18
Building an App From Scratch 02:18:25
Running the App on an Emulator 02:29:28
Class Constructors & Named
Arguments 02:32:53
First Summary & Additional Syntax 02:41:23
Building a Widget Tree 02:49:34
Visible (Input / Output) & Invisible
(Layout / Control) Widgets 02:57:14
Adding Layout Widgets 03:00:27
Connecting Functions & Buttons 03:07:19
Anonymous Functions 03:14:50
Updating Widget Data (Or: Using
StatelessWidget Incorrectly) 03:18:11
Updating Correctly with Stateful
Widgets 03:24:48
A Brief Look Under The Hood 03:36:46
Using Private Properties 03:39:14
Creating a New, Custom Widget 03:44:31
First Styling & Layouting Steps 03:56:21
Enums & Multiple Constructors 04:04:22
Official Docs & The Widget Catalog 04:08:29
Passing Callback Functions Around 04:11:09
Introducing Maps 04:21:47
Mapping Lists to Widgets 04:27:40
final vs const 04:38:04
Introducing "if" Statements 04:48:55
[DART DEEP DIVE] More on "if"
Statements 04:55:46
[DART DEEP DIVE] The "null" Value 05:07:02
Outputting Widgets Conditionally 05:09:05
Splitting the App Into Widgets 05:11:26
Calculating a Total Score 05:21:23
Getters & "else-if" 05:29:09
Resetting the Quiz 05:35:44
Wrap Up 05:40:38

academind
Автор

4:18:31
Error: The named parameter 'color' isn't defined.
Solution: assuming you are using ElevatedButton instead of RaisedButton (which is deprecated), 'color is not a valid function for it. instead use something like
>>> style: ButtonStyle(
backgroundColor:
(Set<MaterialState> states) {
if return Colors.green;
return Colors.blue;
},
),
),
>>>

4:23:20
Error: The argument type 'Function' can't be assigned to the parameter type 'void Function()?
Solution: change "final Function selectHandler to "final VoidCallback selectHandler"
>>> final VoidCallback selectHandler;
>>>

4:31:27
Error: The argument type 'Object?' can't be assigned to the parameter type 'String'
Solution: add 'as string' to the back.
>>> as String)
>>>

5:20:34
Error: The parameter 'questions' can't have a value of 'null' because of its type, but the implicit default value is 'null'. Try adding either an explicit non-'null' default value or the 'required'
Solution: add a 'required' before each of the this.questions, this.answerQuestion etc. if you are at that part of the video, remove the @ from @required
>>> Quiz({required this.questions, required this.answerQuestion, required this.questionIndex});
>>>

bryanleow
Автор

I am an automation test engineer..Very nice and a great video to learn how to make an app with dart..your way of presentation is very good any one can learn easily..Thanks for sharing knowledge..I am from india

deepaksahu
Автор

Max, thanks for being the incredible teacher that you are and sharing this with the world. For every person that comments, I'm sure there are 100 people who are grateful and just don't write it down. The impact that a great course like this has on people can't be overstated!

xxxLifeOnTheEdgexxx