Как стать автором
Обновить

Комментарии 15

Странная картинка. Что за предмет одежды чинит этот мальчик?

По задумке он решил подшить себе штаны для каламбура с названием. Штаны получились очень эластичными)

Там ещё какой-то странный предмет на стене справа.

Ногу.

В неё стреляли)

Пугает простота, с которой Дали отрисовывает машинку, приштопывающую *заплатку* (ууу, отсылка к названию и теме статьи, ууу) не только к штанине, но и к ноге парнишки. В целом, лучше не вглядываться в обложку, потому что 'чем дольше всматриваешься в бездну, тем пристальнее она всматривается в тебя'.
А по сабжу - красивое решение, но хотелось бы ещё хотя бы один пример.

Мы у нас в проектах не смешиваем freezed с json. Для data - слоя используются json модельки, для domain-слоя - freezed. Думал, это общепринятая практика (clean architecture).

Не вижу противоречий. Локализация - сущность domain слоя, тогда как патч - json моделька. Не стоит использовать класс локализации для транспортировки, так же как не стоит использовать в domain слое класс патча.

Замечу, что формально ничего не мешает генерировать транспортировочные модельки с помощью freezed. Он отлично для этого подходит.

Ничего не понял. Зачем весь этот огород, если в дарт есть готовая, отличная система локализации?

dart pub global activate intl

Так не судьба?

Данная статья является туториалом по написанию простейшего кодогенератора. Тема с локализацией рассматривается как пример.

Пакет intl тоже имеет кодогенератор, однако он не позволит получить, например, arb файл из интернета во время работы приложения и использовать его для локализации. Более того, в одном из текущих проектов мы инициализируем локализацию на устройстве, используя пакет intl, уже после чего можем доносить себе патчи через наш сервер и firebase remote config.

Данная статья является туториалом по написанию простейшего кодогенератора. Тема с локализацией рассматривается как пример.

Согласитесь, разумнее было бы в качестве примера взять более практически применимую задачу, чем дублирование intl.

однако он не позволит получить, например, arb файл из интернета во время работы приложения и использовать его для локализации

Не очень представляю себе такой сценарий использования. Чтобы использовать строки из .arb, код приложения должен знать, что такая строка в нём есть – добавить новую строку, не меняя код приложения не получится. Да и зачем менять строки в рантайме, я не знаю. Это же не контент, а UI. Опечатку разве что исправить – а как часто это нужно? Может, я ошибаюсь – тогда поясните.

В качестве примеров половина интернета переписала туду списки и калькуляторы. ИМХО в материалах для обучения оригинальность не главный фактор.

На второе ответ проще - бизнес хочет. Ну что тут можно поделать, менеджер сказал "хочу", пилим генератор. Лучше так, чем каждый раз писать руками.

Ну что тут можно поделать, менеджер сказал "хочу", пилим генератор.

Что бывает всякое, понятно. Мне просто любопытно, что за функционал таким образом обеспечивается. Сегодня элемент меню называется так, а завтра по-другому, без изменения кода приложения? Звучит загадочно 🙂

С первой частью ответа частично согласен. Буду стараться писать статьи интереснее и обязательно попробую найти примеры получше. Нет предела совершенству) Не судите слишком строго, у меня всего пара текстов за плечами.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации