Dodo Mobile @dodomobile Channel on Telegram

Dodo Mobile

@dodomobile


Канал о мобильной разработке в Dodo Brands. Канал ведёт Михаил Рубанов: @akaDuality

Вакансии https://dodoteam.ru/vacancies

Dodo Mobile (Russian)

Добро пожаловать в канал Dodo Mobile! Этот канал посвящен мобильной разработке в компании Dodo Brands. Здесь вы найдете самые свежие новости, советы и инсайты от ведущего в этой области - Михаила Рубанова, известного как @akaDuality. Михаил делится своим опытом и знаниями, помогая разработчикам улучшить свои навыки и научиться новым технологиям. Если вам интересна мобильная разработка и хотите быть в курсе последних тенденций, то этот канал для вас! Присоединяйтесь к нам, чтобы не упустить ни одной важной информации. Также обратите внимание на раздел вакансий, который позволит вам быть в курсе открытых позиций в компании Dodo Brands. Ссылка на вакансии: https://dodobrands.
otion.site/Dodo-Brands-a0e9e9ad779442a2aa322ddb52543d0a

Dodo Mobile

28 Jan, 12:21


Про Додо тоже будет что почитать — все айтишные каналы собрал в единую папку. Там и про мобилку на андроиде и про дизайн и много чего еще, оч рекомендую.

Dodo Mobile

28 Jan, 12:21


Я ухожу из Додо в апреле

Это были потрясающие 7 лет в компании и у меня к ней большая любовь. Как минимум, мы все здесь собрались, потому что я работал в Додо, а люди внутри компании помогали мне рассказывать о ней. Приходите работать в Додо, здесь клево!

Но я уже пару лет живу в Аргентине, ближайшее время тоже буду тут, а потом поеду еще куда-нибудь. Вместе с этим планирую и работу поменять.

Канал останется у меня. Попозже сменю название, обновлю аватарку и продолжу рассказывать про мобильную разработку. Предлагайте название для канала в комментах, чтобы стать частью истории.

Хочу пойти в молодой стартапчик, где можно влиять сразу на все, с целями по дизайну, с транзишенами и тесты писать прям с первой строчки. У меня много всякого накопилось про автотестирование, хочется насобирать примеры, подробно раскрыть тему и моооожет быть написать вторую книжку? Посмотрим — спойлеры в этом видео. По доступности получилось сделать маленькую революцию, но и тестам надо научить подрастающее поколение.

Такие дела. Это было клевое приключение на 7 лет и впереди будет новое.

Dodo Mobile

23 Dec, 13:24


90% пользователей не могут долистать до конца коллекции

Как часто вы работаете с макетами дизайна, которые заставляют вас задуматься, а как это вообще сделать?

iOS-разработчик Кристина Шевцова столкнулась с такой задачей в этом году и написала статью на Хабре про то, как она прятала акцию в приложении.

Статья получилось насыщенной на технические подробности: там и рисование, и математика, и анимации, и всё это с примерами кода. Погнали читать, пока горячая!

Dodo Mobile

18 Dec, 18:18


Как сделать свой слайдер

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

Поддержите лайком, тогда Миша и про доступность расскажет!

Собственный Segmented Control на SwiftUI. Часть 1. Смешиваем цвета

Dodo Mobile

10 Dec, 11:10


Дайнемик тайп в Фигме

Наши дизайнеры выкладывают макеты в Фигма-комьюнити и вот выложили макет с дайнемик тайпом. В приложении меню, новая карточка продукта и корзина умеют увеличиваться аж в 4 раза! Размер шрифта увеличивается и текст занимает всю ширину, интерфейс становится более вертикальным, картинки становятся больше.

Если хотите больше узнать как это работает внутри, то у нас есть плейлист видосов про дайнемик тайп

Подписывайтесь на Dodo Design, команда публикует красотищу.

Dodo Mobile

10 Dec, 11:10


Подкаст про доступность

В 2018 Анатолий Попко вдохновил меня поизучать доступность, а вот в 2024 мы вместе на подкаст обсуждаем результаты. Пообщался с ребятами, которые занимаюстя тестированием доступности в разных компаниях, подняли много тем: про книгу, влияние на индустрию, тестирование, AI, Android и Телеграмм.

⁃ в Яндекс Музыке
⁃ в Apple podcasts
⁃ в Podster.fm

Подписывайтесь на Центр И2Т, они регулярно рассказывают про доступность.

Сегодня вот вышел новый выпуск с разработчиками Яндекс Музыки

Dodo Mobile

09 Dec, 10:38


Запись вышла, можно подводить итоги

На мой вкус — худшее мое выступление!

