Что ждет мобильных разработчиков на Mobius 2021 Moscow
До конференции по мобильной разработке Mobius осталось три недели. А значит, пришло время рассказать, о чем будут доклады: их описания под катом.
Как водится, есть что послушать и по конкретным платформам (Android/iOS), и «кроссплатформенного». Чтобы вы быстрее находили подходящие вам доклады, в тексте проставлены обозначения:
? — iOS
? — Android
? — Flutter
? — Kotlin (вылезающий за рамки Android)
♾️ — универсальные доклады, не привязанные к платформе
Тематически все тоже разнообразно: от архитектуры до инфраструктуры. И в этот раз неожиданно широко раскрыта тема доступности (accessibility) — вероятно, это говорит о зрелости мобильной разработки.
Тренды в мобильной разработке
♾️ Мобильной разработки не будет через 5 лет
![](https://habrastorage.org/getpro/habr/upload_files/85d/78d/fb5/85d78dfb5bd5a3de9972c697f6ea5539.jpeg)
Кирилл Розов
Surf
Большинство докладов на Mobius — это суровая техническая конкретика (например, тот же Кирилл Розов у нас раньше рассказывал о корутинах). Но иногда полезно оторваться от деталей и задуматься «куда вообще мы идём».
В последнее время в мобильной индустрии проводится всё больше экспериментов с форматом устройств, а компьютеры и телефоны становятся ближе друг к другу. Как поменяется индустрия на основе текущих трендов? Станет ли кроссплатформенная разработка основной? Какой следующий формат устройств нас ждёт? Не факт, что вы во всем согласитесь с выводами Кирилла — ну, тут-то и пригодится, что на Mobius после каждого доклада есть возможность подискутировать.
♾️ Круглый стол: нужны ли нам код-ревью?
![](https://habrastorage.org/getpro/habr/upload_files/065/b10/96e/065b1096eb9ee01654e65bc90615aea6.jpeg)
Федор Цымбал
Orion Innovation
И ещё одна дискуссионная тема. Вопрос «нужны ли код-ревью» может прозвучать странно: ведь это один из старейших и важнейших процессов в разработке ПО. Но в мобильной разработке есть много альтернативных инструментов контроля за качеством кода (тесты, линтеры, анализаторы кода и т. д.). При этом у код-ревью хватает и минусов: перегруженность опытных разработчиков, трата времени, субъективность оценок качества кода, потенциальные конфликты. Точно ли в таком случае игра стоит свеч?
У людей есть очень разные мнения по этому поводу. Поэтому мы и дадим этим мнениям возможность столкнуться: проведем не доклад, а круглый стол, где говорить будет не только Федор. Самого Федора участники Mobius могут уже помнить, например, по докладу «A/V Sync в Android».
? Не самый удачный проект для KMM
![](https://habrastorage.org/getpro/habr/upload_files/a78/14b/aac/a7814baaca0384f3b85eb92d9472f930.jpeg)
Николай Дмитриев
Apalon
![](https://habrastorage.org/getpro/habr/upload_files/43d/8be/188/43d8be188d72eddfcab9582df54751ab.jpeg)
Георгий Емельянов
Apalon
Сейчас постоянно слышно про новые кроссплатформенные решения (Flutter и Kotlin Multiplatform Mobile), и обычно говорят хорошее. Но «серебряной пули» не существует, и для каждой технологии найдутся случаи, которым она не подходит — так что на общем благостном фоне интересно послушать про «обратную сторону» и проблемы.
Коля и Жора расскажут о разработке графического редактора логотипов Shaped, на котором обязательным условием было использование KMM. Но это не просто интересный случай из продакшена. Это рассказ о специфических «болях» разработчика и их преодолении на пути к классному продукту.
Ребята расскажут про проект, архитектуру и интересные моменты, которые возникали на стыке KMM и нативного UI, о своем впечатлении о KMM глазами нативных разработчиков, и о решении уйти от KMM и двигаться дальше нативно.
? Multiplatform UI: Compose outside Android
![](https://habrastorage.org/getpro/habr/upload_files/b9f/824/e6e/b9f824e6ec08e6bd88b5cbe3339d467f.png)
Николай Иготти
JetBrains
Jetpack Compose изначально ассоциировался только с Android, но в JetBtains работают над его выходом за эти рамки. Николай — лид направления Compose for Desktop в JetBrains. Он расскажет о текущем состоянии UI-фреймворка Compose Multiplatform, возможностях и перспективах поддержки новых платформ. Этот доклад — продолжение его предыдущего выступления.
? Building a production-ready Chat SDK using Jetpack Compose
![](https://habrastorage.org/getpro/habr/upload_files/1ff/5e2/873/1ff5e287301826b0b8be565f8e1767a9.jpeg)
Filip Babić
Stream
![](https://habrastorage.org/getpro/habr/upload_files/772/9d5/59c/7729d559c971521bb40afa812bbd9845.png)
Márton Braun
Stream
Филип и Мартон работают в Stream — проекте, который предоставляет «инфраструктуру для месседжинга и ленты новостей». И там с помощью Jetpack Compose уже создали SDK для чатов.
Почему такое доверили технологии, которая только недавно стала стабильной? С какими трудностями столкнулись и как их решали? Если вы искали реальный пример того, как Jetpack Compose может облегчить чью-то жизнь, то пришли по адресу: тут получите те самые best practices по Jetpack Compose, которых так не хватало.
? Building Compose Apps for everyone
![](https://habrastorage.org/getpro/habr/upload_files/212/ccb/beb/212ccbbeb1200c30e82103ea2289fe61.png)
Joe Birch
Buffer
Выше уже описаны доклады о Compose, но Джо Берч зайдет с другой стороны: поговорит про доступность. Знаете ли вы, что у 15% населения планеты есть та или иная форма инвалидности? Но даже при таком высоком показателе доступность часто остается для многих проектов на втором плане. Однако Джо утверждает, что с Jetpack Compose работать над ней становится проще — просто нужно знать, как это делать. Вот и узнаем.
? Training dynamic ML models on iOS 15
![](https://habrastorage.org/getpro/habr/upload_files/f3b/2e9/ef7/f3b2e9ef70bd2c1f9872c46b5b973d4b.jpeg)
Martin Mitrevski
Stream
Мартин Митревски (кому-то уже известный как автор книги «Developing Conversational Interfaces for iOS») поговорит о развитии машинного обучения на iOS.
В Apple уже давно сделали много для этой сферы с помощью CoreML, но сейчас с iOS 15 и CreateML все заходит еще дальше. Когда-то в случае со смартфонами говорили только об использовании уже натренированных ML-моделей — теперь же на iOS можно обучать их динамически прямо на смартфоне. Мартин и поговорит в целом о преимуществах такого подхода по сравнению с отправкой данных на сервер, и конкретно разберет, как это делать.
? SharePlay и другие способы связать пользователей iOS друг с другом
![](https://habrastorage.org/getpro/habr/upload_files/907/57f/c91/90757fc91405b3f1f0aef80c9b677e4d.jpeg)
Данис Тазетдинов
EPAM systems
В июне на WWDC21 Apple представила iOS 15 с технологией SharePlay, позволяющей расширить общение по FaceTime с помощью сторонних приложений.
В своем докладе Данис рассмотрит, как можно использовать эту технологию, как подружить ее с другими, на что нужно обращать внимание при создании приложений, где пользователи совместно работают над общим проектом. И, самое главное, зачем вообще пользоваться этой технологией, что она дает разработчикам? Так что, если вы присматриваетесь к SharePlay, не пропустите этот доклад.
? Как построить модульность на SPM (Swift Package Manager) с мультирепой и не поседеть
![](https://habrastorage.org/getpro/habr/upload_files/15a/a03/b50/15aa03b504f4bcbe960643f53fd4dea1.jpeg)
Ренат Гафаров
ВТБ
В последние годы Apple постепенно развивает Swift Package Manager. В итоге разные компании начинают пользоваться им, но внутри этого инструмента скрывается немало проблем.
У Рената есть опыт внедрения SPM в мобильное приложение ВТБ, в докладе он поделится своим опытом и расскажет, как построить модульность у себя в проекте, решить паровозик проблем и при этом не похоронить проект. Он также расскажет про особенности линковки, баги Xcode и почему не стоит бояться экспериментировать с новыми инструментами.
? Kotlin IR: прошлое, настоящее и будущее
![](https://habrastorage.org/getpro/habr/upload_files/d9a/780/920/d9a780920b114cf0000ccb24e50b98a4.jpeg)
Ильмир Усманов
JetBrains
Ильмир работает в JetBrains в команде Kotlin, он разработчик компилятора, поэтому его доклад про Kotlin IR — информация из первых рук. В 1.5 новый JVM бэкенд — JVM_IR — стал бэкендом по умолчанию. В 1.5.30 новый JS бэкенд — JS_IR — перешел в бету. Из доклада вы узнаете, зачем в компании стали разрабатывать новые бэкенды, почему решили переписать половину компилятора, с какими проблемами столкнулись и какие дальнейшие планы.
Архитектура
♾️ Finita la State Machine — MVI в iOS приложении
![](https://habrastorage.org/getpro/habr/upload_files/29d/184/e1f/29d184e1fc64e9f34ad2559ee07b2615.jpeg)
Александр Цыбулько
HH.RU
В Android-мире встретить аббревиатуру MVI можно часто, а вот видеть ее рядом с iOS не так привычно Александр расскажет, как его команда затащила MVI в iOS-приложение, и не просто смогла обуздать поток изменений, но и унифицировать архитектуру в iOS и Android.
Как разработчик, вы наверняка слышали: «Это просто артефакт, не обращай внимания, иногда бывает», «Да этот тест почему-то флакует», «Ну какой-то странный баг, давай не будем править?» Значит, мы контролируем не всё? Не можем предусмотреть все источники изменений текущего состояния программы? Не можем обработать все возможные сочетания данных? Получается не порядок, а хаос?
Посмотрим, как именно MVI может помочь.
![](https://habrastorage.org/getpro/habr/upload_files/a1f/574/0b6/a1f5740b650e892bbeff92bc4880c2ae.jpeg)
Giorgio Natili
Capital One
Джорджио Натили знаком постоянным участникам Mobius — в 2019 году он выступал с докладом Mutation Testing at Scale. А в этот раз речь пойдет про MV*-паттерны.
Есть множество паттернов проектирования, которые можно использовать для определения строительных и функциональных блоков приложения. Каждый из них определяет механизмы связи, структуру и качественные характеристики системы.
Architecture Tradeoff Analysis Method (ATAM) и Architecture Review for Intermediate Design (ARID) являются мощными инструментами для проверки архитектуры высокого уровня системы. Но инструментов для проверки того, использует ли низкоуровневый дизайн паттерн, который отражает высокоуровневые решения и атрибуты качества, нет.
Джорджио расскажет про инструменты и методы, позволяющие ориентироваться в дереве решений, связанных с выбором определенного паттерна MV*, хранением и распространением данных, а также организацией пакетов для оптимизации времени сборки.
? Как заваривать декларативный чай
![](https://habrastorage.org/getpro/habr/upload_files/6f0/712/499/6f0712499524020f28ad751583e4b081.jpeg)
Никита Типун
Delivery Club
Долгожданный релиз Jetpack Compose наконец-то состоялся, и многие разработчики начали на него переходить. Но вот проблема — переход на декларативный UI требует и доработок в архитектуре. Обычные MVP и MVVM, которыми все давно пользуются, уже не подходят.
Этот пробел устранит Никита, имеющий опыт работы с Jetpack Compose и применением UDF-подходов. Он расскажет про архитектуру TEA и о том, как ее применить к Compose.
Спикер полностью разберет работу The Elm Architecture, основные концепции Compose, позволяющие легко произвести интеграцию с TEA, и проведет небольшую сессию лайвкодинга.
? Используем State Machine в SwiftUI — быстро, просто и удобно
![](https://habrastorage.org/getpro/habr/upload_files/e19/a98/39f/e19a9839f54aed3460228c4cbf64c5f2.png)
Вячеслав Слуцкер
Skyeng
Доклад рассчитан в первую очередь на iOS-разработчиков, но вообще может быть интересен всем, кто хочет узнать использовать State Machine при создании приложений.
Сегодня многие приложения для iOS уже пишутся на связке современных нативных фреймворков SwiftUI + Combine. Вячеслав расскажет про методику и приведет примеры реализаций State Machine (конечных автоматов) на SwiftUI + Combine, в том числе реализующих подход Unidirectional Data Flow, которые позволяют быстро и понятно создавать экраны приложений — на выходе при этом получается простой в поддержке и покрытии тестами код.
? Применение VIPER в фичах с несколькими бизнес-логиками при разработке на iOS
![](https://habrastorage.org/getpro/habr/upload_files/66e/9db/992/66e9db99241a6452e8fa855663bf8732.jpeg)
Сергей Вихляев
Сбер
Сергей — руководитель направления iOS разработки команды потребительского кредитования мобильного приложения СБОЛ. В докладе он представит пример реализации на платформе iOS сложной задачи с применением архитектуры VIPER. Вы узнаете о нюансах постановки ТЗ, проектировании архитектуры и сложностях реализации.
Инфраструктура
♾️ Мобильный CI. Как выбрать и переехать
![](https://habrastorage.org/getpro/habr/upload_files/5dc/f1a/271/5dcf1a27139c7486b27d5bd9bb00e325.jpeg)
Севастьян Жуков
Авиасейлс
Севастьян занимается развитием инфраструктуры и процессов мобильных команд в Авиасейлс. Его доклад — рассказ про то, как команда мобильной разработки Авиасейлс выбирала новый CI для мобильных проектов и почему ее не устраивал старый. Какие CI-продукты предлагает рынок, и как выбрать подходящий?
Спикер поделится опытом, как плавно и без простоев перенести все пайплайны, с какими сложностями можно столкнуться и как их решить.
![](https://habrastorage.org/getpro/habr/upload_files/d2b/b15/af5/d2bb15af5a3eeba78cf606c14221c4ce.png)
Мария Водолазкая
Croc Code
Со строками у Марии много интересного опыта — апокрифические знаки, изменение верстки для арабского языка и так далее. Но самый яркий опыт был получен на проекте, где строки менялись три раза в день — просто для того, чтобы посмотреть, как меняется tone of voice в приложении.
Вообще tone of voice в мобильном приложении — это не просто причуда UX-дизайнеров, а эффективный инструмент взаимодействия с ЦА. Но он требует часто и много обновлять строки внутри приложения — задача, вызывающая головную боль у большинства разработчиков, особенно когда доходит до вопросов синхронизации двух и более платформ (iOS, Android, Web).
Задача хоть и кажется простой, нетривиальная на всех уровнях. В докладе будут освещены проблемы, с которыми могут столкнуться разработчики (и iOS, и Android), которые только планируют вводить управление строками в проект, а также подсказаны несколько путей решения, чтобы не наступать на грабли.
? Менеджеры зависимостей как фича вашей библиотеки
![](https://habrastorage.org/getpro/habr/upload_files/6ed/d2b/4b3/6edd2b4b3673c6eb4cb44581bb8304f9.png)
Владислав Фиц
Algolia
Владислав Фиц в 2020 году рассказывал про мобильный поиск, а сейчас расскажет про главные iOS-менеджеры зависимостей, выявит их плюсы, минусы и особенности.
В iOS-разработке популярны 3 менеджера: CocoaPods, Carthage и Swift Package Manager, а значит, что для обеспечения лучшего девелоперского опыта они все должны уживаться в одном проекте.
После матчасти участников ждет мини-воркшоп по созданию библиотеки и последовательному добавлению в неё поддержки популярных менеджеров зависимостей, описание сложностей, нетривиальных моментов и способов их обхода, проблемы при попытке организации monorepo, разбиении библиотеки на модули. Отдельно будет рассмотрено тестирование корректной работы всех менеджеров и организация CI.
? Автоматизация миграции Android-приложений на Bazel
![](https://habrastorage.org/getpro/habr/upload_files/7d2/300/36e/7d230036ed7f47b65d13cf0751029bc3.png)
Павел Ставицкий
Современные мобильные проекты сильно разрастаются — кода и модулей становится больше, сборка становится дольше, а система сборки по умолчанию (gradle) уже не выдерживает такой нагрузки. Система Bazel — хорошая альтернатива gradle, но часто стоп-фактором перехода на другую систему является сам размер проекта. Нельзя так просто взять и перейти на Bazel.
Павел Ставицкий имеет практический опыт миграции на Bazel больших приложений, он расскажет, как уменьшить боль и автоматизировать переход. Увидим, как можно написать свой Gradle-плагин для выполнения этой задачи. Чтобы сделать весь процесс более эффективным, мы рассмотрим Kotlin DSL, который очень похож на язык Starlark и позволяет выполнять декларативную и типобезопасную генерацию кода Bazel-скриптов.
? Test Impact Analysis для Android & JVM
![](https://habrastorage.org/getpro/habr/upload_files/c5e/c88/f1e/c5ec88f1e383d073038465fdac0dbb26.jpeg)
Максим Щепалин
Тинькофф
По мере роста команды и продукта неумолимо начинает расти количество фич, которые находятся в разработке. Чтобы как можно быстрее выкатывать новые фичи, приходится ускорять регресс, с чем помогают автотесты. Но что делать, когда их становится слишком много? Как все это поддерживать?
В этом нам помогает импакт-анализ — инструмент, который позволяет четко понимать, какой из тестов должен быть запущен на пулл-реквесте.
Максим занимается инфраструктурой в Tinkoff, и как раз написал такой инструмент — с помощью Jacoco и EmmaRT мы инструментируем байт-код, составляем карту загружаемых классов и методов во время исполнения теста, а затем, на пулл-реквесте, парсим git diff и понимаем, какие именно UI-тесты нам нужно будет запустить.
Качество продукта
♾️ Разочаровавшие паттерны мобильной разработки в 2021 году — как сделать их лучше
![](https://habrastorage.org/getpro/habr/upload_files/1e6/a4c/cee/1e6a4cceeb062361f55b09c73f95cf30.jpeg)
Виталий Фридман
Smashing Magazine
Основатель Smashing Magazine Виталий Фридман выступал на Mobius уже несколько раз — и каждый раз по реакции зрителей мы понимаем, что его стоит звать ещё.
На Mobius 2021 Moscow Виталий поделится своим разочарованием и болью — чудовищными паттернами мобильной разработки — и попробует найти альтернативы.
Есть множество UX решений одного и тоже пользовательского паттерна действий, но одни получаются крайней неудачными, а другие, наоборот, показывают очень большую конверсию. Разберемся, какие UX решение самые правильные. Будет много примеров и чек-листов для разработчика интерфейсов. Виталий поделится инсайтами, полученными в результате тестирований и исследований UX, которые проводил он или его коллеги. В результате вы получите целый набор техник, которые тут же сможете применять в своих проектах.
♾️ VK Звонки: соединяем тысячи людей с Android и iOS по WebRTC
![](https://habrastorage.org/getpro/habr/upload_files/829/a76/fc1/829a76fc1ac07f82e1a9b9ec0c958aa6.jpeg)
Иван Шафран
VK
![](https://habrastorage.org/getpro/habr/upload_files/1c3/5e0/5c6/1c35e05c698a7b7a1bafbaaa0dff61e2.jpeg)
Никита Разумный
VK
WebRTC — промышленный стандарт для создания сервиса интернет-звонков. С его помощью в пару строк реализуется VOIP-соединение для разговора двух людей. Но вот когда хочется сделать групповые звонки без ограничений на число участников, все становится куда хитрее, и WebRTC из помощника превращается в источник проблем и ограничений.
Иван и Никита работают в VK, где решено было реализовать звонки более чем на тысячу участников. Они расскажут об оптимизациях видео, аудио и архитектурной части WebRTC со стороны Android- и iOS-клиентов.
♾️ Хватит тратить жизнь на пулл-реквесты!
![](https://habrastorage.org/getpro/habr/upload_files/89f/f29/953/89ff299532ba6483b95ae316e7b5eb09.jpeg)
Екатерина Батеева
АвитоТех
Екатерина около семи лет занималась автоматизацией тестирования. Из них четыре года — автоматизацией мобильных приложений. Когда-то она была большим фанатом пулл-реквестов и тратила много времени на их ревью. Но в последнее время их важность ставится под сомнение. При этом хочется сохранить основные показатели стабильности приложения.
В этом докладе Катя расскажет, как сделать процесс реквестов менее нудным и затратным без потери в качестве.
? Отладка многопоточных приложений
![](https://habrastorage.org/getpro/habr/upload_files/e0d/264/a1c/e0d264a1ce88916c30e6356dfd039d66.jpeg)
Дмитрий Куркин
Spark Networks
Искать ошибки в многопоточном приложении достаточно сложно (в принципе, многопоточность — это всегда сложно).
Дмитрий, уже знакомый нашим постоянным участникам по докладам вроде «Отладка без исходников», рассмотрит, какие ошибки могут возникать при работе во множестве потоков (очередей) и как их можно отлавливать.
? Доступность — вершина технологий
![](https://habrastorage.org/getpro/habr/upload_files/13d/8cb/34b/13d8cb34b508a3e20de817cf0c955962.jpeg)
Михаил Рубанов
Dodo Engineering
Про доступность у нас в этот раз сразу несколько докладов. А Михаил — автор книги «Про доступность iOS», который хотел бы увлечь остальных этой темой. Индустрия мобильной разработки уже достаточно «взрослая», чтобы ее решениями пользовались не только люди без проблем со здоровьем. Каждый пользователь важен. Но есть пользователи, для которых качество вашего мобильного приложения определяет качество жизни. Вызвать такси, заказать продукты на дом, написать в чате — тривиальные задачи. И они должны быть таковыми для всех.
Михаил покажет, как незрячие люди пользуются телефоном, как графический интерфейс превращается в звуковой, как экран телефона становится трекпадом; научит использовать VoiceOver и расскажет, как сделать интерфейсы доступными для незрячих и парализованных.
Доклад будет интересен iOS-программистам и дизайнерам. Минимум кода, максимум интерфейсов и взаимодействия человека с компьютерами.
По мотивам доклада Михаил проведет и воркшоп:
? Воркшоп. Адаптируем приложения для людей с нарушением зрения
Вслед за теоретической информацией из доклада участники на практике увидят, как превратить существующий графический интерфейс в звуковой для незрячих. В прямом эфире Михаил разберет примеры от зрителей — лучше всего подойдут экраны с описанием товаров, так как они обычно самые сложные, но можно привести и любые другие.
? Адаптация приложения для слабовидящих
![](https://habrastorage.org/getpro/habr/upload_files/604/f88/caf/604f88caf301f9ea5906350310319202.jpeg)
Виктор Вихров
Яндекс Go
С доступностью на iOS разобрались выше — но Android тоже важен. Многие разработчики сфокусированы на новых фичах, чем на том, чтобы сделать свои приложения более доступными для слабовидящих и незрячих людей. Каждое устройство на Android поддерживает возможность использования телефона слабовидящими и незрячими людьми, но далеко не каждое приложения адаптировано для этого. В лучшем случае пользователи испытывают неудобства при использовании недоступного приложения, в худшем — не могут пользоваться приложением вовсе.
Виктор в докладе не только обращает внимание на важность проблемы доступности, но и показывает, насколько легко ее решить на примере Яндекс.Go. Он давно занимается цифровой доступностью и преподает курс по ней.
? ExoPlayer для IPTV приложений
![](https://habrastorage.org/getpro/habr/upload_files/e0c/210/852/e0c2108523a668e2fd00f0cab9b8f9f1.jpeg)
Надежда Куликова
Orion Innovation
Вы узнаете о том, чего не хватает в ExoPlayer при разработке IPTV приложений, а также унесете с доклада джентльменский набор улучшений плеера по мнению автора.
Надежда — старший разработчик в компании Orion Innovation. Занимается мобильной разработкой более 7 лет и имеет богатый опыт работы с ExoPlayer и решения проблем с ним. В это докладе будут интересные технические кейсы по работе с Video on Demand на ExoPlayer.
? Профилирование приложений Flutter. Незаслуженно забытые герои
![](https://habrastorage.org/getpro/habr/upload_files/89e/d7d/695/89ed7d6956e4052479bdd8541ee58f12.png)
Андрей Смирнов
fin_hood
Flutter — это всерьез и надолго. Он стал популярен благодаря быстрой разработке, яркому пользовательскому интерфейсу и Native Performance. И если с первыми двумя пунктами вопросов практически нет, то вопрос производительности приложения может быть поставлен под сомнение — ведь код логики UI пишут разработчики, допускающие ошибки, которые могут существенно повлиять на UI performance.
В этом докладе Алексей — разработчик на Flutter — расскажет, как и при помощи каких инструментов можно находить причины плохой производительности в процессе рендеринга UI.
? Воркшоп. Инструменты и приемы для работы с Apple Metal
![](https://habrastorage.org/getpro/habr/upload_files/426/9a6/e88/4269a6e88d2c617e5e2033c4d2463849.png)
Георгий Остроброд
Savage Software Group (Procreate)
Георгий Остроброд продолжает тему Apple Metal, которую не раз поднимал на наших конференциях.
При работе с GPU и, в частности, с Metal на платформах Apple часто возникает необходимость профилирования, контроля правильности исполнения и отладки кода, исполняемого на стороне GPU. В докладе речь пойдет об инструментах Apple Metal, как ими пользоваться, какие они имеют нюансы, а также другие приемы, которые автор использовал в своем опыте разработки графических редакторов.
? Вдохновившись SwiftUI, создаем дизайн систему на UIKit
![](https://habrastorage.org/getpro/habr/upload_files/fbf/4e8/1a3/fbf4e81a3ee23046d49846b24dec9dcb.jpeg)
Анастасия Соколан
Сбер
В этом докладе Анастасия — главный инженер по разработке в проекте «Умный дом» — затронет проблему упрощения процесса создания UI-компонентов в крупномасштабном проекте (на примере приложения «Сбер Салют»). Как это сделать, позаимствовав основные концепции SwiftUI, так как приложение поддерживает версии iOS 11+? Как выстроить концепции дизайн-системы для упрощения переезда на SwiftUI со временем?
Если вам интересны различные подходы к формированию дизайн-системы, то не пропустите это выступление.
Под капотом
? Antiphishing / Antimalware на трафике в iOS с применением Network Extension
![](https://habrastorage.org/getpro/habr/upload_files/c1e/c42/e8a/c1ec42e8a362311c9a7df4472be7334d.jpeg)
Денис Кудинов
Лаборатория Касперского
В этом докладе Денис произведет разбор и анализ трафика на iOS. Рассмотрит, какие есть пути на платформе для анализа трафика и углубится в Network Extension. Он рассмотрит его API, обсудит ограничения, и разберёт подход в Лаборатории к разбору всего трафика на платформе.
Денис в iOS-разработке с 2013 года и сейчас занимается решениями по безопасности в бизнес-сегменте.
♾️ Ускоряем сетевой слой ВКонтакте с HTTP/3
![](https://habrastorage.org/getpro/habr/upload_files/1d0/180/37e/1d018037ec9cb2724b0226298b2e4ef3.jpeg)
Андрей Чупин
VK
У ВКонтакте миллионы пользователей по всей стране и важно, чтобы приложение хорошо работало в плохих сетях. Одним из последних нововведений стал переход с HTTP/2 на HTTP/3. Именно о сетевых протоколах и их отличиях и пойдет речь в докладе.
Андрей — член команды Android-инфраструктуры ВКонтакте, отвечает за сетевой слой, билд-системы, CI/CD и т.д. В докладе он расскажет о развитии HTTP-стека, проблемах TCP и HTTP/2 и то, как с ними справляются UDP и QUIC. Расскажет, как они внедряли QUIC в Android- и iOS-приложения ВКонтакте, что из этого получилось и как вы можете быстро перевести на новый сетевой протокол свое приложение.
? Способы использования скрытого системного API
![](https://habrastorage.org/getpro/habr/upload_files/89c/546/cdf/89c546cdf8120ad1a46df4a55e374617.jpeg)
Николай Пахомов
SberDevices
Разработчики и инженеры любят копаться во внутренностях библиотек и искать то, что скрыто, чтобы использовать для решения своих бизнес-задач.
Например, вам нужно взаимодействовать со скрытым системным API в ситуации реагирования на Window-флаги в сторонних приложениях для скрытия или показа системной шторки ассистента будто это Navigation Bar.
Николай Пахомов — эксперт в данной области, он имеет практический опыт в использования скрытого от разработчика API Android. Его примеры основаны на реальных задачах в SberDevices.
? Как мы ускоряли создание процессов в Android
![](https://habrastorage.org/getpro/habr/upload_files/89d/dc2/1ca/89ddc21ca1c5fad70028d9e4a1bd1b17.jpeg)
Вадим Петров
Яндекс
![](https://habrastorage.org/getpro/habr/upload_files/134/036/c21/134036c21e079d11b2708315e6318573.jpeg)
Александр Семашко
Яндекс
Этот доклад — один из самых хардкорных на конференции. И несмотря на его узость, опытных разработчиков он может натолкнуть на идеи ускорения работы приложения, особенно если в приложении используется несколько процессов.
Вадим и Александр расскажут, как от задачи «ускорить открытие страничек» пришли к задаче «ускорить создание процессов в Android», как исследовали проблему и опускались вплоть до сборки Android из исходников и его отладки. И как небольшим «багом» Google может получить очень большое преимущество.
? Sliver во Flutter, или Как работает скролл
![](https://habrastorage.org/getpro/habr/upload_files/84a/719/b07/84a719b07f475a7ba4bdff935302a318.jpeg)
Михаил Зотьев
Surf
Михаилу @mbixjkee очень близка тема Flutter: он и на Хабре о ней пишет, и в Телеграме ведет канал Oh, My Flutter, и на Mobius в прошлом году выступил с темой «Flutter под капотом». Но тема неисчерпаема — и на этот раз Михаил углубится в то, как именно устроена прокрутка внутри Flutter. Отличаются ли при прокрутке принципы построения макета во Flutter? Что такое Sliver, зачем они нужны и как работают? Как со всем этим работать на практике, вы узнаете из доклада.
Заключение
В программе еще возможны последние дополнения, но в целом она теперь вам известна. Если вы хотите узнать о трендах в мобильной разработке, отточить свои навыки владения инструментами, погрузиться во внутренности технологий и процессов, то стоит задуматься о покупке билетов. А сделать это можно на сайте конференции.
И напоминаем, что кроме докладов, вас ждут тематические дискуссии, где можно пообщаться со спикерами и другими участниками, активности от партнеров и не только.
Увидимся в онлайне 22–25 ноября!