- PVSM.RU - https://www.pvsm.ru -

Материалы с нижегородского Android-митапа. MotionLayout, Kotlin Coroutines, CI-CD инфраструктура и дизайн-системы

Всем привет! В прошлую субботу, 29 февраля, прошёл наш первый митап для Android-разработчиков в Нижнем Новгороде. Спикеры выступали с докладами о создании красивых анимаций с помощью MotionLayout, Kotlin Coroutines, CI/CD инфраструктуре для Android и дизайн-системе Авито.

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

Материалы с нижегородского Android-митапа. MotionLayout, Kotlin Coroutines, CI-CD инфраструктура и дизайн-системы - 1

Видеозаписи докладов

Мы вынесли инфраструктуру для Android в open source — Сергей Боиштян, Авито

Юнит speed в Авито разрабатывает инструменты для CI/CD Android, iOS и web монолита. CI/CD инфраструктуру для Android ребята развивают уже больше 3 лет, а в начале 2020 года вынесли её в open source.

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

В трансляции про этот доклад слушатель написал «Очень приятная подача, как у юмористов-стендаперов современных», так что рекомендуем не только в информационных целях, но и в развлекательных.

Вот репозиторий проекта [1], о котором рассказывал Сергей. Любые вопросы по нему можно задавать в комментариях к статье или команде в отдельном телеграм-чате [2].

00:03 [3] — Представление спикера и доклада
01:25 [4] — Команда опенсорсного продукта, и чем она занимается в Авито
02:51 [5] — Продукты или компоненты команды
08:42 [6] — Почему перенесли разработку в open source
16:30 [7] — Как использовать наш open source
18:35 [8] — Как начать изучение репозитория
21:24 [9] — Как использовать инструменты в реальных проектах
27:12 [10] — Ответы на вопросы слушателей

Посмотреть презентацию Сергея [11]

MotionLayout. Анимации, как у сына маминой подруги — Андрей Тумаринсон, MERA

Андрей рассказал о том, что такое MotionLayout и как с ним работать. Он показал несколько примеров использования этого инструмента в интерфейсах приложений, а не для анимации квадратиков. После просмотра доклада доклада станет понятнее, какую магию Google предоставляет из коробки, а что придётся кастомизовать.

Примеры анимированных с помощью MotionLayout интерфейсов от Андрея можно посмотреть на Гитхабе [12].

00:00 [13] — Представление спикера и доклада
01:44 [14] — Коротко о MotionLayout
04:52 [15] — Как работать с MotionScene
08:20 [16] — Примеры интерфейсов
31:38 [17] — Плюсы и минусы инструмента
33:50 [18] — Где стоит применять MotionLayout, а где он будет избыточным
36:35 [19] — Ответы на вопросы слушателей

Посмотреть презентацию Андрея из MERA [20]

Организация и инфраструктура дизайн-системы Авито — Андрей Данилов, Авито

Доклад о том, что вообще такое дизайн-система, зачем она нужна Авито и чем занимается её команда. Андрей разбирает распространённые ошибки организации и проектирования UI и делится опытом внедрения скриншотных тестов в продакшн.

00:00 [21] — Представление спикера
00:34 [22] — Чем занимается команда дизайн-системы
04:15 [23] — Про библиотеки компонентов и их проблемы
08:00 [24] — Про Design App Авито
12:09 [25] — Рефакторинг базовых сущностей
16:47 [26] — Lint
19:49 [27] — Скриншотные тесты
26:07 [28] — Выводы
27:31 [29] — Ответы на вопросы слушателей

Посмотреть презентацию Андрея из Авито [30]

Почему Kotlin Coroutines — лучшее, что подходит Android — Кирилл Розов, Android Broadcast

Подход "Kotlin Coroutines First" уже не за горами. Доклад Кирилла о том, что современные Android-приложения эффективно строятся с использованием Kotlin Coroutines для выполнения асинхронных операций, а все современные библиотеки из Jetpack подталкивают к их использованию.

00:00 [31] — Представление спикера
02:09 [32] — Что стоит учитывать при разработке под современные устройства на Android
05:57 [33] — Java-потоки vs coroutines
08:17 [34] — Structured concurrency
11:23 [35] — Flow: реактивные Coroutine
16:54 [36] — ViewModel + Coroutines + KTX
18:35 [37] — LiveData + Coroutines + KTX
24:18 [38] — Lifecycle + Coroutines + KTX
26:55 [39] — Сторонние библиотеки с поддержкой Coroutine
29:04 [40] — Свой адаптер для асинхронного подхода для Coroutine
31:57 [41] — Свой адаптер для асинхронного потока данных для Flow
33:39 [42] — Архитектура Android приложения на основе Coroutine
37:22 [43] — Заключение
39:45 [44] — Ответы на вопросы слушателей