⁃ Очень хотелось поговорить на сложную тему, но промазал с аудиторией: рассказывал для начинающих QA, а доклад скорее для мидлов-разработчиков.
⁃ Во время рассказа понял, что недостаточно связал пример задачи и тесты, отчего будто живу в своем мире повествования

С другой стороны, я наконец-то добрался до того, чтобы смело поговорить про тесты, поэтому за час:
⁃ Раскладываю на части тейк «у нас в стартапе все поменяется»
⁃ Критикую unit-тесты
⁃ Утверждаю, что тесты не обязаны быть зелеными в стартапе
⁃ Показываю как не писать тесты, но сделать так, чтобы они сами появились
⁃ Привожу пачку примеров интеграционных тестов на сценарий/навигацию через контракты
⁃ Воскрешаю пользу варфреймов в UI
⁃ Рассказываю как планировать работу прямо в коде.

В итоге видео может пошатнуть пачку представлений о том, как писать тесты и какая у них роль. Основной тейк — тесты в стартапе это не проверка свойст системы, а «ручки», чтобы быстро узнать как ведет себя приложение в разных частях.

Dodo Mobile

09 Dec, 10:37


📢 Друзья, вас ждет отличная пятница!

А все потому, что если вы вдруг не смогли присоединиться к нашему вчерашнему открытому уроку, где мы обсуждали тестирование в стартапах, вы можете сделать это прямо сейчас! Запись урока уже доступна для просмотра на наших каналах: на YouTube, на Rutube, на Платформе школы. Не упустите возможность стать профессионалами в мире тестирования!

🔥 Не забудьте, что сейчас также действует специальная 5% скидка на продвинутый курс Java Advanced 2.0, который стартует 12 декабря.

А если хотите ещё больше выгоды, тогда участвуйте в нашей реферальной программе: приведите друзей и получите еще 10% скидки!

До встречи на курсе!

Dodo Mobile

05 Dec, 16:08


Начинаем уже через час, не пропустите

Dodo Mobile

04 Dec, 17:14


Прошлая встреча получилась хорошей, тогда я рассказал про разные типы тестов которые пишем в приложении Додо Пиццы.

Dodo Mobile

04 Dec, 17:14


Тесты в стартапе

Со времен появления Дринкита и Кебстера очень много раз слышал «тесты в стартапе не нужны». Причины были разные: «у нас все поменяется», «мы торопимся» и т.д. До корневой причины мало кто докапывался.

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

Поэтому приходите в четверг на публичный урок школу QA-Guru, где я расскажу о том какие типы тестов я выбираю для нового проекта, что действительно меняется в стартапах и почему тесты нужны именно в том коде, который постоянно изменяется.

Зарегистрироваться на урок Завтра в 20 по Мск

Dodo Mobile

25 Oct, 11:48


SwiftUI

Расскажите — как у вас дела со SwiftUI?

⁃ Начали использовать? Полностью проект на нем?
⁃ Взяли the composable architecture или ну его?
⁃ Переехали на Observation? Или бэкпорт Perception используете?
⁃ Какие либы топовые?
⁃ Как с UIKit совмещаете? Как повторить логику переключения стейтов?
⁃ А навигация какая?

Хочу узнать лучшие практики и какой опыт использования.

Например, кажется, что Swift-Navigation и Perception клево позволяют постепенно переходить с UIKit на SwiftUI со стороны данных. Или нет?

Dodo Mobile

18 Oct, 13:26


Наши дизайнеры начали делать клевые видосы про новые фичи. Подписывайтесь на них тоже 🙂

https://t.me/designdodo/49

Dodo Mobile

18 Oct, 12:39


С марта мы очень хотели, но не могли отказаться от поддержки iOS 14 из-за сломанного там критического пути.
Сейчас уже починили, отказались и выдохнули 😮‍💨

Почему чинили так долго, причем тут SwiftUI и как пользователи научились обходить проблемы — читайте в статье Лёши Берёзки

Корзина в Додо Пицце на iOS 14: баг длиной в полгода

Медальку всем, кто поддерживает старые оси 🏅

Dodo Mobile

11 Oct, 11:43


Async/await

Часто встречаю на интервью, что мало кто работал с async/await и не понимаю почему. Впервые за долгое время Apple что-то бэкпортнуло, что не мешает внедрению, у чего есть понятный флоу миграции, на него подвязываются новые версии языка, которые собираются устранить самые популярные причины крешей от одновременного доступа…

Расскажите какое состояние относительно стракчед канкаренси у вас в проекте и что не дает переехать на него, очень уж интересно стало

Dodo Mobile

08 Oct, 14:28


В итоге за год прошли путь от «а как ваще создавать 3д-пиццы» до вот такой вот сцены

Dodo Mobile

08 Oct, 14:27


