Доклады

  • Программа предварительная, в ней возможны изменения.

  • Тип доклада: Доклад

    Дизайн-система 2.0: менеджеры нужны

    Разработка единой дизайн-системы для нескольких платформ — крайне интересная и непростая задача как с технической точки зрения, так и с точки зрения процессов. В докладе расскажем об интересных нюансах, с которыми мы столкнулись при разработке нашей дизайн-системы, и как с ними поработали.

  • Тип доклада: Доклад

    Реактивный Swift Concurrency

    Мы в iOS-команде Яндекс Мессенджера обкатываем реактивный подход при использовании Swift Concurrency (SC) без Combine или RxSwift. Построен он на прогреве стримов событий с помощью транзакций. В докладе расскажу, с какими сложностями столкнулись при переходе на SC, как их решили, что есть сейчас и что хотим делать с этим в будущем.

  • Тип доклада: Доклад

    Вам не нужно хранилище в приложении

    Доклад по стопам моего доклада про персистентность в iOS (SwiftData и CoreData).

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

  • Тип доклада: Доклад

    Шифруем файлы в Android

    Шифрование — это не так уж сложно. Во время доклада разберем, как его правильно завести.

  • Тип доклада: Доклад

    Паттерны SDUI

    Итак, вы задумались о том, чтобы принести SDUI на свой проект. В докладе мы поделимся опытом реализации различных SDUI-подходов в зависимости от целей и задач разрабатываемой функциональности. Каждый подход является своеобразным паттерном SDUI — со своими возможностями, сферой применения и особенностями реализации. Вы узнаете, какой паттерн подходит вашему проекту и как не допустить ошибок в реализации.

  • Тип доклада: Доклад

    Борьба с утечками памяти: от задачи до победы

    Борьба с утечками памяти в iOS-приложении. Вся работа — от обнаружения проблемы до настройки командных процессов.

  • Тип доклада: Доклад

    Темная сторона изолятов в Dart

    Рассмотрим вопросы, связанные с изолятами и изоляционными группами в Dart. Какие существуют ограничения на передаваемые сообщения и как устроен механизм хранения объектов в общей памяти изоляционных групп.

  • Тип доклада: Доклад

    Многомодульное приложение на Flutter

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

  • Тип доклада: Доклад

    А так ли нужны акторы в Swift Concurrency?

    Расскажу, почему в Swift потребовалась новая модель конкурентности и как именно акторы позволяют сделать ваш код лучше.

  • Тип доклада: Доклад

    DriverKit: гоняем данные по проводу без мам, пап и MFi

    Как взаимодействовать с периферийным устройством по USB из приложения? Ответим на этот вопрос, разберемся, как сделать такой девайс, напишем к нему драйвер и посмотрим на сценарии использования.

  • Тип доклада: Доклад

    Тулкиты кодогенерации Android vs iOS

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

  • Тип доклада: Доклад

    Время прощаться с XCAssets. Настраиваем экспорт картинок из Figma на CDN, а оттуда — в наше приложение

    Как настроить экспорт картинок из Figma на CDN и сделать удобную обертку для работы с ними. Почему xcassets — далеко не самый лучший способ хранить картинки в приложении.

  • Тип доклада: Доклад

    Бессмертное приложение

    Рассмотрим разные способы продления жизни приложения и разберемся, как переживать force-stop.

  • Тип доклада: Доклад

    Как укротить виджеты в супераппе?

    Доклад опишет опыт создания iOS-виджетов и их интеграции в Тинькофф Мобильный банк, от самых простых до сложных. Будет интересно iOS-разработчикам, которые решились на создание виджетов и не хотят переносить раскатку виджетов из релиза в релиз.

  • Тип доклада: Доклад

    VK Звонки: поднимаем планку качества WebRTC-звонков

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

  • Тип доклада: Доклад

    Создание indoor-карты здания во Flutter

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

  • Тип доклада: Доклад

    Установка Android-приложений от доисторических времен до наших дней

    Расскажу о том, как менялся API установки приложений в Android от первых версий и до современности. Разберем связанные ограничения и особенности. Рассмотрим проблемы, которые появлялись у разработчиков Android, и как они их решали.

  • Тип доклада: Доклад

    Переходишь на Compose? Не спеши!

    Compose c нами уже давно, но переезд на него проекта, написанного на View, все еще может преподнести нам сюрпризы. Поделюсь опытом миграции приложения с View на Compose, включая сложности с вложенными скроллами и свайпами, а также опытом решения проблемы замедленного первого запуска, связанной с особенностью unbundled library.

  • Тип доклада: Доклад

    Есть ли ORM круче SwiftData

    Есть ли альтернативы Core Data и SwiftData? 15-летний опыт работы с iOS подсказывает, что их много и они более чем актуальны сейчас с точки зрения удобства, возможностей и производительности. О них и сказ будет. Поделюсь серверным решением, которое портировал на мобилку.

  • Тип доклада: Доклад

    Ускоряем SwiftUI с Observable

    Макрос Observable — новый подход к реализации паттерна наблюдателя.

    Вспомним проблемы при построении SwiftUI-экранов с ObservableObject, разберем новый макрос Observable и сравним оба подхода.

    Узнаем, как можно начать использовать это решение прямо сейчас с учетом ограничения iOS 17.

  • Тип доклада: Доклад

    UICollectionViewLayout from scratch

    UICollectionView один из самых популярных компонентов в iOS-разработке, и часто стандартного поведения недостаточно: необходимо менять расстановку элементов, добавлять анимации, декоративные элементы, менять стандартное поведение. За все это отвечает layout коллекции и класс UICollectionViewLayout

    В прошлом году я потратил несколько месяцев, чтобы разобраться с вопросами создания своих лейаутов для UICollectionView и применил все эти знания в Маркете ВКонтакте. 

  • Тип доклада: Доклад

    BDUI как стратегия мобильного приложения

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

  • Тип доклада: Доклад

    Единая авторизация Ozon ID. Как мы повышаем комфорт юзеров, снижая затраты компании

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

  • Тип доклада: Доклад

    Архитектура white-label на Flutter: тонем в абстракциях

    Опыт проектирования white-label приложения на Flutter, ориентированного на разработчиков и проектные команды, которые занимаются созданием масштабируемых и кастомизируемых мобильных приложений. 

  • Тип доклада: Доклад

    Mobile App Performance: расшифровка метрик

    Рассмотрим, что такое performance-метрики приложения и зачем они нужны. Затем окунемся в обсуждение того, как их собирать и где хранить. Подробно разберем различные метрики — от LaunchTime до HitchRate — и рассмотрим их на примерах кода. Но не будем забывать и о темных сторонах: как обойти систему и почему не все в восторге от того, чтобы закопаться в коде. В конце обсудим, как мотивировать себя и свою команду следить за производительностью — ведь это ключ к успеху приложения и, в конечном итоге, к радостным пользователям и растущему бизнесу.

  • Тип доклада: Доклад

    5 уроков, вынесенных из опыта реализации pixel-perfect тестирования дизайн-системы в Android

    Опыт реализации скриншот-тестирования дизайн-системы под Android. Как ее масштабировать без проблем и с комфортом с помощью кастомных раннеров, тулинга и глубокого понимания Android UI SDK. 

  • Тип доклада: Доклад

    В сетях сетевого слоя

    Создание масштабируемой сетевой подсистемы в рамках Android-приложения.

  • Тип доклада: Доклад

    Как избавиться от рекурсии, или Как мой код попал в Google

    Разбор различных подходов к оптимизации рекурсии. Измерение их производительности и анализ. Расскажу об обнаруженной во время исследования проблеме в стандартной функции ViewGroup.descendant и ее исправлении в Google.

  • Тип доклада: Доклад

    Фантастические баги: как их ловить и править

    На примере нескольких мобильных проектов посмотрим на баги, которые возникли внезапно и своим появлением поставили под угрозу выпуск целых продуктов.

    Расскажу, как их нашли, исправили и почему они вообще появились, а также дам общие рекомендации о том, как ловить и исправлять «фантастические баги».

  • Тип доклада: Доклад

    Выжмем из SwiftUI Preview еще больше

    В 2022-м ребята из Ozon показали, как можно создавать различные тесты на базе Preview при помощи кодогенерции. Теперь посмотрим, как сделать то же самое без кодогенерации. А вместе с идеями интерактивных тестов откажемся от Micro Apps в пользу Preview.

  • Тип доклада: Доклад

    KMP на ОС Аврора: проблемы и пути их решения

    KMP (Kotlin Multiplatform) — это знакомый всем инструментарий, и его доступность при разработке приложений под ОС Аврора позволит легко создавать новые приложения или портировать существующие. Поговорим о том, что уже сейчас можно использовать из KMP и как это делать, а что — нельзя и почему.

  • Тип доклада: Доклад

    SwiftPM — фреймворки вместо кофе

    Устали перезаполнять свой фильтр кофе, пока собираются SPM-пакеты вашего проекта? Не страшно — разберемся, как можно сэкономить на молотом при помощи фреймворков.

  • Тип доклада: Доклад

    Swift 5.9: разбираем интероп и «женим» с С++

    Рассмотрим, какой интероп нам «подвезли» в Swift 5.9, какие в нем ограничения на текущий момент. Попробуем добавить интероп в реальный проект.

  • Тип доклада: Доклад

    ByteWeaver. Инструментирование байт-кода во имя великого блага

    Расскажу о ByteWeaver — небольшом инструменте для патчинга байт-кода во время сборки, который бывает полезен в разработке под Android. От некоторых подобных инструментов ByteWeaver отличается, с одной стороны, конфигурируемостью под разные задачи, с другой — он достаточно прост и легковесен. 

  • Тип доклада: Доклад

    Радикальная оптимизация сборки: вынос сборки Android-проектов с машины разработчика на сервер

    Сборка рабочего проекта на мощностях удаленного сервера и варианты организации подобной работы. Инструменты и мой опыт работы с ними.

  • Тип доклада: Доклад

    Эволюция презентационных паттернов SwiftUI

    Планируете построить архитектуру серьезного проекта на SwiftUI и не наломать дров? Не спешите завязываться на MVVM, придумайте свой идеальный ObservableObject.

  • Тип доклада: Доклад

    Как коллбэк повзрослел — и стал корутиной

    Что вы представляете, когда слышите слово «корутина»? Если coroutineScope, launch, delay — вы не правы, это не имеет непосредственного отношения к корутине. Во время доклада пройдем путь, который прошла индустрия от коллбэка до современных корутин и наглядно убедимся, что корутины и многопоточность — разные вещи.

  • Тип доклада: Доклад

    Multiplatform UI with Compose

    Мультиплатформенные технологии идут широким шагом, и «мобильщики» постепенно сталкиваются с проблемой фронтов. Им нужно поддерживать огромное количество различных экранов. В докладе рассмотрю, как это удобно делать на Compose Multiplatform.

  • Тип доклада: Доклад

    Gradle-сборка. Измеряем самое важное

    Расскажу о Gradle-плагине, который мы разработали в Тинькофф для сбора метрик билдов. И о том, какую информацию можно извлечь из Gradle.

  • Тип доклада: Доклад

    Размер имеет значение: как измерить и уменьшить вес Android-приложения

    Разберем, как измерить и оптимизировать одну из важных метрик для роста приложения — его размер. Как построить полную картину размера приложения, какие инструменты существуют для измерения и оптимизации и как создать свои, если таких еще нет.

Скоро добавим еще больше докладов

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

Подписаться