Разработка макросов в Dart приостановлена из-за сложностей с поддержанием высокой производительности и скорости разработки. Интроспекция времени компиляции, необходимая для семантических макросов, существенно замедляла работу инструментов разработки, включая горячую перезагрузку.
Вместо макросов, команда Dart сосредоточится на улучшении работы с данными, включая сериализацию и десериализацию. Ранее макросы рассматривались как инструмент для решения этих задач, но теперь будут использоваться более специализированные языковые функции.
Также планируются улучшения в системе сборки и генерации кода, в частности, в build_runner. Будет выпущена функциональность augmentations, разработанная в рамках проекта макросов, которая, как ожидается, улучшит существующие процессы генерации кода.
Несмотря на отказ от макросов в краткосрочной перспективе, команда Dart продолжает рассматривать метапрограммирование как перспективное направление для дальнейших исследований.
Изображение носит иллюстративный характер
Вместо макросов, команда Dart сосредоточится на улучшении работы с данными, включая сериализацию и десериализацию. Ранее макросы рассматривались как инструмент для решения этих задач, но теперь будут использоваться более специализированные языковые функции.
Также планируются улучшения в системе сборки и генерации кода, в частности, в build_runner. Будет выпущена функциональность augmentations, разработанная в рамках проекта макросов, которая, как ожидается, улучшит существующие процессы генерации кода.
Несмотря на отказ от макросов в краткосрочной перспективе, команда Dart продолжает рассматривать метапрограммирование как перспективное направление для дальнейших исследований.