Flutter jacket on top of a Dart shirt would make more sense 🤣
@scratchbfunk4 жыл бұрын
@Danh Uy Nguyen Not really, you can have Dart without Flutter, but you can't have Flutter without Dart
@sodiboo4 жыл бұрын
@@scratchbfunk You can have Flutter without Dart, but then you'd need another programming language
@alexanderelse45514 жыл бұрын
@@scratchbfunk Actually there was a Flutter without Dart. When Flutter first started out, when it was still called Sky the Chrome V8 Team under Eric Seidel used JavaScript for Sky("Flutter").
@thisisjaymehta3 жыл бұрын
@@alexanderelse4551 Informative.
@murilomedeiros81322 жыл бұрын
That was the first thing a noticed when opened the video 😂
@SEGVeenstra5 жыл бұрын
Having an awesome Framework is one thing. Providing useful content like this to support the users if that Framework is what brings Flutter to a whole different level.
@AIteek5 жыл бұрын
These videos made me choose flutter 3 months ago! Keep up the good work!
@EinstienJr5 жыл бұрын
IKR! These are incredible. Great dedication from the team and the support is great too. They are also on top of integrating this with VSCode. I love it. Never have I seen such a robust ecosystem with helpful community.
@viharcontractor16795 жыл бұрын
This channel is a goldmine for Flutter developers! Keep up the good work guys!
@themostamazingguy4 жыл бұрын
You explain these fundamental concepts so clearly an eloquently - this understanding can apply to any language.
@Utopia397475 жыл бұрын
Wow, 5 mins of explanation surpassed my whole university experience. Hope you will make a detailed course on udacity soon instead of the basic one In there
@ben64 жыл бұрын
I don't think courses would be better than short videos that we can get to, when we WANT to. Courses are boring because they are sequential, and irrelevant to the problems we actually have. This is exactly why you don't enjoy the courses at university: they are not relevant to you.
@micksp3 жыл бұрын
@@ben6 It's not that it's boring, the course on udacity is really quite bad. It's simply stating features of dart and flutter without explaining any of it. and they all end with "now you know how to ...." yep, but not because of that video I just saw! ;-)
@florinmtsc Жыл бұрын
I don't know his name, but his way of explaining grabs your attention and keeps you focused. My good sir, you are a gold mine, congratulations on your communication skills, you're awesome.
@philosophia5577 Жыл бұрын
Relevant even after 4 years. Please release more videos on Asynchronous Programming in Dart.
@rajath85295 жыл бұрын
Your explanation style and voice is too good! Keep it up Andy
@emadharazi50442 жыл бұрын
What a great instructor. Very well explained. Great video team Flutter!!!
@flutterdev2 жыл бұрын
We're glad to hear you enjoyed the tutorial, Emad! Thanks for watching 😄 If you're interested in learning more, check out the Isolate class: goo.gle/2wMjajF
@KDTechverse3 ай бұрын
Andrew explains this stuff with so much ease ! Thank you @flutterdev for creating this awesome content !
@thertc2045 жыл бұрын
You guys are killing it. Flutter is such a great framework to work with!
@CheoWalker5 жыл бұрын
Hooray! Another Flutter in Focus series.
@gamingninja20 Жыл бұрын
I love the way you explained.😍😍
@ShufflePetro4 жыл бұрын
Flutter really is making crossdev life so much easier 😎
@jeroldlozares63795 жыл бұрын
I am getting in love with this language really quick!
@cyrilledakhlia37612 жыл бұрын
Amazing explanations, clear, simple and funny, all the best!
@flutterdev2 жыл бұрын
Thanks for the love, Cyrille! We're glad you enjoyed the tutorial 😄 If you're interested in additional resources be sure to check out the Isolate Class: goo.gle/2wMjajF Happy Fluttering 🙌
@EditorConlee4 жыл бұрын
Excellent. I built an entire app without a clue what the heck I was doing. In five minutes you made clear all the stumbling blocks and hurdles I had to hack to make work. Now I have to go back and rewriite the whole dang thing! Damn you! ;)
@89stoev5 жыл бұрын
Good video, nicely explained. Never seen a framework that got so much attention You and Filip are breathtaking !
@DeprecatedAPI5 жыл бұрын
You are breathtaking
@redbrogdon5 жыл бұрын
You're all breathtaking!
@FlutterExplained5 жыл бұрын
Very good explained, thank you for that! I really like the idea of isolates. Looking forward to see the Future video. And maybe you could explain us why the onerror returns an object rather then an error :).
@JEdiGranada2 жыл бұрын
Please...somebody give an Oscar to Andrew...This is THE explainer!...LOVED THAT!!
@abbasloda15 жыл бұрын
Looking forward for more of these series.great content !
@viditkhanna37214 жыл бұрын
Awesome tutorials by google, one of the reasons that Flutter will take over React native in the Future we just have to await.
@adnanbadshah34254 жыл бұрын
Nice one :)
@Soulcybering5 жыл бұрын
Really similar to the Android Looper concept. Thanks for sharing 😁
@andrewbrogdon5585 жыл бұрын
Yep. Event loops have been around forever. I used to use them in Win32 coding. :)
@youkokaku5 жыл бұрын
Great video! I'm a bit confused about the Event Loop section. Does this mean in a flutter app, there is a single thread that basically just grabs stuff off of the Event Queue, executes it and so on? Who does the other work like rendering widgets? Is that also part of the event loop?
@lilayoung11763 жыл бұрын
Yes, he implied it is all done by 1 event loop at 1:13 and and 1:22.
@aimenhajab77615 жыл бұрын
but what if another processing event is taking a hold of the loop and we move to a new request from the API, will that affect the function of the thread or will it use another thread ?
@redbrogdon5 жыл бұрын
Always on the same thread, unless you create another isolate using on of the techniques I mention early on in the video. Dart's event loop is not interruptive. When the event loop takes an event off the queue, it completely processes that event before moving onto the next one. If you had a button, for example, and you put a for-loop from one to a trillion inside its onPressed callback, that's all part of that one button-press event. Dart will run your onPressed method completely before moving on to the next event, which could cause your UI to freeze. That's why we recommend using compute or Isolate.spawn if you have a huge, number-crunching calculation to do.
@sabuj7453 жыл бұрын
Thanks for this wonderful videos. Whose job it is to let the event loop know that it needs to execute a event now? I mean the event loop continuously running in a thread and executing events when necessary and sleeping(or doing anything) otherwise. So is there another thread which is managing the occurrence of the event and delivering them to the event loop?
@Saranwity3 жыл бұрын
This video is very clear, thank you
@amirhoseinazhdarnezhad91684 жыл бұрын
Great production! Thank you
@heshansandeepa94712 жыл бұрын
nice work
@sibinea97635 жыл бұрын
Great video guys ... Last six months am working with flutter projects, It's really amazing. How can we choose the best design patterns for flutter project? Right now am using Bloc pattern. Is there any other better solutions, please suggest.
@GoingWalkabout5 жыл бұрын
Diving deep into this Flutter thing, this was helpful.. thx
@firedevelop5 жыл бұрын
Andrew, great man! Thanks for share
@Venor95 жыл бұрын
Great video! Thanks a tone, can't wait for next one.
@trungvan2154Ай бұрын
Dear... i would like to make tutor videos like the ones you made. The videos are for the children from poor families in Vietnam. Could you please tell me what tools you are using? Specifically what App (video recording, editing..), what microphone are you using!?
@FindYoga4 жыл бұрын
Hi Andrew, good to meet you at Flutter Interact this week.. I have a question regarding global functions. In my app, I am downloading videos to local storage from a list builder. This works fine, however, if I navigate away from the page using a BottomNavBar the download is stopped. Is there a way for the download to happen in the background or in a global function so that it would keep downloading even if I navigate away from the page? Thanks.
@Raimkhodzhanov2 жыл бұрын
Thank You!
@workflop41174 жыл бұрын
That tutorials helps a lot thanks for doing them
@mohabmagdy41554 жыл бұрын
Flutter is running well on a nonblocking asynchronous event loop same as the node Js platform.
@vuluongtrieu26095 жыл бұрын
0:37 Isolate 2:20 Event loop
@gabrielmoreyra33655 жыл бұрын
Can't wait for next video!! :D
@raslanismail96915 жыл бұрын
thanks from Germany
@redbrogdon5 жыл бұрын
Bitte schön!
@paulcarlton5985 жыл бұрын
I like how they throw in eye rolling puns all the time. XD
@uzair3d5 жыл бұрын
So for example, if I did a network request, initially it was registered in the event loop and the framework pops this request and waits for its response. Who is actually performing the network task? There must be a background thread that is performing the task and later it will tell the actual main thread/isolate that I have completed the task, right? This could also be a system/kernel thread. Actually, it becomes a little hard to think about Async programming when you are experienced with multithreading. Haha.
@shamszakhour63275 жыл бұрын
Yes, Uzair! The Flutter framework has some specialized threads. You can see a brief description on the Performance profiling page: flutter.dev/docs/testing/ui-performance#the-performance-overlay
@redbrogdon5 жыл бұрын
In addition to what Shams mentioned, you might like the guest segment on the Boring Show that we made with Chinmay. He talks a good bit about the underlying runtime and threading for Flutter: kzbin.info/www/bejne/nqWVk3eif8llmZYm36s
@kurtvanhal53374 жыл бұрын
I've been looking for this question for days :D. Why doesn't anybody address the fact that the asynchronous task is ran in a seperate isolate which returns the value to the main isolate (thread)! At least I hope thats how it works, otherwise I'm lost!
@abhishekghimire31013 жыл бұрын
Who put's events on event queue? OS??
@providencekambaleluseko41144 жыл бұрын
Hello, what I want to know is this: isolate uses separated thread to the main thread but for a websocket project, how can I communicate socket events data to the main thread and keep the socket connected even if the main thread is destroyed. Thanks in advance.
@truongsinhtran-nguyen71295 жыл бұрын
4 days ago I published an article claiming Dart is NOT a single-threaded language 😂. Is there a definition for a language / VM to be single-threaded? Is "any piece of code running uninterrupted in a single thread" by itself already eligible for single-threadedness? So far the, I only know of "single-threaded" via JS, in which the whole app's code is run in a single-threaded event loop (until Worker Threads / Web Worker API), but here we have multiple event loops, each running concurrently and independently with each other (i.e. even in a single-core CPU, event loops does not block each other as OS scheduler is doing its job) Btw, in the same article, I emphasize, especially for new-comers with iOS or Android background, Dart's isolate / Flutter's compute as much as possible, as they seem to think Dart's Future solve ALL blocking problems, including CPU-bound ones.
@cloud58875 жыл бұрын
TruongSinh Tran-Nguyen Dart is definitely single threaded.
@Irzani9384 жыл бұрын
What if i build an app that fetch data from my web server, but the data respond might that hours to respond. Does the async will work for that long time out?
@kevintorch83403 жыл бұрын
if i wait for the future using 'await' keyword instead of registering callback using 'then'. would invent loop still run other part of the code without blocking?. i mean 'then' and 'await' are the same thing?
@mohamedhamde66112 жыл бұрын
Yes, They are the same .
@Tonkuz5 жыл бұрын
Awesome buddy!
@vietstonedotdev3 жыл бұрын
What Isolate (and Event Loop) which networking run on actually?
@valentinochen98044 жыл бұрын
any great resource if I want to know more about the event loop and event queue?
@sorrefly2 жыл бұрын
So it’s basically spawning processes and not threads?
@wrathop2749 ай бұрын
How different is the javascript event loop from darts
@pedrobraga4944 Жыл бұрын
Are the isolates threads?
@amirhosseinmosalanegad56463 жыл бұрын
Hi, what can I do to run a piece of platform channel code inside Isolate? Please help me
@Giffesnaffesnuffen5 жыл бұрын
Super helpful, thanks!
@thisguy92794 жыл бұрын
So if I wan't two functions executing the same time then I spawn two Isolates right?
@kelvinzawadi5 жыл бұрын
i wish to meet flutter youtube team ...flutter is so amaizing
@kochsebastian05 жыл бұрын
I meet two of them at the "We are Developers" conference in Berlin last week :)
@982211374 жыл бұрын
Shall we used for online biding
@odorlessflavorless5 жыл бұрын
Newbie question - In the event loop , can the order of tasks which jump on the event loop be different from the order in which they are released from the Event loop?
@rajath85295 жыл бұрын
Basically events waits in a queue... if any event which is currently processing if it taking much time to process (in case if it doing any time consuming process) than the second one then the second process may finish early than the first one!
@emmanuelogbewe23345 жыл бұрын
Great information!
@GakisStylianos3 жыл бұрын
What's the story behind cancelling things running in isolates if the process is no longer relevant? For example, when the user exits the screen, therefore is no longer interested in the result of whatever is running there?
@HankyUSA4 жыл бұрын
We need videos like this for AngularDart.
@sadhlife4 жыл бұрын
now that hummingbird exists, AngularDart and others are basically going to be dead :))
@bjugdbjk5 жыл бұрын
how many events it can handle at max, i f i mean if lot of events in queue, then there could be a delay?So it will handle efficiently
@barakadax4 жыл бұрын
I know there is a time gap between the upload & this comment but what about system events, as such as closing the app, does flutter know how to handle such?, lets say if I want something to happen before the system truly close the application.
@10xGarden5 жыл бұрын
I love this guy
@NoahNobody2 жыл бұрын
Is it important to understand the low level architecture for this, because I found all this pretty confusing.
@sumitrasaksham77154 жыл бұрын
How do we get to know when to use the isolate? Does it depends on data or operations performed on that data ?
@amalsunil47222 жыл бұрын
Yea, when we have a heavy synchronous piece of code to process(i.e. it'll be blocking the main thread) we could spawn a new isolate to do the same.
@mamenatech3 жыл бұрын
How i can running socket in background task?
@优雨-k1v2 жыл бұрын
Does network excution take place in the main event loop?
@mohamedhamde66112 жыл бұрын
Yes
@hariangr5 жыл бұрын
about dart, is there a way to use tensorflow with dart in server side? like in aqueduct or something
@andrewbrogdon5585 жыл бұрын
I'm sure it's possible, but there probably aren't that many people trying to use Dart with TF on a server at the moment. You can always try asking on the TensorFlow channel, though. :)
@SivaKumarNitesh3 жыл бұрын
What happens to isolates, that are spawned when the app is closed?
@zesegatto4 жыл бұрын
Who/how puts the entry on Event Queue when the user taps on a button? Ok, maybe this is more a structural Android (or IOS) doubt related of OSAPP interface, but where should I start search such things? (sorry, embedded C bare metal developer here)
@roysmith57114 жыл бұрын
So, the JS V8 Engine strapped on a rocket?
@algorithm-artisan3 жыл бұрын
So dart forks threads, is that it?
@MrFedX5 жыл бұрын
Is there a penalty for sending large amounts of data as an Isolate message? Let’s say I send a rather large array, how does it work under the hood? It sound to me like it should work like copying the whole array from one memory location to another. But since I dont’t know it would be great if someone could clarify. Thanks!
@andrewbrogdon5585 жыл бұрын
There's definitely a penalty. If you have a big chunk of memory in one isolate and want to do something with it in another isolate, there's a big copy operation required. Most of the time you don't have a need to do something like that, of course, but it can be a concern. There are ways to minimize the effect, though. If you need to download and process a big file, for example, and want the processing to occur in another isolate, it's better to do the download there as well. That way you only have to do a big copy when getting the processed data out, rather than when putting it in as well.
@Yuras2011 ай бұрын
Somehow I find the illustration with the wheel completely unintuitive (in terms of how the event loop takes care of the futures). Other than that, great tutorial.
@codersdance3 жыл бұрын
Get some coffee ☕. Hahaha! You are so funny. Visualize the thread getting coffee.
@floatingcat80685 жыл бұрын
It's so cool,i like it.
@MrAmG175 жыл бұрын
I do have a question. Is there a library or any info about how to use flutter + RabbitMQ?
@andrewbrogdon5585 жыл бұрын
Looks like they have a Dart tutorial at least: github.com/rabbitmq/rabbitmq-tutorials/tree/master/dart
@ebundala5 жыл бұрын
there are dart libraries one is dart_amqp don't know if it works but that would be the best place to start
@MrAmG175 жыл бұрын
@@andrewbrogdon558 Thank you
@yusufchigwandayusufchigwan115 жыл бұрын
thank you
@anotherperson77663 жыл бұрын
I didn't understand the event loop well I hope someone write what he did understand down here Thanks
@Musicstations2215 жыл бұрын
Nice video
@ymi_yugy31335 жыл бұрын
Is there any kind of prioritization going on?
@flutterdev5 жыл бұрын
Not normally. Events are processed in the order in which they arrive at the queue.
@ymi_yugy31335 жыл бұрын
@@flutterdev What do you mean by normally? Is there a way to assign priorities?
@MdSiam-kw5ox2 жыл бұрын
Why flutter is not multi-threaded?????
@beodan92193 жыл бұрын
Greate framework
@fabianosantana60525 жыл бұрын
Amazing
@mehmetedex5 жыл бұрын
this is so cool
@harshvardhansinghgaharwar49504 жыл бұрын
but how dart code know when event loop returns some value . after all at the last event get discarded
@manojarokkiasamy46054 жыл бұрын
i guess, the keywords like future to register a event in the queue to say "hey event loop if the reply comes back process it "
@codersdance3 жыл бұрын
Found it. At the end of the video you were looking for the Subscribe button and it is here on my phone.
@danvilela5 жыл бұрын
I want a video explaining animation api.. it is not intuitive for me.. it would be cool to unserstand the architecture of it.. and also borders.. each widget treats borders differently, that makes me crazy and till now i did not see a pattern there
@andrewbrogdon5585 жыл бұрын
Animation is likely to be our next big documentation push. Once you understand how the individual pieces fit together it's a lot easier to use, so we're hoping to make some more videos/samples/etc. to help people get to that point.
@mitesh79985 жыл бұрын
anyone have Isolates example demo? please give me the link.
@redbrogdon5 жыл бұрын
You can find a complete isolate example app in the Flutter samples repo: github.com/flutter/samples
@kurtvanhal53374 жыл бұрын
Am I correct to say that even though dart is single threaded, it will start seperate threads in order to process the futures/streams and basically return the value to the event loop of the main thread??
@mohabmagdy41554 жыл бұрын
I think The answer is No, the starter app and most flutter apps have only one isolate which have only one thread working on UI/network request and all other stuff in the app. according to the video, it seems that the basic flutter project has only isolate and only one event loop. so how we process futures and streams and the GUI requests??? that is done using the asynchronous non-blocking way that dart supports. The thread didn't stop when it accepts a heavy event as network request or stream call. The event loop completes its work on UI stuff until the callback function of the future call or stream is completed to the main thread. So conclusion in normal apps we have one isolate one event loop and one thread working both on UI stuff and futures/streams stuff. Dart is single-threaded this single thread work on all app lifestyle no separation of threads as we don't have multiple threads to handle future or streams. We can have multiple threads if we support multiple isolates but each thread will have its own work and they can communicate only through messages between them.
@garrrrrrrry65965 жыл бұрын
Keel it up!
@SaurabSalhotra4 жыл бұрын
This is strangely very simillar to Node.js, or am I missing something here? Isn't futures just promises?
@sadhlife4 жыл бұрын
yeah it is pretty much like nodejs in some aspects
@kousheralam5 жыл бұрын
Please do more video on error handeling.. such ass os Error
@Abdirizak_Duceysane5 ай бұрын
😍
@elrashidco5 жыл бұрын
❤❤❤❤❤
@mohamedgaber55335 жыл бұрын
make real examples or situations with code in this kind of videos. i still cant use it