Как мы 3д-пиццу запекали

Весной выступал на Мобиусе, теперь выступление есть и на ютубе. Рассказ состоит из двух частей: как мы готовили модели и как в приложение добавляли. Прошло несколько месяцев с доклада, интересно сравнить то, что говорил и то, в каком состоянии AR сейчас.

⁃ Вышло 3 крупных релиза: AR в карточке продукта для нескольких пицц, изменение размера внутри AR и Геншин.
⁃ Рассказывал как готовить модели и что это все потенциально автоматизируемо — сейчас уже есть приложение для производства моделек, которое умеет генерировать превью, в котором модель можно подтюнить после генерации по размеру и положению, сгенерировать качественную модель и экспортировать в .usdz и .glb
⁃ Рассказывал как сделать модельку пиццы с коробкой — в сентябре запустили AR для Геншина, где еще и сцену добавили, анимаций разных, шейдеров прикрутили, музычку включили и показали сотне тысяч человек.

После нескольких месяцев в продакшене остался только один вопрос — почему-то конверсия из открытия AR в плейсмент модельки на столе всего 30%. Для телефонов помощнее она выше, но не больше 50%

Если пробовали и столкнулись в проблемами — расскажите в комментариях

Dodo Mobile

07 Oct, 13:43


Отдельно нравится то, как панелька дружит с кнопкой: во время кастомизации кажется, что КБЖУ это часть нижней панели, но на самом деле панель скролится, просто все так подогнано, что она встает ровно на нужное место.

Dodo Mobile

07 Oct, 13:42


Честный Дринкит

В Дринкит сделали прикольную фичу — при кастомайзе напитка честно рассчитывается сколько килокаллорий содержит напиток. Признаюсь — не очень верил в ценность фичи, но после запуска удивился. Оказывается, можно сделать напиток на 60 ккал, а можно насобирать сахарную бомбу на тысячу! Пару таких напитков и вы получили всю энергию, что нужна на день работы.

Dodo Mobile

01 Oct, 13:40


Вакансия iOS в Дринкит

Ищем iOS-разработчика работать над Дринкитом — приложение уже клевое, уже в 40 кофейнях и нескольких странах, в команде пока всего 3 других иосника, Руслан Кавецкий руководит, команда на SwiftUI нацелилась и ваще лучшее время присоединиться!

Вакансия

Dodo Mobile

01 Oct, 09:25


Как мы запуск приложения в два раза ускорили

Если сильно упрощать, то приложения делают две вещи — работают с сетью и выводят их на экран. Статей про интерфейс много, а вот сеть и ее особенности почти не обсуждается. А вопросов там можно насобирать:

⁃ Нужно ли переиспользовать URLSession?
⁃ Почему первые простые запросы в приложении выполняются дольше остальных?
⁃ Что за HTTP/2 и как он влияет на приложение?
⁃ Сжимается ли джейсон в запросе?
⁃ Как снять метрики запросов?
⁃ Как в целом посмотреть на картинку того, что происходит с запросами в приложении?

Про все это рассказываю в новой статье. Разберем чем помогает Network Instrument, какие выводы про работу сети он помогает сделать и в конце покажу как он помог ускорить запуск приложения в два раза!

Кейс оч клевый, а если поддержите активностью, то я еще и вторую часть напишу, где со всех сторон рассмотрим работу с картинками.

https://habr.com/ru/companies/dododev/articles/846662/

Dodo Mobile

18 Sep, 11:02


Genshin Impact

Вчера началась наша самая большая коллаборация — с Геншином. В пиццериях есть особенные пиццы, напитки, коробки, стенды и брелоки с персонажами.

В приложении мы стилизовали карточку продукта, добавили большую AR-сцену и впереди еще один большой секретик. Смотрите как красиво!

Dodo Mobile

04 Sep, 11:26


Ближайшая Android-подлодка про инструменты, на ней Григорий Шимичев из Дринкита расскажет про detekt, приходите послушать!

Dodo Mobile

01 Sep, 15:54


SwiftTesting тоже клевый по синтаксису (можно отделить интеграционные и скриншот-тесты!), но очень медленный из-за макросов. Не везет iOS с фреймворками для тестирования.

После этого остается вопрос «а как быть то», но про хороший DSL как-нибудь в другой раз

Dodo Mobile

01 Sep, 15:54


При этом подлость в том, что писать на Quick действительно удобно! На графике видно, как быстро мы начали наращивать количество спек в Quick, но уже через пару лет энтузиазм пропал и мы стали отказываться. Переписываем тесты через ChatGPT: иногда срабатывает так, что ничего править не надо (иногда и полная чушь, я тут без AI-оптимизма).

Dodo Mobile

01 Sep, 15:53


