😭 Как отмена макросов повлияет на нас, Dart-разрабов ?
🤨Я только сейчас врубился что часть из вас вероятно даже не поимает что такое макросы и почему их отмена - это так грустно
Объясняю
Macros - это возможность автоматически, на лету, внедрять в ваш код разные плюхи которые сейчас генерируются через build_runner
Условно json_serializable который генерит нам файлики с методами toJson fromJson - это необычная особеннсоть Dart. В других языках все ваще не так
🤪 В других языках ты просто создаешь класс и он сходу знает как ему превратиться в json и обратно
Дак вот, чтобы у нас было все так же сладко как у соседей, в язык собрались внедрять Macros. Даже
объявили об этом на прошлом Google I/O
😍 Мы все, простите за выражение, уссались от счастья. Ведь это бы срезало гигантский пласт работы и сэкономило кучу времени разработки
И тут появляется
новость о том что фичу заворачивают на неопределенный срок. Обидно конечно, но настолько ли ?
⚠️ Самый важный поинт этой статьи - команда Dart не собирается отказываться от Data-классов (которые toJson и fromJson). Вне зависимости от макросов они будут внедрять этот функционал просто используя другие возможности языка
Насколько я понимаю как все в продуктовых командах работает - они хотели убить разом двух зайцев сделав "лучшее из возможных ршенеий". Ну а мы живем в реальном мире, где лучшее - не есть хорошее. Поэтому им пришлось отказаться от идеала (который нужен далеко не всем) и перейти на решение реальной большой
проблемы языка
Многие продвинутые разработчики хотели поиграться с макросами и создать свои решения в метапрограммировани. Очень вас понимаю)
🧑💻🔥 Но факт остается фактом - Data Classes в Dart появятся! Это вопрос времени