UPD: запись видео и презентации выложили в отчёте Привет! Меня зовут Саша Свиридов, я руковожу отделом мобильной разработки в Ozon. В моей команде чуть больше 80 человек — это Android- и iOS-разработчики и QA-инженеры. Мы делаем основное приложение Ozon для покупателей. Моя команда состоит из семи кроссфункцинальных групп разработки, каждая из которых отвечает за определенный скоуп задач. Спектр наших задач очень широк: мы разрабатываем чаты на сокетах, работаем с картографией, с потоковым видео, пушами, с аналитикой, со сложным UI. Пожалуй, у нас нет только GameDev:) Всего в Ozon больше 150 мобильных инженеров, которые развивают приложения для покупателей, продавцов, Ozon Fresh, FinTech, курьеров и сотрудников пунктов выдачи заказов. Для основного приложения Ozon мы написали топовый Backend-Driven UI фреймворк — Composer (не путать с JetPack Compose, это название Google придумал позже). Он используется для построения почти всех страниц, и он очень гибкий: можно вставить любой виджет на любую страницу, можно собрать новые страницы из готовых виджетов, можно собирать кучу аналитики — в том числе перформанс-аналитики. Также фреймворк наравне с модулями используется для разделения кода разработчиков. Для любителей свежих технологий в приложении для продавцов UI строится на Swift UI/JetPack Compose. Ребята не используют Backend-Driven UI. Что у нас под капотом iOS Мы используем Swift: на нём написано основное приложение Ozon и приложение для наших продавцов. Разрабатываем и развиваем свои инструменты и библиотеки: Фреймворк Composer для BE Driven UI — можем запускать фичи без релиза, управлять UI через админку, собирать аналитику и многое другое. Библиотеки Alamofire, PinLayout, Nuke. Фреймворк-убийца Google Analytics — Ozon Tracker собирает бизнес-метрики, многие из них в автоматическом режиме. Своя либа для работы с Feature Toggles — ABTool (в простонародии Абдул) и многое другое. Android Наши мобильные приложения полностью написаны на Kotlin. Есть Android-библиотеки, аналогичные iOS-ным: Composer, Tracker, ABTool и прочее. Любим подход MVVM, хотя не против поэкспериментировать с MVI. Благодаря фреймворку Composer создаем сотни страниц без разработки. Десять команд работают независимо в одном приложении, в том числе благодаря правильному разделению кода на Gradle-модули. Для работы с потоками в равной степени используем RxJava 2 и Coroutines. Тестирование В mobile QA Automation — Appium и Python. Автотесты мобильного приложения встроены в наши пайплайны мобильной и бэкенд разработки. Помимо функциональных тестов, автоматизация также распространяется на тесты аналитики и производительности. Совместно с сообществом Сoffee&Code приглашаем на открытый митап 19 мая в 18:00 Coffee&Code — оффлайн и онлайн сообщество iOS-разработчиков из разных городов и стран. Сейчас на регулярной основе проходят встречи в Минске, Санкт-Петербурге, Москве, Ереване и Варшаве. Каждые выходные люди самых разных грейдов и компетенций собираются вместе, делятся опытом и обсуждают новости из мира разработки. Следить за новостями можно в канале , а общаться — в чате . В программе Александр Свиридов (Ozon) Руководитель отдела разработки мобильных приложений «Покупатель» Перформанс мониторинг по-взрослому Когда я был маленьким, я думал, что хороший перфоманс приложения определяется crash rate'ом и OOM/ANR. Со временем я немного вырос и понял, что перформанс — это очень многогранное понятие, включающее множество метрик и практик. Поговорим о том, какие метрики собираются и как мы боремся за перформанс приложения Ozon. Владимир Шедько (Ozon) Ведущий Android разработчик Плавный скролл для сложного UI Как мы в Ozon делали плавный скролл для нагруженного UI, и при этом не переверстали всё приложение. Рассмотрим необычные подходы, которые мы опробовали на практике, и расскажем, что из этого получилось. Артем Новичков (Skyeng) iOS developer @SarkazmMan Как подружить свой код с async/await Рассмотрим, как работает новая модель многопоточности. На примерах разберём, что нового появилось в Swift и как это подружить со своим кодом. Круглый стол С представителями Ozon, Skyeng и сообщества Coffee&Code Обсудим темы, предложенные вами при регистрации на мероприятие. Модератор круглого стола — Александр Лазарев, руководитель подгруппы мобильной разработки (Ozon, Coffee&Code). Вести митап будет iOS-разработчик Сергей Гнатюк (Ozon, Coffee&Code). Встречаемся онлайн и оффлайн Ждём в гости в офисе Ozon («Башне на Набережной» в Москва-Сити). Важно: количество мест в зале ограничено — убедитесь, что вам пришло подтверждение для посещения оффлайн. Если возникнут вопросы на месте — обращайтесь в телеграм @ozon_tech_help . Трансляция будет на нашем Youtube-канале, зарегистрируйтесь , чтобы получить ссылку. До встречи!)