Dart is a single-threaded language and it makes use of Isolates to run tasks or processes concurrently.
From just googling this for 5 minutes, it seems like "isolates" are really just threads without any shared memory; but that doesn't make them not threads. Dart is definitely a multi-threaded language.
Being a single-threaded language, it is impossible for dart to predict when certain functions will happen in your app
This sentence makes no sense. Threading almost never adds any predictability to programs; an event loop, as a layer of abstraction, is what adds this unpredictability from the perspective of the user-code.
Many of those answers also offer a lot of room for follow-up questions, so being able to explain all of those to some reasonable extent is a must.
Two remarks:
From just googling this for 5 minutes, it seems like "isolates" are really just threads without any shared memory; but that doesn't make them not threads. Dart is definitely a multi-threaded language.
This sentence makes no sense. Threading almost never adds any predictability to programs; an event loop, as a layer of abstraction, is what adds this unpredictability from the perspective of the user-code.
Many of those answers also offer a lot of room for follow-up questions, so being able to explain all of those to some reasonable extent is a must.
Dart is a single threaded language
From what I've read, it is not; at least the way I understand isolates from the few pages I've read through.