Привет! Это вторая статья из цикла о разработке приложения на Flutter. В этом «номере» я опишу создание сетевого слоя, работу с локализацией, удобный способ работы с ассетами, локальный поиск и создание UI для одного из двух экранов приложения. Также я выведу интересные метрики, например — сколько данных сможет распарсить ваше приложение за одну милисекунду и...
Bottom Sheet представлялся мне сложным и недосягаемым. Это был вызов! Я не понимал, с чего начать. Возникало много вопросов: использовать view или view controller? Auto или manual layout? Как анимировать? Как скрывать Bottom Sheet интерактивно? Но всё изменилось после работы над Bottom Sheet для приложения Joom, где он используется повсеместно. В том числе и в...
Наверное, любой тестировщик хоть раз в жизни слышал фразу «Тестирование нужно начинать как можно раньше». И это правда. Чем раньше у отдела качества появится информация о проекте, тем меньше вероятность пропуска логических ошибок. Но жизнь — не сказка, и очень часто продукт попадает в руки тестировщика на предпоследнем этапе. Разумеется, и так можно работать, и...
Госуслуги уже давно не про запись на приём в ведомственные учреждения и не про единое окно (чтобы этот термин не значил) — мы расширяем горизонт и развиваем полноценную цифровую экосистему. На этот раз перед нами стояла задача разработать решение для подписания документов с помощью мобильного приложения, которое получило название «Госключ». На связи команда проекта «Госключ»...
Data Transfer Object — модель данных, которые мы передаём из одного слоя приложения в другой. В Яндекс Go мы активно используем DTO. Предположим, нужно отобразить в UI приложения для вызова такси экспериментальную кнопку с двумя свойствами — надписью на кнопке и ориентировочным временем ожидания такси. Тогда в сетевом слое надо написать примерно такую DTO-модель: struct...
2021 год в России запомнится беспрецедентной волной судебных и внесудебных блокировок ресурсов средствами DPI. 26 июля Роскомнадзор заблокировал множество наших ресурсов: блог Навального navalny.com, сайт сети региональных штабов shtab.navalny.com, сайт Фонда борьбы с коррупцией fbk.info и другие. Под блокировки попали даже сайты проектов «РосЯма» и «РосЖКХ». Все перечисленные ресурсы были заблокированы на основании требования Генеральной...
Ранее я писал статью о работе оффлайн с веб-контентом. С того времени команда Apple выпустила Xcode 13.2 и Swift 5.5. Прочитав книгу о современной модели многопоточности в Swift, я понял, что это лучшее время для обновления моих примеров с async/await! Перед прочтением моей статьи очень рекомендую прочитать материал о многопоточности в Swift Language Guide.Читать дальше...