Комментарии 10
Интересно было бы сравнить с frozen. А в целом — впечатления не очень, много бойлерплейта и лямбды с билдерами.
Спасибо за статью.
В реальных проектах я обычно использую pub.dev/packages/json_annotation
который сделан как раз при помощи built_value
Если посмотреть обучалки по Flutter, то команда рекомендует использовать его, так как для json он удобнее.
Удобнее добавлять вложенные классы (которые автоматически на любой уровень вложенности десериализуются), Enums, поверх удобно оборачивать другими сериализаторами.
Вот тут подробно от команды Flutter
flutter.dev/docs/development/data-and-backend/json
Увы, не знаю. Прозвучит быть может не очень, но, все равно, рекомендую учить флаттер по англоязычным источникам + прокачивать английский.
Есть же книга на русском про флаттер довольно актуальная

json_annotation не имеет никакого отношения к built_value, это разные пакеты.

Зачем в 2020 году built_value, когда есть freezed? Он может все тоже самое и даже больше. Сериализация из коробки без лишнего кода, фабричные конструкторы, которыми удобно представлять различные сущности, как енум, но лучше. Фризед по всем параметрам лучше.

Согласен, сейчас как раз мигрируем с built_value на freezed, и он действительно практически по всем параметрам удобнее. Единственное, чего не хватает – удобной работы с коллекциями.

замечательно

забыли об еще одном важном методе для десериализации _initializeBuilder, который позволяет задавать начальные значения, если таковые не нашлись в десериализуемом объекте. Пример:

  static void _initializeBuilder(LocalSettingsBuilder b) => b
    ..enableRestLogging = false
    ..enableWebSocketLogging = false;

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.