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
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".
@@marianbucuresteanu1085 Incepe cu ceva care sa te invete conceptele programarii. Altfel nu o sa intelegi ce se intampla cu adevarat, si doar o sa reproduci mecanic.
@@marianbucuresteanu1085 Din flutter nu o sa poti intelege obiectele. Pentru ca nu sunt expuse mecanismele din spate si de-asta nici nu poate fii evident cum functioneaza. Daca vrei cu adevarat sa inveti trebuie sa iti asumi faptul trebuie sa te dai ocazional cu capul de pereti. Daca iti place ideea, eu iti recomand foarte mult sa cauti pe net un curs/guide/tutorial pe C++. Si aici in mod special Pointerii (ce sunt, ce fac) si structuri de date(linked list, heap, trees). In alte limbaje, precum Java, nu o sa folosesti pointeri, dar e foarte important sa intelegi ca in spatele codului, toate programele se bazeaza pe pointer. Daca intelegi programare cat de cat si nu vrei sa te chinui cu pointeri si structuri de date, poti sa cauti tutoriale despre clase si obiecte in Java(pentru ca e mai evident). Daca e ceva neclar sau ai dubii, poti sa ma intrebi. Daca iti doresti doar sa faci o simpla aplicatie pentru android si atat, poti sa continui cu Flutter. Este ok.
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!
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 Function()?'.dart(argument_type_not_assignable) [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).
@@academind hei, I know it mights be too late, but on 1:00:20, I can't do that, they keep saying that it's not recognized and the system cannot find the drive specified, and "this command should be run from the root of your flutter project, anyone can help please?
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.
Just finished this, I will purchase the rest of the course. You are so good at explaining things and this is probably the first lecture where I saw someone clearly explain things for beginners without making it too boring for people who already have more experience in other programming languages. Thanks for the great content!
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.
Good course. Actual coding starts at 2:20:15 for non-rookies that already have everything set up for development and wants to learn the development process.
i want to thank you. on april 2020 i watched this video and on august the same year i got a flutter job so thank you. altho i learned from multiple sources this video of yours is the one who really kick starts my journey.
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.
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
I finished this tutorial for 2 days! Your delivery of words is so clear and the content is just amazing! I'm truly thankful for you to share your knowledge :)
I had spent the entire afternoon looking for a comprehensive flutter+dart tutorial online, until I stumbled on this video, then I saw your face, and immediately my mind was settled. I loved your PWA tutorial on Udemy and others too. I appreciate the work you do, helps us developers alot!!
3hours 30 min in, brilliant course so far and no one explained the Stateless vs Stateful widget better with the entire step. No one . Definitely beginner friendly.
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
Hi, I purchased this course on Udemy, and I see that you made it available on RUclips as well. Can you please tell me what is the difference between this and the udemy version?
Thanks for posting this. I love how you share the beginning of your course for everyone for free. I bought the course because of it. That way I can see what I am actually going to get. Very well done!
Am a beginner when it comes to Android. Just doing my research online and saw your video. I really wanna say thanks for making it available to us all. I believe at the end of the video I would have gained what it takes to start building Android apps, iOS and web
Thanks for this course, it's a all in one package for beginner's like me, it has everything which we need : return Column( children : [ Text( 'Dart') , Text( 'Flutter') , Text( 'Data Structure') , Text( 'Object Oriented Programming') , Text( 'and of course \'FUN\' ') ] );
Hi sir! RaisedButton is now deprecated and replaced by EvelatedButton, which uses EvelatedButtonTheme instead of ButtonTheme. But thanks for posting this video, it helps a lot.
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: MaterialStateProperty.resolveWith( (Set states) { if (states.contains(MaterialState.pressed)) 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. >>> Question(questions[_questionIndex]['questionText'] 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}); >>>
How can i pass that score in Quiz widget could you please write the code? ...(questions[questionIndex]['answers'] as List ).map((answers) => AnswerButton( handler:()=> selectedAnswer(), answerText: answers)),
delivery of words is so clear and the content is just amazing , always good to have clear fundamentals of any framework to be export/gain depth , Great work.
Sir I can't thank you enough for what your flutter course is. Its best course in the world and maybe even on the different planets 😁. I gave my one interview for android development with flutter and iwas able to answer to them even i haven't really completed my course yet. You're not less than a god for me ❤️ Thanks so much !!!!!
for anyone at 5:26:14 who gets an error, try: return Answer(answerQuestion, answer['text'] as String); instead of: return Answer(answerQuestion, answer['text']);
Such a good insight for Beginners, I have seen 5 or more tutorials and was stuck in tutorial hell but with this video I finally understood the basics and could start coding my own projects!
Anyone having errors at 5:30:12 can fix errors by changing the return line as: return Answer(() => _answerQuestion(answer['score'] as int), answer['text'] as String); We have to do this in new versions of the Dart to tell that 'score' is an integer and 'text' here is a String. Have a nice day! :)
but I am still getting the error...even after writing as int.. it gives me the following error Too many positional arguments: 0 expected, but 1 found. Try removing the extra arguments.
@@md.sifatibnawlad6193 Your error means that your constructor of the Answer is not expecting any arguments! and you're giving it. You can try this: Please check your constructor of Answer(in asnwer.dart) and make sure that it takes 2 positional arguments e.g, Answer(this.selector/ your final Function, this.asnswerText/your string), now in main.dart, you should do as: ...(questionList[_questionIndex]['answers'] as List).map((answer) { return Answer(() => _answerQuestion(answer['score'] as int), answer['text'] as String); }).toList(), Hava a nice day!
@@ZainAli-lk7pi in my main dart I am doing like this Quiz( answerQuestion: _answerQuestion as VoidCallback, questionIndex: _questionIndex, questions: _questions ) And my answer constructor already had two agrguments final VoidCallback selectHandler; final String questionText; Answer(this.selectHandler, this.questionText); also in the quiz.dart file i am getting the error for _answerQuestion(answer['score'] as int) this part only..removing (answer['score'] as int) this part gives me no error
@@md.sifatibnawlad6193 You're doing wrong in main.dart file, use anonymous function while calling Quiz as i did, and in Answer.dart file.. use final Function( ) then name! Hope your issue gets resolved! :)
This is the first tutorial on YouTub that I have finished in 2 days. I'm thankful to you to share your knowledge with us. This tutorial will really helpful for a flutter developer.
I have already done a diploma online on android app development and code in few languages but your course has improved my understanding and ability to code better. I highly appreciate your commitment and effort. danke schön. Enrolled for full course on Udemy
This course is amazing. You are amazing. “Give a man fish, you will feed him for a day. Teach a man how to fish, you will feed him forever.” Thank you Sir.
That was really helpful and the codes were explained thoroughly, I appreciate all the hard work you put into these videos. I would have purchased the whole course but I live somewhere where getting credit cards are a pain in the a**.
Finished this free section of the course just now. Coincidentally, the premium course on Flutter that my friend gave me turned out to be the complete version of this. I am a happy man!
(questions[questionIndex]['answers'] as List) should be (questions[questionIndex]['answers'] as List) instead if you are passing a string and an integer. Latest version of flutter will give error if you try it the way in the video. This was a great learning opportunity, thank you Academind!
I did that but it gives "Expected a value of type 'List', but got one of type 'List' The relevant error-causing widget was: Quiz" when I press an answer at the first question. any suggestion?
So, I didn't know this guy is on udemy and this course is not complete course until I watched the whole video. But till then I was pretty much convinced that I need him as my teacher. I had no background in programming and this video alone made me more curious to learn Flutter and Dart to the end. So, I just bought this course. Good work Max.
@@rohith2714 if you correctly put a comma after the the ending parenthesis ')' then when you save the file, vs code will automatically format the code for you, but if you are talking about the refactoring then on windows it is Ctrl+Shift+R or it was at least on mine. :)
Just purchased the course after this very generous introduction. Needless to say but for anyone consider joining to the full course, just go for it! Thats my second course from Max and this is as great as the Angular course is. Thank you for the great content!
When I tried to access the questions list with "questions[_questionIndex]['questionText']," I got an error. If you get the same one, the fix is to change "var questions =" into "List questions ="
Absolutely loved this tutorial. I really appreciated the walk through of setting up the dev environment! However, since recording, raised buttons have been deprecated for elevated buttons, and the syntax is different enough to cause problems, frustrations, and having to dig through stackoverflow for answers
Great course, I love it. Thanks a million! I am at 3:06:06 and I had to replace RaisedButton with ElevatedButton (RaisedButton is now deprecated and replaced by ElevatedButton). Thanks again for the course!!!
Let's take a moment to appreciate his Hardwork and his efforts to make students understand Flutter in a very easy and interactive way 🔥🔥🔥🔥🔥.............Hats off to u man ! Lot's of Love from India 🇮🇳❤️🙏
This course is absolutely fantastic! Thank you so much for providing this awesome content. It is an absolute pleasure to follow this, applying the knowledge as it is presented. All is very clear and well explained. :)
This is a well put together beginner course. It helps you navigate this complex development platform quite easily and yet effectively. Max is a great teacher.
4:20:52 The function "selecthandler" is not being recogized as a valid argument in case of ElevatedButtons. However, if I use "var selectHandler" instead of "Function selectHandler", it works fine.
Just to piggyback on this since it may help others: The onPressed property for the old buttons had a VoidCallback type, which no longer exists in the docs. The new button types take a void Function() type for the onPressed property. Instead of passing the function pointer like "onPressed: selectHandler", you must pass an anonymous function, like "onPressed: () => selectHandler()" or "onPressed: (){selectHandler()}"
It's a great crash course for beginners programmers that need to understand the grounds of coding. Thank you for the contribution, just one correction, around 3:24:00 you said using the keyword var for variable declaration is a good practice, and it's actually the opposite. Good practice is to declare variables with explicit type for readability porpuses.
Reached on 1:06:00 and happy that you include Flutter vs React Native vs Ionic Differences. Thank You for making full fledge video covering everything up till now.
There's some things that are changed about this now so you probably shouldn't lead people into believing this is updated by putting 2021 into your title. Still, you're a pretty good teacher. Thanks for uploading this.
@@matthiasenderle7249 yeah I found them eventually. But still, learning it first the wrong way is not desired. That said I think it's still pretty good of an introduction to flutter since I myself learned a good amount.
Great tutorial for Flutter. Thank you max, Love you 3000 times ❤️❤️❤️ The way of you explaining each functionality is awesome. I've watched more than 3 tutorials from other channels, none of them explained this much clear. I didn't like the syntax when started learning flutter, but now After watching this tutorial I got confidence that I can easily develop flutter apps. Thank you very much Max❤️❤️❤️🙏🙏🙏
extraordinary course, amazing details, fully neat and clear. i do thank you for such effort being put into helping people building careers! very good job! thank you.
Man you're a mind-blowing tutor! I just purchased your Udemy course. I know it's older and there are a few things that have changed but it's too little to worry. This was probably the best tutorial I've come across on Flutter as a beginner!
I've put a lot of time into searching flutter courses there were only few, but this one is the best . Excellently structured , superb explanation. Wowww!! fallen in love with flutter with your explanation !! Thank you for making this course free !!
i don't normally comment on videos but i just wanted to say how much of a good teacher you are that even a 5 years old can learn programming with this video , hope you keep going mate truly thankful
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
I wish you good luck, Joel.
Good luck man
Where are you in Nigeria. Drop ur number
Good luck pal
keep up the hard work and humbleness my friend ❤❤
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 !! 🎉🌠👍👍👍
so, can i buy the course or not???
@@Ajith-cc2sg yes of course
this is the main reason why i will buy the course, because this guy is excellent, always make things for free
Posting a nice 5 hour tutorial on RUclips and asking people to buy the full course.That's how advertising works
ruclips.net/video/nCERiWVsNi4/видео.html
5 hours of free course, max ure more rich than every person in Forbes list 👊🔥
I swear
ruclips.net/video/nCERiWVsNi4/видео.html
@எழுமின் If you are rich in mind, then you will rich in money.
even without a single ad!!!
My father always says "nobody can put information into your mind, you need to work on it"
but man, you are a fine exception
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!
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".
Thanks heaps for this….. was stuck without knowing this!
Thank you so much bro without this i don't know what to do
Thanks!!!!
having error at 4:31:11, the argument type 'object?' cant be assigned to the parameter type 'string'
@@sibtainali9450 just delete the type string
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
moving to flutter on android studio i guess ?
Are y you now
I genuinely would like to know who here is a first time developer and chose flutter & dart as their first entry language.
i do
same
@@marianbucuresteanu1085 Incepe cu ceva care sa te invete conceptele programarii. Altfel nu o sa intelegi ce se intampla cu adevarat, si doar o sa reproduci mecanic.
@@marianbucuresteanu1085 Din flutter nu o sa poti intelege obiectele. Pentru ca nu sunt expuse mecanismele din spate si de-asta nici nu poate fii evident cum functioneaza. Daca vrei cu adevarat sa inveti trebuie sa iti asumi faptul trebuie sa te dai ocazional cu capul de pereti. Daca iti place ideea, eu iti recomand foarte mult sa cauti pe net un curs/guide/tutorial pe C++. Si aici in mod special Pointerii (ce sunt, ce fac) si structuri de date(linked list, heap, trees). In alte limbaje, precum Java, nu o sa folosesti pointeri, dar e foarte important sa intelegi ca in spatele codului, toate programele se bazeaza pe pointer.
Daca intelegi programare cat de cat si nu vrei sa te chinui cu pointeri si structuri de date, poti sa cauti tutoriale despre clase si obiecte in Java(pentru ca e mai evident).
Daca e ceva neclar sau ai dubii, poti sa ma intrebi. Daca iti doresti doar sa faci o simpla aplicatie pentru android si atat, poti sa continui cu Flutter. Este ok.
I am
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!
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 Function()?'.dart(argument_type_not_assignable) [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).
Thanks for this!!
Thanks
Thanks Stephen, found the same problem. Worked out color themes easily enough with styles.. :)
One of the best online tutorial I have watched for years. Thank you very very much on the in depth introduction of dart/flutter and some OOP.
So happy to read that Charles, thanks a lot!
@@academind hei, I know it mights be too late, but on 1:00:20, I can't do that, they keep saying that it's not recognized and the system cannot find the drive specified, and "this command should be run from the root of your flutter project, anyone can help please?
It's incredible how much content your giving for free. Thanks ❤️
@Kamatchi Ayyanar yep
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.
peace be upon you
Just finished this, I will purchase the rest of the course. You are so good at explaining things and this is probably the first lecture where I saw someone clearly explain things for beginners without making it too boring for people who already have more experience in other programming languages. Thanks for the great content!
ap pakistan sey hain? kysa ha course?
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!
Max is the greatest instructor i know. Thank you for everything, I admire your work!
How was it?Will it be beneficial to learn concept of Flutter?
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.
Good course. Actual coding starts at 2:20:15 for non-rookies that already have everything set up for development and wants to learn the development process.
Thank you, good sir
i want to thank you.
on april 2020 i watched this video and on august the same year i got a flutter job so thank you.
altho i learned from multiple sources this video of yours is the one who really kick starts my journey.
hey man if the time comes when car is flying and people lives on the other planet you greatly contributed much to it
ruclips.net/video/nCERiWVsNi4/видео.html
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.
+1 .. true
if you want to buy you can go to udemy and buy it .
How one can be more clear ? I loved how patient you are when explaining things and concepts on the fly during the course! Love from Paris
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
This was The first time ever in my life I've watched an education video about 3:30 hours straight.
Sir you're great thankz 👏👍
Are you now able to code flutter apps?
Is this crash course enough?
After i finish this course, im going to buy it, and i'll do it all over again.
have you finished the course of max of flutter?
I finished this tutorial for 2 days! Your delivery of words is so clear and the content is just amazing!
I'm truly thankful for you to share your knowledge :)
So cool to read that you liked the video, thanks for your comment!
I totally agree! I haven’t finished the course but your delivery is amazing.
What’s the prerequisite for this course.
Is Dart knowledge required???
I have the same opinion. Great course. No words. God Bless you!
abraham chijioke no prerequisites required. He teaches you Dart
I have purchased this course without a second thought. Because, I am serious about it.
From a complete noob in flutter to at least something, binged 4hrs, it was amazing!
funniest thing i have heard him say through out the whole course is "Compiler yells at you!!" Never thought that way. XDDD
Your course on Flutter is the best I could find! It really explains the core concepts in depth. Any plans for a 2021 version?
THx for your comment I got help from it
I had spent the entire afternoon looking for a comprehensive flutter+dart tutorial online, until I stumbled on this video, then I saw your face, and immediately my mind was settled. I loved your PWA tutorial on Udemy and others too. I appreciate the work you do, helps us developers alot!!
The best tutorial I have ever seen. I don't even lost focus on some parts that I already know.
3hours 30 min in, brilliant course so far and no one explained the Stateless vs Stateful widget better with the entire step. No one . Definitely beginner friendly.
Only if there was an option to like multiple times. Brilliantly presented. Hats off!
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
Hi, I purchased this course on Udemy, and I see that you made it available on RUclips as well. Can you please tell me what is the difference between this and the udemy version?
can you please help me install android studio on mac. i'm maybe doing something wrong . Beginning with Flutter.
the finish button does not enable
@@shajeelafzal ads probably. Also the community and responses to questions/comments.
Hot reload option is not working. can you please help me?
Thanks for posting this. I love how you share the beginning of your course for everyone for free. I bought the course because of it. That way I can see what I am actually going to get. Very well done!
Am a beginner when it comes to Android. Just doing my research online and saw your video. I really wanna say thanks for making it available to us all. I believe at the end of the video I would have gained what it takes to start building Android apps, iOS and web
Thanks for this course, it's a all in one package for beginner's like me, it has everything which we need :
return Column( children : [ Text( 'Dart') , Text( 'Flutter') , Text( 'Data Structure') , Text( 'Object Oriented Programming') , Text( 'and of course \'FUN\' ') ] );
Hi sir!
RaisedButton is now deprecated and replaced by EvelatedButton, which uses EvelatedButtonTheme instead of ButtonTheme.
But thanks for posting this video, it helps a lot.
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: MaterialStateProperty.resolveWith(
(Set states) {
if (states.contains(MaterialState.pressed)) 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.
>>> Question(questions[_questionIndex]['questionText'] 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});
>>>
Thank you!
How can i pass that score in Quiz widget could you please write the code?
...(questions[questionIndex]['answers'] as List ).map((answers) => AnswerButton( handler:()=> selectedAnswer(), answerText: answers)),
Thanks a lot man, you saved me
This comment needs to be pinned, you are a huge help my man
thanks a ton :)
delivery of words is so clear and the content is just amazing , always good to have clear fundamentals of any framework to be export/gain depth , Great work.
currently i am know full MERN stack because of you.
Sir I can't thank you enough for what your flutter course is. Its best course in the world and maybe even on the different planets 😁. I gave my one interview for android development with flutter and iwas able to answer to them even i haven't really completed my course yet. You're not less than a god for me ❤️ Thanks so much !!!!!
my sensei dude you taught me angular and here you are in my new beginning with flutter . I am so happy to see you again
Thank you for letting this out for free! I will now buy the rest of the course just as a thank you.
for anyone at
5:26:14
who gets an error, try:
return Answer(answerQuestion, answer['text'] as String);
instead of:
return Answer(answerQuestion, answer['text']);
Oh, I just got this issue. Thank you for sharing!
This is super it helped met get to know Flutter for the 1st time 2 weeks ago and today I am about to release my 1st App!!!
what is the app about?
and the name?
i have watched this video for 5 days straight, everyday i understand more and more,
Such a good insight for Beginners, I have seen 5 or more tutorials and was stuck in tutorial hell but with this video I finally understood the basics and could start coding my own projects!
Anyone having errors at 5:30:12
can fix errors by changing the return line as:
return Answer(() => _answerQuestion(answer['score'] as int), answer['text'] as String);
We have to do this in new versions of the Dart to tell that 'score' is an integer and 'text' here is a String.
Have a nice day! :)
but I am still getting the error...even after writing as int.. it gives me the following error
Too many positional arguments: 0 expected, but 1 found.
Try removing the extra arguments.
@@md.sifatibnawlad6193
Your error means that your constructor of the Answer is not expecting any arguments! and you're giving it. You can try this:
Please check your constructor of Answer(in asnwer.dart) and make sure that it takes 2 positional arguments e.g, Answer(this.selector/ your final Function, this.asnswerText/your string), now in main.dart, you should do as:
...(questionList[_questionIndex]['answers'] as List).map((answer) {
return Answer(() => _answerQuestion(answer['score'] as int), answer['text'] as String);
}).toList(),
Hava a nice day!
@@ZainAli-lk7pi in my main dart I am doing like this
Quiz(
answerQuestion: _answerQuestion as VoidCallback,
questionIndex: _questionIndex,
questions: _questions
)
And my answer constructor already had two agrguments
final VoidCallback selectHandler;
final String questionText;
Answer(this.selectHandler, this.questionText);
also in the quiz.dart file i am getting the error for
_answerQuestion(answer['score'] as int) this part only..removing (answer['score'] as int) this part gives me no error
@@md.sifatibnawlad6193 You're doing wrong in main.dart file, use anonymous function while calling Quiz as i did, and in Answer.dart file.. use final Function( ) then name!
Hope your issue gets resolved! :)
@@md.sifatibnawlad6193 in the quiz.dart file, replace final VoidCallBack answerQuestion; by final Function answerQuestion;
Absolutely amazing. I watched through the whole video and I learned so much. If I could avail myself the whole course I really would.
Your knowledge is deeper than Mariana trench
Deeper than my old ladies...
ruclips.net/video/nCERiWVsNi4/видео.html
This is the first tutorial on YouTub that I have finished in 2 days. I'm thankful to you to share your knowledge with us. This tutorial will really helpful for a flutter developer.
Glad it was helpful!
I have already done a diploma online on android app development and code in few languages but your course has improved my understanding and ability to code better. I highly appreciate your commitment and effort. danke schön.
Enrolled for full course on Udemy
This course is amazing. You are amazing.
“Give a man fish, you will feed him for a day. Teach a man how to fish, you will feed him forever.”
Thank you Sir.
I personally recommend all of you to buy this complete course, it's worth every penny! Thanks Max for creating a beautiful course ;)
i already have it, and worth it!!
Thanks a lot to both of you for your support and wonderful words!
That was really helpful and the codes were explained thoroughly, I appreciate all the hard work you put into these videos.
I would have purchased the whole course but I live somewhere where getting credit cards are a pain in the a**.
These are the best tech crash course videos out. This dude understands how to distill technical information into manageable chunks!
Finished this free section of the course just now. Coincidentally, the premium course on Flutter that my friend gave me turned out to be the complete version of this. I am a happy man!
Can you share your code files ? So many things here is outdated
We need a 2022 version of this.... null-safety and updated widgets ... your udemy course is outdated, please do another one!
Cool, thanks for course! (if someone can't set Function type entity as onPress handler - set it to VoidCallback type).
holy smokes this is great Ill probably take this one on sunday
(questions[questionIndex]['answers'] as List) should be (questions[questionIndex]['answers'] as List) instead if you are passing a string and an integer. Latest version of flutter will give error if you try it the way in the video. This was a great learning opportunity, thank you Academind!
I did that but it gives "Expected a value of type 'List', but got one of type 'List'
The relevant error-causing widget was:
Quiz" when I press an answer at the first question. any suggestion?
So, I didn't know this guy is on udemy and this course is not complete course until I watched the whole video. But till then I was pretty much convinced that I need him as my teacher. I had no background in programming and this video alone made me more curious to learn Flutter and Dart to the end. So, I just bought this course. Good work Max.
I am also planning to buy the course. How is it?
If you are getting an error around 4:28:04 that complains about objects and strings; just go to questions.dart and remove the 'String' after 'final'
You can also go like this:
(questions[_questionIndex]['questionText'] as String)
Which is a method used for the list of answer shortly after.
@@zinehunter2734 why in main.dart this sentence show an error in answer
return Answer(_answerQuestion, answer);
Just going through this course on O’Reilly. Loving the fact that you gave alternatives at the start.
Finally finished watching this video:) Thanks
what was the shortcut for code formatting in vscode ? ... i took a break , so forgot it .
@@rohith2714 if you correctly put a comma after the the ending parenthesis ')' then when you save the file, vs code will automatically format the code for you, but if you are talking about the refactoring then on windows it is Ctrl+Shift+R or it was at least on mine. :)
@@baasan-amgalanichinnorov6442 thanks for your reply :)
Just purchased the course after this very generous introduction. Needless to say but for anyone consider joining to the full course, just go for it! Thats my second course from Max and this is as great as the Angular course is.
Thank you for the great content!
Great to hear!
Best course I have ever taken on any programming topic. And the presenter paces it perfectly.
Yay! Completed in one sitting! will come back while building my first app in flutter.
One sitting that's impressive
When I tried to access the questions list with "questions[_questionIndex]['questionText']," I got an error. If you get the same one, the fix is to change "var questions =" into "List questions ="
Thank you so much, I was about to bang my head on the table for this. :)
Oh wow you just saved my life lol
THANKS A HELL LOT TO YOU BRO!!!
I spent 1hr finding the issue, and then I found out this comment!!
thank you
U my man are a life saver, i was so close to breaking my pc
Absolutely loved this tutorial. I really appreciated the walk through of setting up the dev environment! However, since recording, raised buttons have been deprecated for elevated buttons, and the syntax is different enough to cause problems, frustrations, and having to dig through stackoverflow for answers
you have discord? , i can help there if you want
@@rawquesh hi i have discord nd need ur help
Max you have no idea how much you help me i live in Ethiopia (third world country) and free course is very appreciated
Great course, I love it. Thanks a million!
I am at 3:06:06 and I had to replace RaisedButton with ElevatedButton (RaisedButton is now deprecated and replaced by ElevatedButton).
Thanks again for the course!!!
What a great intro to flutter, I learned a lot. Thank you Max
Let's take a moment to appreciate his Hardwork and his efforts to make students understand Flutter in a very easy and interactive way 🔥🔥🔥🔥🔥.............Hats off to u man ! Lot's of Love from India 🇮🇳❤️🙏
+1 love from India :)
This course is absolutely fantastic!
Thank you so much for providing this awesome content.
It is an absolute pleasure to follow this, applying the knowledge as it is presented.
All is very clear and well explained.
:)
This is a well put together beginner course. It helps you navigate this complex development platform quite easily and yet effectively. Max is a great teacher.
4:20:52 The function "selecthandler" is not being recogized as a valid argument in case of ElevatedButtons. However, if I use "var selectHandler" instead of "Function selectHandler", it works fine.
Just to piggyback on this since it may help others: The onPressed property for the old buttons had a VoidCallback type, which no longer exists in the docs. The new button types take a void Function() type for the onPressed property.
Instead of passing the function pointer like "onPressed: selectHandler", you must pass an anonymous function, like "onPressed: () => selectHandler()" or "onPressed: (){selectHandler()}"
The content is well explored and managed and has ability to pin concepts in the head of learners. Great Work!
First of all, I thank you to this amazing tutorial lieber Mr schwarzmüller.
It's a great crash course for beginners programmers that need to understand the grounds of coding. Thank you for the contribution, just one correction, around 3:24:00 you said using the keyword var for variable declaration is a good practice, and it's actually the opposite. Good practice is to declare variables with explicit type for readability porpuses.
Reached on 1:06:00 and happy that you include Flutter vs React Native vs Ionic Differences. Thank You for making full fledge video covering everything up till now.
This made my heart flutter!
Thanks a lot Max for this course. Much appreciated.
There's some things that are changed about this now so you probably shouldn't lead people into believing this is updated by putting 2021 into your title.
Still, you're a pretty good teacher. Thanks for uploading this.
You're right, but there's a good comment from "Bryan Leow" which tells you how to fix errors caused by those changes.
@@matthiasenderle7249 yeah I found them eventually. But still, learning it first the wrong way is not desired.
That said I think it's still pretty good of an introduction to flutter since I myself learned a good amount.
i can't believe i just found this, i've seen this in just a day , incredible lesson!!
Man I spent 10 days just to setup. I have the worst laptop. :(
Great tutorial for Flutter. Thank you max, Love you 3000 times ❤️❤️❤️
The way of you explaining each functionality is awesome. I've watched more than 3 tutorials from other channels, none of them explained this much clear. I didn't like the syntax when started learning flutter, but now After watching this tutorial I got confidence that I can easily develop flutter apps. Thank you very much Max❤️❤️❤️🙏🙏🙏
extraordinary course, amazing details, fully neat and clear. i do thank you for such effort being put into helping people building careers! very good job! thank you.
For who is in 2021... instead of RaisedButton you should use ElevatedButton
Man you're a mind-blowing tutor! I just purchased your Udemy course. I know it's older and there are a few things that have changed but it's too little to worry. This was probably the best tutorial I've come across on Flutter as a beginner!
How was the Udemy course? Is it worth taking? I'm very new to programming
analogy of tv & remote for choosing function name was really nice.
Done! I did it 5 hours worthy!
i just watched the 2 hour course and loved it looking forward to this one
Thanks for the video. Finally have found flutter full course in non indian accent 😂
what's wrong with indian accent 🤔
I've put a lot of time into searching flutter courses there were only few, but this one is the best . Excellently structured , superb explanation. Wowww!! fallen in love with flutter with your explanation !! Thank you for making this course free !!
Wow, thanks!
i don't normally comment on videos but i just wanted to say how much of a good teacher you are that even a 5 years old can learn programming with this video , hope you keep going mate truly thankful
The fact that this is free is amazing. Job well done sir
Damn this is good. One course, one video, so much knowledge.
Thanks so much for this amazing course. Now I'm ready to code in flutter. :)
Is this course enough to be a flutter developer???