Подтвердить что ты не робот

Флаттер - Как это работает за кулисами?

Очевидно, что flutter - это фреймворк для запуска приложений на iOS и Android с использованием одной кодовой базы. Но как это удается сделать? Будет ли он компилироваться в нативный код, или в процесс вовлечен язык среднего уровня или виртуальная машина? Я попытался прочитать часть исходного кода на Github, но не смог ничего найти.

4b9b3361

Ответ 1

Исходный код Dart скомпилирован в собственный код с использованием функции корреляции Dart AoT. По-прежнему требуется, чтобы Dart VM выполнялся, но код скомпилирован в собственный код раньше времени, потому что iOS не позволяет динамическую компиляцию.

Flutter также может вызывать Android и использовать функции Android, доступные только на Java. Flutter поддерживает создание пользовательских плагинов, которые позволяют вызывать собственный код платформы.

Ответ 2

How Flutter and Dart Works Together

Позвольте мне объяснить с помощью этой диаграммы:

Flutter построен с использованием языка программирования Dart. Флаттер имеет 2 основных компонента:

  1. Флаттер Фреймворк.
  2. Флаттер SDK.

Flutter Framework использует Dart в качестве языка программирования, а Framework имеет набор служебных функций, с помощью которых вы можете добавлять элементы пользовательского интерфейса и виджеты в свое приложение Flutter.

А Flutter SDK позволяет создавать, развертывать и настраивать приложения Flutter.

Флаттер использует дротик

Потому что Dart - это строго типизированный объектно-ориентированный язык программирования. И у этого есть особенности Опережающей компиляции времени и Компиляции Just in Time.

За счет предварительной компиляции Flutter SDK и Dart могут создавать собственный код ARM, который можно скомпилировать на Android и iOS.

Более подробно вы можете посмотреть это видео: как работает Flutter и почему Flutter использует Dart