Dart компилируется в исполняемый файл машинного кода (ARM, Intel, ...) и поставляется с некоторым собственным кодом платформы (Java, Kotlin, Objective-C / Swift) для взаимодействия с собственной платформой.
См. Также
Как Flutter запускает мой код на Android?Код C и C ++ движка
скомпилирован с Android NDK.Код Dart (как SDK, так и ваш) заблаговременно (AOT) скомпилирован в собственную библиотеку ARM.Эта библиотека включена в Android-проект «бегущий», и все это встроено в APK.При запуске приложение загружает библиотеку Flutter.Любой рендеринг, ввод или обработка событий и т. Д. Делегируются скомпилированному Flutter и коду приложения.Это похоже на работу многих игровых движков.
Сборки в режиме отладки используют виртуальную машину (ВМ) для запуска кода Dart (отсюда и выводимый баннер «отладка», напоминающий людям, что они немного медленнее)чтобы включить горячую перезагрузку с сохранением состояния.
Как Flutter запускает мой код на iOS?Код C и C ++ движка
скомпилирован с LLVM.Код Dart (как SDK, так и ваш) заблаговременно (AOT) скомпилирован в собственную библиотеку ARM.Эта библиотека включена в iOS-проект «бегуна», и все это встроено в .ipa.При запуске приложение загружает библиотеку Flutter.Любой рендеринг, ввод или обработка событий и т. Д. Делегируются скомпилированному Flutter и коду приложения.Это похоже на работу многих игровых движков.
Сборки в режиме отладки используют виртуальную машину (ВМ) для запуска кода Dart (отсюда выводится баннер «отладки», который напоминает людям, что они немного медленнее)чтобы включить горячую перезагрузку с сохранением состояния.
https://flutter.io/docs/resources/faq#how-does-flutter-run-my-code-on-android
См. также https://proandroiddev.com/flutters-compilation-patterns-24e139d14177