Такие описания хорошо ложатся на сценарии для мобилы. Вот я сделал запрос, он может прийти успешно, тогда одно поведение, а может завалиться, тогда другое и все это рядом. В итоге тесты превращаются в дерево ветвлений, что довольно понятно пишется. Обычно негативные сценарии тестируешь раньше, потому что они короче, смысл такого порядка примерно как у guard в Свифте.

Но все это очень сильно разбивается об реализацию и проблемы поддержки. Каждая из них может показаться незначительной, но иногда стреляет ВСЕ РАЗОМ.

⁃ Спецификация описывается через кложи, а они медленно компилятся. В итоге очень большую спецификацию не написать — в какой-то момент просто отваливаются на вложенности. И это вроде даже хорошо, потому что слишком большие спеки писать не стоит, но вы не сможете спрогнозировать скорость компилятора и отломается тогда, когда вам осталось написать пару строчек. И что, в такой момент все переписывать?
⁃ Так же и в обратную сторону: если вы вдруг ошиблись в коде, то компилятору будет очень сложно сказать где именно ошибка и вы останетесь наедине с буквами, будто работает не в умной среде разработки, а прям в блокноте. Поспрашивал коллег — все дружно кивают на этом пункте.
⁃ Писать спеку удобно, а вот работать с ней — нет. При отладке вам нужен коротки воспроизводимый тест на 10 строк, но в спеке для одного кейса приходится работать со всем файлом строк на 300-500 минимум, дебажить это неудобно, постоянно скачите из одного места в другое.
⁃ Интеграция в хкод никакая. Чтобы прогнать один тест из спеки надо писать префикс f, это приводит к рекомпиляции, которая долгая (смотри пункт 1). Но даже с префиксом неудобно, потому что файл очень большой, его легко забыть и без дополнительного тулинга в виде линтера или мониторинга количества тестов вы постоянно на это будете напарываться.
⁃ В снепшотах-тестах сталкивались с тем, что суммарное название теста получается длиннее максимального размера названия файла :DD

Dodo Mobile

01 Sep, 15:53


Почему мы отказываемся от Quick

Никогда так не делал и не фанат публичной критики, но раз уж много начали про тесты, то хочется рассказать о важном разочаровании — фреймворк Quick.

Сначала про плюсы и идею. Есть подход BDD – описываете сценарии, потом пишите под это тесты. Т.е. у вас есть спецификация того что и как должно работать, а где-то рядом с описанием и код вызывается. В итоге и документация и код в синхронизации, все довольны. При запуске он разложит дерево во все возможные кейсы и склеит шаги в одно большое название. Выглядит примерно так:

Dodo Mobile

28 Aug, 16:17


Отличные новости!

Вчера прошло открытое занятие "Стратегия автотестирования для iOS" с Михаилом Рубановым. На уроке обсудили ключевые подходы к тестированию, включая выбор инструментов и лучшие практики, которые помогут повысить качество приложений.

И мы рады сообщить, что запись встречи уже доступна для просмотра на YouTube 📱, на Rutube 👀 и на Платформе школы 🎓

🔥 Кроме того, у вас есть возможность записаться на продвинутый курс по автоматизации тестирования
"Java Advanced 2.0" со скидкой 5%!

Это отличная возможность прокачать свои знания на новом уровне и разобраться в более сложных проектах автоматизации тестирования.

⚡️ Успейте воспользоваться предложением и сделайте шаг к своему профессиональному росту!

Dodo Mobile

28 Aug, 16:16


Вот и запись. В конце много вопросов на разные темы про тестирование

Dodo Mobile

27 Aug, 15:00


🔥 Рецепты пиццы и кода от QA.GURU – уже в 20:00 по МСК!

Сегодня у вас есть уникальная возможность прокачать свои навыки в автотестировании! Хотите писать код, который работает без багов и масштабируется, как идеальная пицца с каждым новым слоем? Тогда обязательно приходите на открытый урок "Стратегия автотестирования для iOS-приложений", где мы на примере Додо Пиццы покажем современный подход к автотестам. Будет вкусно и продуктивно 😋

Михаил Рубанов – эксперт по accessibility, автор книги "Про доступность iOS" и Head of mobile в Dodo Engineering, раскроет все секреты, а вы:

• узнаете, какие задачи существуют в приложении и как они покрываются разными тестами (юниты, интеграционные, скриншот- и снепшот-тесты, UI-тесты);
• посмотрите живые примеры разных тестов;
• разберете, что именно помогает в написании тестов со стороны процессов, какие неожиданные свойства можно получить и как добиться того, чтобы тесты ускоряли разработку.

Не упустите шанс сегодня в 20:00 по МСК научиться готовить качественный код так же легко, как пиццу!