Начало основного контента

Доклады

  • Время в программе указано для вашего часового пояса .

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

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

    Кнопки красить — это вам не деревья вертеть

    На примере обычной кнопки Евгений расскажет, почему верстка интерфейса не так проста, как кажется на первый взгляд, и почему объяснить процесс создания UI-элемента порой сложнее, чем рассказать об алгоритмах работы с деревьями.

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

    Зал 1

    Генератор межъязыковых мостов для мобильных приложений PyDjinni

    В докладе пойдет речь о системе PyDjinni, которая служит для автоматической генерации межъязыковых мостов C++<=>Swift и C++<=>Kotlin на основании псевдокода, описывающего необходимые сущности. Эта система используется для разработки мобильных приложений под iOS и Android, имеющих общее ядро, написанное на C++. Благодаря автоматической генерации мостов можно избавить прикладных программистов от написания большого количества сложного boilerplate-кода.

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

    Зал 1

    Универсальные пуши для Android. FCM, HMS и RuStore в одном месте

    Когда был только Firebase все было просто. Теперь тренды меняются, появился HMS, появляются региональные решения. Артём расскажет, как охватить большую аудиторию используя не только Firebase.

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

    Зал 1

    Управление сложностью состояния

    Доклад Сергея продолжает и развивает доклад «The Elm Architecture in Prod» с последнего Mobius, где обсуждали основные компоненты возможной UDF-архитектуры и показывали на практике, как можно контролировать сложность состояния в UDF.

  • Тип доклада: Воркшоп

    Зал 1

    Jetpack Compose Multiplatform для iOS и Android

    Как писать на Compose сразу для iOS и Android, а если JetBrains еще что-то не добавили — как добавить это самому. Что происходит, когда Compose рисует вьюшки на обе платформы.

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

    Зал 1

    Как Google победила фрагментацию в Android

    Android SDK Extentions — одна из самых свежих новинок Google, которая позволяет использовать функции новых версий ОС на старые версии Android. В своем докладе Кирилл опишет весь тернистый путь борьбы Google с вендорами, чипмейкерами и разработчиками, чтобы сделать Android без фрагментации и не взять все обновление ОС под свой контроль.

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

    Зал 2

    Измеряем sequence

    Максим расскажет, как sequence работают под капотом и измерит выигрыш от их использования. Вы узнаете, насколько корректно правило detect CouldBeSequence.

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

    Зал 2

    Декларативная навигация в iOS-приложении

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

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

    Зал 1

    Упрощаем и укрощаем UI для Android с помощью аннотаций

    Оптимизация UI-кейсов в Android с помощью аннотаций KSP.

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

    Зал 2

    Показываем красивое с помощью видеоредактора в VK Клипах на iOS

    Михаил расскажет, как под капотом устроен фреймворк от Apple по работе с видео и аудио — AVFoundation. Он разберет основы библиотеки и более интересные вещи, такие как: реверс видео, трансформации, стикеры, звуковые эффекты и другие.

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

    Готовим конфигурацию Android-приложения с помощью Dynamic Proxy и рефлексии

    Анатолий расскажет о том, как спроектировать систему холодной конфигурации для Android-приложения. Он опишет существующие подходы, их плюсы и минусы. Спикер объяснит, как в идеале должны работать конфиги, и на какие компромиссы имеет смысл идти в случае многомодульного приложения.

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

    Использование XCFramework в крупном iOS-проекте, или Как ускорить сборку в 2 раза

    Доклад о том, как Сергей с командой применили в iOS-проектах Тинькофф предкомпилированные зависимости в виде XCFramework с использованием CocoaPods, fastlane, GitLab CI и на примере проекта Тинькофф Бизнес ускорили холодную сборку до 2 раз.

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

    По ту сторону EditText. Программная клавиатура в Android

    Спикеры расскажут про принципы разработки и интеграции программных клавиатур в Android и настройку EditText под различные задачи. Они рассмотрят Android SDK в точке коммуникации между полями ввода и сервисом клавиатуры. Далее вы услышите про причины возможных проблем взаимодействия приложений с InputMethodManager и узнаете, как корректно настроить EditText для различных сценариев. Дмитрий и Вадим опишут взаимодействия с полями ввода со стороны приложения клавиатуры и покажут, как разработать собственное.

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

    Зал 2

    Прожарка Tuist

    Александр расскажет, как они в Открытии внедряли Tuist: как добиться того, чтобы он работал параллельно с CocoaPods, как собрать на его базе аналог Independency от Авито и как настроить кэширование билдов.

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

    Зал 2

    Как мы делали новую iOS-камеру ВКонтакте и VK Клипов

    Никита опишет новую iOS-камеру ВКонтакте и VK Клипах. Он расскажет, какой API предоставляет Apple для взаимодействия с системной камерой (фреймворк AVFoundation) и какая обертка была написана поверх этого API. Он объяснит построение флоу фильтров для кадров с камеры и поделится техниками использования моделей CoreML для распознавания. Вы узнаете про изменение fps для камеры, пользу EXIF-формата и устройство Camera FOV, а также про замеры работы ML-моделей, Apple ARKit-распознавания и имплементацию AR Session.

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

    Зал 1

    Compose for iOS под капотом

    Доклад Алексея — это попытка заглянуть в то, как устроен Compose для iOS внутри. Он расскажет о том, какие проблемы приходится решать инженерам JetBrains, чтобы сделать адаптацию, и в какой стадии сейчас разработка.

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

    Зал 2

    Автоматизация ревью ресурсных картинок в iOS

    Несмотря на то, что современные инструменты разработки очень упрощают доставку медийного контента в приложения (XCode, Figma) разработчики и тестировщики таких приложений постоянно сталкиваются с проблемами, приводящими к разбуханию размера приложения или неправильному отображению контента, а некоторые приводят к притормаживанию интерфейсов. Сергей расскажет о различных инструментах решения этих проблем, и, конечно же, представит простое и наиболее универсальное, которым он хочет поделиться с вами.

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

    Архитектура сложных клиентских приложений

    В докладе будет представлен современный взгляд на архитектуру и методологию разработки сложных клиентских приложений. Здесь слово «клиентских» означает независимость от платформы (iOS, Android, Web, Qt и т.п), а «сложных» — подразумевает наличие как синхронизируемого с бэкендом клиентского состояния, так и множественных источников событий. Основной упор будет сделан на обеспечение тестируемости (unit-тесты и интеграционные тесты), наглядности (отображение UML-диаграмм в код) и пластичности (устойчивость к изменениям).

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

    Зал 1

    Ошибки при проектировании публичного API наших библиотек, и как мы их решали

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

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

    Зал 2

    SBOL iOS Story

    Эволюция инфраструктуры крупного проекта с ретроспективой за 10 лет. Мультирепозиторий, модульность, кастомная билд-система.

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

    Kodein в Android. Что за зверь и как его готовить

    Kodein в Android-проекте. Плюсы и минусы фреймворка, проверка целостности графа.

  • Тип доклада: Обсуждение

    Мифы и легенды о безопасности мобильных приложений

    Юрий объяснит, почему важно уделять внимание безопасности всех составляющих сервисов, а в особенности — мобильным приложениям. В докладе есть бизнес-часть (про публикации, проверки магазинами приложений, риски взлома приложений) и чисто техническая часть (про песочницы приложений, шифрование, мифы про Flutter и другое). Теория, как обычно, закреплена практикой и примерами реальных уязвимостей и недостатков приложений.

  • Тип доклада: Игра

    Корутинные загадки

    Спикеры будут показывать код с корутинами и спрашивать, что в нем должно случиться, а слушатели будут выбирать варианты ответов. После этого будет запускаться живой код и  оцениваться то, что получилось на самом деле. Затем будем разбор того, почему все именно так. Кто выберет больше всего правильных вариантов — тот и победил. Будут примеры с синхронизацией и конкурентной работой, отмена корутин и неочевидности Kotlin Flow.

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

    Зал 2

    Gradle Kotlin DSL: о чем умолчали в документации

    Gradle.kts уже давно не новая технология, но далеко не все на нее перешли. Причины разные: кто-то слышал о плохом перформансе, кто-то пытался мигрировать, но с ходу не вышло. Даже спустя 5 лет после релиза скуповатая на детали документация не проясняет многие кейсы. Андрей постарается исправить эту ситуацию в своем докладе.

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

    Modern MVI и MVVM+ со всех сторон в 2023

    Как и зачем выбирать MVI или MVVM+ фреймворк в 2023 году, на что важно обращать внимание и что может легко ускользнуть, внезапно всплыв лишь в продакшене.

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

    Зал 1

    Мы решили все проблемы работы в модульном проекте. Хотите так же?

    Из доклада вы узнаете, почему мультирепа и многомодульность — это круто и захотите их себе. Спикер и покажет проблемы, которые они создают, и сразу решит их. Особый упор будет на синхронизацию изменений репозиториев, полное избавление от dependency hell и контроль над консистенстностью большого проекта.

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

    Разгоняем BLE

    BLE изначально задуман как технология для обмена данными с низкой скоростью. Но что если мы хотим обновить прошивку на подключенном устройстве? Или собрать логи? Или отправить файл? Тогда нам нужно выжать максимум скорости из BLE. Про это и пойдет речь в докладе: как работает BLE, какие параметры у него есть и что изменить для ускорения.

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

    Зал 1

    Backend Driven… Аналитика!

    Для экранов мобильного приложения, UI которых приходит с бэкенда, в команде спикера придумали Backend Driven Аналитику. Она хранится и настраивается на бэкенде, а события отправляются из мобильного приложения, когда пользователь взаимодействует с экраном.

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

    Lobzik: полуавтоматическая модуляризация Android-проекта

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

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

    Зал 1

    О дивный новый мир со Swift Concurrency

    Кирилл расскажет, как в Тинькофф внедряли Swift Concurrency, какие требования предъявляли к новому инструменту и какие альтернативы рассматривали. Он поделится best practice, разработанными при написании кода со Swift Concurrency, напомнит про акторную модель и покажет, как может измениться написание кода фичи при ее использовании. И, конечно, как постепенно мигрировать на данное решение, какой стратегии стоит придерживаться, и почему за Swift Concurrency будущее.

     

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

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

Подписаться