Посмотреть презентацию Кирилла [45]

Плейлист со всеми видео можно найти на нашем ютуб-канале [46].

Фотоотчёт

Материалы с нижегородского Android-митапа. MotionLayout, Kotlin Coroutines, CI-CD инфраструктура и дизайн-системы - 2

Фотографии с митапа мы выложили в Фейсбуке [47] и ВКонтакте [48]. Посмотрите, как всё прошло, и отмечайте себя и друзей.

Мойте руки с мылом и не болейте. До новых встреч!

Автор: anna_lesnykh

Источник [49]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/dizajn-interfejsov/348598

Ссылки в тексте:

[1] репозиторий проекта: https://github.com/avito-tech/avito-android

[2] в отдельном телеграм-чате: https://t.me/avito_android_opensource

[3] 00:03: https://youtu.be/_CN0naVbkoA?t=3

[4] 01:25: https://youtu.be/_CN0naVbkoA?t=85

[5] 02:51: https://youtu.be/_CN0naVbkoA?t=171

[6] 08:42: https://youtu.be/_CN0naVbkoA?t=522

[7] 16:30: https://youtu.be/_CN0naVbkoA?t=990

[8] 18:35: https://youtu.be/_CN0naVbkoA?t=1115

[9] 21:24: https://youtu.be/_CN0naVbkoA?t=1284

[10] 27:12: https://youtu.be/_CN0naVbkoA?t=1632

[11] Посмотреть презентацию Сергея: http://bit.ly/32OFrwm

[12] на Гитхабе: https://github.com/andreytumarinson/MotionLayout-sample

[13] 00:00: https://youtu.be/m2fyCfm0ijY?t=3

[14] 01:44: https://youtu.be/m2fyCfm0ijY?t=104

[15] 04:52: https://youtu.be/m2fyCfm0ijY?t=292

[16] 08:20: https://youtu.be/m2fyCfm0ijY?t=500

[17] 31:38: https://youtu.be/m2fyCfm0ijY?t=1898

[18] 33:50: https://youtu.be/m2fyCfm0ijY?t=2030

[19] 36:35: https://youtu.be/m2fyCfm0ijY?t=2195

[20] Посмотреть презентацию Андрея из MERA: http://bit.ly/2TFNEPk

[21] 00:00: https://youtu.be/OzlsWfi1zPA?t=3

[22] 00:34: https://youtu.be/OzlsWfi1zPA?t=34

[23] 04:15: https://youtu.be/OzlsWfi1zPA?t=255

[24] 08:00: https://youtu.be/OzlsWfi1zPA?t=480

[25] 12:09: https://youtu.be/OzlsWfi1zPA?t=729

[26] 16:47: https://youtu.be/OzlsWfi1zPA?t=1007

[27] 19:49: https://youtu.be/OzlsWfi1zPA?t=1189

[28] 26:07: https://youtu.be/OzlsWfi1zPA?t=1567

[29] 27:31: https://youtu.be/OzlsWfi1zPA?t=1651

[30] Посмотреть презентацию Андрея из Авито: http://bit.ly/39ni0wQ

[31] 00:00: https://youtu.be/KUnYT4CZICU?t=1

[32] 02:09: https://youtu.be/KUnYT4CZICU?t=129

[33] 05:57: https://youtu.be/KUnYT4CZICU?t=357

[34] 08:17: https://youtu.be/KUnYT4CZICU?t=497

[35] 11:23: https://youtu.be/KUnYT4CZICU?t=683

[36] 16:54: https://youtu.be/KUnYT4CZICU?t=1014

[37] 18:35: https://youtu.be/KUnYT4CZICU?t=1115

[38] 24:18: https://youtu.be/KUnYT4CZICU?t=1458

[39] 26:55: https://youtu.be/KUnYT4CZICU?t=1615

[40] 29:04: https://youtu.be/KUnYT4CZICU?t=1744

[41] 31:57: https://youtu.be/KUnYT4CZICU?t=1917

[42] 33:39: https://youtu.be/KUnYT4CZICU?t=2019

[43] 37:22: https://youtu.be/KUnYT4CZICU?t=2242

[44] 39:45: https://youtu.be/KUnYT4CZICU?t=2385

[45] Посмотреть презентацию Кирилла: http://bit.ly/39xLPLn

[46] на нашем ютуб-канале: https://www.youtube.com/playlist?list=PLknJ4Vr6efQG0LiZ-B4NgRtU38zYlOO2z

[47] в Фейсбуке: https://www.facebook.com/pg/AvitoTech/photos/?tab=album&album_id=1477045695806107

[48] ВКонтакте: https://vk.com/album-152990965_270626171

[49] Источник: https://habr.com/ru/post/490984/?utm_campaign=490984&utm_source=habrahabr&utm_medium=rss