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

Доклады

  • День 1

    RU

    Код-ревью — очень старый интрумент в разработке ПО. У него всегда было достаточно минусов, но плюсы, как правило, перевешивали. Сегодня уже появилось много других способов улучшить качество кода: тесты, литеры, анализаторы кода. Так нужны ли нам все еще код-ревью? Обсудим этот вопрос в формате круглого стола.

    • #codereview
    • #tools
    • #bestpractices
    • #roundtable
    • Екатерина Батеева
    • Фёдор Цымбал
    • Артур Бадретдинов
    • Александр Коршак
    • Сергей Ермолаев
  • День 3

    EN

    In this talk we’ll explore common accessibility pitfalls, along with how they can be tackled within Jetpack Compose. You’ll leave with the confidence and knowledge to make your apps more accessible for everyone!

    • #compose
    • #android
    • #jetpack
  • День 4

    RU

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

    • #UI/UX
    • #Design
    • #keynote
  • День 4

    RU

    Как завести фичу под AB/Feature toggle и успешно доставить ее пользователю? Как легко ее раскатить на пользователей через бот и покрыть аналитикой просто и без боли для разработчиков и с выгодой для компании? И как не забыть удалить фичу, когда наступит её время?

    • #cross
  • День 4

    RU

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

    • #ART
    • #performance
    • #VDEX
    • #android
    • #ODEX
  • День 4

    RU

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

    • #iOS
  • День 3

    RU

    Разрабатывая библиотеки и SDK, мы заинтересованы в эффективном распространении наших продуктов, а значит и широкой поддержке менеджеров зависимостей. Популярные в iOS разработке менеджеры – SPM, Cocoapods и Carthage – как покемоны, обладают различными характеристиками, могут дружить и вступать в конфликты друг с другом. Собрать их всех в одном проекте не так просто, как может показаться на первый взгляд.

    В ходе доклада мы создадим мини-библиотеку и последовательно реализуем её дистрибуцию через упомянутые менеджеры, разберём нюансы организации многомодульности и версионирования в каждом из них и бонусом затронем вопросы поддержки Linux.

    • #iOS
    • #CocoaPods
    • #dependencies
    • #spm
    • #sdk
  • День 4

    RU

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

    • #smoking_room
    • Евгений Сатуров
    • Александр Юрковский
    • Моника Кобалия
    • Татьяна Рябова
  • День 4

    RU

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

    • Евгений Сатуров
    • Александр Юрковский
    • Татьяна Рябова
    • Моника Кобалия
  • День 4

    RU

    Вы наверняка уже много раз слышали про Flutter. Но не всему, что слышишь, можно смело доверять: где-то правда, а где-то — стереотипы и предубеждения. Мы попробуем отделить одно от другого, а также определим первые шаги и лайфхаки для начинающих флаттеристов. Если вам теоретически любопытна эта технология, но еще не погружались в тему — это самый подходящий случай это сделать.

  • День 4

    RU

    Спикеры расскажут про свои фреймворки и то, почему пришлось мерить перформанс:

    • какие метрики измеряются и за чем команда следит;
    • мониторинг перфоманса релизов — как устроен, деградации/P1/техдолг/цели;
    • примеры удачных/неудачных изменений для улучшения перформанса;
    • проблемы с метриками, советы, какие метрики лучше мерять;
    • планы на будущее: defect rate, performance tests, Hitch Rate, OZon crash SDK.
    • #partner
    • #smoking_room
  • День 4

    RU

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

    • #no-handshake
    • #tcp
    • #udp
    • #lowlatency
    • #cross
    • #api
    • #backend
    • #latency
  • День 4

    RU

    Если вы разрабатываете мобильные приложения, то наверняка замечали, что при разработке клиентов под Android и iOS часть кода дублируется. Избежать дублирования позволяют фреймворки для написания кроссплатформенного кода. К таким фреймворкам относится и вышедший осенью 2020 года Kotlin Multiplatform.

    В докладе Александр поделится своим опытом разработки библиотеки с использованием Kotlin Multiplatform, расскажет, с какими проблемами столкнулся, и что получилось в итоге.

    • #partner
    • #techtalk
  • День 4

    RU

    ТЕМАТИЧЕСКАЯ ДИСКУССИЯ НЕ ЗАПИСЫВАЕТСЯ

    Еще 5 лет назад всё было просто: пиши код и делай коммиты в master. Потом всё начало обрастать сложными процессами, новыми методологиями, Agile, регулярными дейли с командой, менеджерскими практиками и обязательным требованием прокачивать софт-скиллы. Давайте обсудим:

    • Какие изменения произошли за это время и для чего они нужны?
    • Подходит ли это всем компаниям или всё же нет?
    • Что ожидает нас в будущем?
    • Зачем IT-индустрия перенимает практики из других индустрий?
    • #partner
    • #smoking_room
    • Илья Меркулов
    • Дмитрий Васильев
    • Максим Тимохин
    • Александр Колобанов
  • День 4

    RU

    Таинственные коды, мгновенные взломы, загрузка ПО на приземляющийся самолет — в сценах с программированием из фильмов и сериалов прекрасно все. Кроме степени реалистичности.

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

  • День 4

    RU

    Обсудим, как работает OpenGL на Android, его производительность, плюсы и минусы, и тут же напишем кастомный GL Renderer для ExoPlayer со своими шейдерами для прозрачного видео.

    • #partner
    • #smoking_room
    • Глеб Ефимов
    • Денис Ткаченко
    • Николай Кудашов
  • День 4

    RU

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

    • #jetbrains
    • #android
    • #компилятор
    • #buildspeed
  • День 4

    RU

    Доклад об истории формирования дизайн-системы, написанной на UIKit, но в соответствии с некоторым концепциям SwiftUI в рамках приложения «Сбер Салют»: опыт, ошибки, ремарки, взгляд в будущее.

    • #UIKit
    • #iOS
    • #components
  • День 4

    RU

    Многие разработчики любят викторины в духе «Своей игры», проверяющие эрудицию и смекалку. Но у всех таких передач есть один небольшой недостаток: они не имеют никакого отношения к IT. У разработчиков нет собственной викторины вроде «Своей игры».

    Что ж, исправим эту ситуацию! 6 тем, вопросы разной сложности — все как полагается. Присоединяйтесь!

    • Андрей Дмитриев
    • Игорь Кареньков
    • Виталий Гесь
    • Олег Румянцев
  • День 4

    EN

    iOS 15 brings exciting opportunities for making our apps even smarter. With CreateML made available on iOS devices, we can now train our own machine learning models dynamically. In this talk, we will see how we can build our own custom image filters, using cool technologies such as CreateML, CoreML, SwiftUI and Combine. We will also see what are the benefits of on-device training over sending the data to a server.

    • #iOS
  • День 1

    EN

    In this session, we'll talk about how we built the world's first Jetpack Compose Chat SDK, what challenges we met along the way and why put so much trust into a technology that only recently became stable.

    We'll talk about the API design and what decisions we've made to allow for both default behaviour and UI and a rich set of customisation options.

    • #android
    • #jetpack
    • #declarativeui
  • День 1

    RU

    Методика и примеры реализаций State Machine (конечных автоматов) на SwiftUI + Combine, в том числе реализующих подход Unidirectional Data Flow, которые позволяют быстро и понятно создавать экраны приложений, при этом на выходе получается простой в поддержке и покрытии тестами код.

    • #iOS
    • #swiftui
    • #architecture
  • День 1

    RU

    В докладе пойдет речь о разработке графического редактора логотипов Shaped, на котором обязательным условием было использование KMM.

    • #kotlin
    • #cross-platform
    • #KMM
    • #ui
  • День 1

    RU

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

    • #partner
    • #techtalk
  • День 1

    RU

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

    • #multirepo
    • #iOS
    • #releaseTrain
    • #spm
  • День 1

    RU

    В данном докладе мы поговорим об автоматизации процесса миграции Android-приложений на систему сборки Bazel. Мы увидим, как можно написать своими руками Gradle-плагин, который будет выполнять авто-миграцию проекта. Также мы рассмотрим Kotlin DSL для декларативной и типо-безопасной генерации кода Bazel-скриптов.

    • #buildtools
    • #buildsystem
    • #android
    • #bazel
  • День 3

    RU

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

    • #VOD
    • #performance
    • #android
    • #MPEG-DASH
    • #video
  • День 3

    RU

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

    • #FPS
    • #workshop
    • #perfomance
    • #Profiling
    • #Tools
    • #iOS
    • #visualisation
    • #Rendering
  • День 2

    RU

    Что нужно для успешного успеха в карьере разработчика: быть программистом на все руки или просто кодером? Быть лидером, спикером, наставником, бизнес-драйвером?

    • #smoking_room
  • День 2

    RU

    В своем докладе Сергей:

    • напомнит, что такое Render Loop;
    • подробно разберет commit-фазу;
    • поговорит о стандартных и не очень методах оптимизации приложений.
    • #partner
    • #techtalk
  • День 2

    RU

    Kotlin Multiplatform сейчас на слуху: новости о технологии появляются регулярно, истории использования в продакшене тоже, а недавно компания JetBrains представила многообещающий план развития KMM. Но как известно, «серебряных пуль» не бывает, не везде KMM подходит одинаково хорошо, а конкуренты тоже не спят.

    Каковы тогда перспективы технологии, сможет ли она переиграть все другие фреймворки и SDK для смартфонов? Об этом и поговорят наши эксперты!

    • #kotlin
    • #flutter
    • #iOS
    • #android
    • Сергей Рыбалкин
    • Анна Жаркова
    • Александр Денисов
    • Вадим Белотицкий
  • День 3

    RU

    Спикеры расскажут про проблемы асинхронности и внутреннее устройство популярных фреймворков RxJava и Kotlin Flow, и сравнят их реализацию и скорость.

    • #partner
    • #techtalk
  • День 2

    RU

    За последние два года об удалёнке сказано очень многое. Но как правило такие обсуждения затрагивают какой-то конкретный аспект, например «стало ли мне, как разработчику проще или сложнее».

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

    • Кирилл Розов
    • Константин Цховребов
    • Александр Коршак
    • Андрей Дмитриев
    • Кирилл Клебанов
  • День 2

    RU

    Многие команды существуют в такой реальности, где на одном проекте используются несколько языков программирования. Обсудим распространённые сложности и ответим на вопросы:

    • Как сократить время компиляции проекта?
    • Как продать бизнесу фичу, которая не принесёт деньги сейчас, но предотвратит будущие потери?
    • #smoking_room
  • День 2

    RU

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

    Речь в докладе пойдет не про код, а про интерфейсы.

    • #voiceover
    • #philosophy
    • #diversity
    • #people
    • #iOS
    • #availability
    • #accessibility
    • #text
  • День 2

    RU

    Зачем и кому надо менять строки в уже выпущенном приложении, и как с этим жить разработчику.

    • #cross
    • #localization
    • #bestpractices
  • День 1

    RU

    ТЕМАТИЧЕСКАЯ ДИСКУССИЯ НЕ ЗАПИСЫВАЕТСЯ

    Вариаций того, как код добирается до пользователя, может быть множество. И добирается он время от времени с разным качеством и скоростью. Один проект может выглядеть по-разному в зависимости от того, кто и как его поддерживает. Кроме того, у каждого разработчика есть свое видение того, как правильно версионировать проект. И как же правильно? Это большой вопрос, который затрагивает и системы контроля версии, и братские апрувы, и коммиты в мастер и много всего другого. Обо этом и поговорим.

    • #smoking_room
    • Вячеслав Петрухин
    • Александр Сычев
    • Александр Газаров
  • День 1

    RU

    Спикер затронет такие темы как:

    • Существующие инструменты сбора аналитики в мобильных приложениях.
    • Собственная реализация (Client + Backend).
    • Технические характеристики приложения для анализа.
    • Сбор данных в зонах повышенной конфиденциальности (GDPR, CCPA, LGDP).
    • Как команда анализирует данные приложения (Grafana, Redash).
    • Результаты и профит.
    • #partner
    • #techtalk
  • День 1

    RU

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

    • #partner
    • #techtalk
  • День 3

    RU

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

    • #CI/CD
    • #cross
    • #devops
    • #mobileci
  • День 2

    RU

    Николай расскажет о текущем состоянии UI-фреймворка Compose Multiplatform, возможностях и перспективах поддержки новых платформ.

    Аудитория: Android-разработчики, Kotlin-разработчики.

    • #multiplatformui
    • #compose
    • #multiplatform
    • #crossplatformui
  • День 2

    RU

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

    • #workshop
    • #iOS
  • День 2

    RU

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

    • #optimizations
    • #bestpractices
    • #testautomation
  • День 3

    RU

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

    • #android.jar
    • #AOSP
  • День 3

    RU

    Андрей расскажет о профилировании и анализе производительности Flutter, поиске узких мест в производительности и о борьбе с джанками.

    • #rendering
    • #profiling
    • #flutter
  • День 3

    RU

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

    • #smoking_room
  • День 3

    RU

    Удалённая работа подарила возможность постоянно переезжать: с ноутбуком на коленях можно находиться то на пляже в Марокко, то за столиком французской пекарни, то на ферме в Айдахо.

    «Цифровые кочевники» (digital nomads), которые активно пользуются этой возможностью, существуют не первый день. Но за последние два года удалёнки в мире стало заметно больше — возможно, теперь и вам пора задуматься, хотите ли вы быть привязанными к одному городу?

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

    • #digitalnomads
    • Сергей Рябов
    • Артур Бадретдинов
    • Татьяна Рябова
  • День 2

    RU

    Искать ошибки в многопоточном приложении достаточно сложно. Рассмотрим, какие ошибки могут возникать при работе во множестве потоков (очередей) и как их можно ловить.

    • #grep
    • #logging
    • #watchdog
    • #iOS
  • День 2

    RU

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

    • #calls
    • #crossplatform
    • #webrtc
    • #video
  • День 2

    EN

    During this talk, we will explore tools and techniques to navigate the decisions tree of picking one MV* pattern versus another, storing and propagating data, and organizing your packages to optimize the build time.

    • #patternsui
    • #mvp
    • #architecture
    • #android
    • #mvvm
  • День 1

    RU

    В «Спортмастере» актуальным является автоматизация рутинных операций: инвентаризации, обновления ценников, сбора и выдачи заказов интернет-магазина и так далее. Для этого используются так называемые приложения МРМ (мобильное рабочее место) на iPod, расширяемые специализированными чехлами-кейсами. Эти мини iOS-приложения нужно было связать воедино для работы с общей БД и обмена данными между собой. Из всех технологий была выбрана IPC (inter-process communication). Представленные примеры кода вместе с комментариями будут хорошим гайдом по этой слабо освещенной теме в русскоязычном интернете.

    • #partner
    • #techtalk