Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Привет! Меня зовут Сергей Мелюков, я senior engineer в команде Frontend Architecture в Авито.
17 августа в нашем офисе пройдет пятый по счёту митап-сателлит Moscow.js — Moscow SPA, встреча для фронтенд-разработчиков, которым интересна тема веб-приложений (Single Page Application). Поговорим об интеграции Jest с QA-инфраструктурой, DI в качестве способа масштабирования, может ли UIKIt быть максимально гибким и подходящим для всего, росте библиотек компонентов и платформенной команде. С докладами, кроме меня, выступят эксперты из Mail.Ru, Яндекса, ВКонтакте и Тинькофф.
Встреча начнётся в 11:00. Регистрируйтесь сами и приглашайте коллег. Под катом — тезисы выступлений, ссылки на регистрацию и видеотрансляцию митапа.
Доклады
Жесть для Jest — Сергей Мелюков, Авито
В Авито десятки фронтенд-инженеров и QA-специалистов. Все они очень хотят писать тесты для сайта. Чтобы сделать написание тестов удобным, а сами тесты полезными, мы используем различные инфраструктурные сервисы: сервис скриншотов, report viewer для CI, хранилище тест-кейсов, selenium-кластер и другие.
Но наличие сервисов не означает, что не остается открытых вопросов. Как посмотреть скриншот компонента, если тест провалился? Как интегрироваться с внутренними сервисами, например, report viewer’ом и тестохранилкой? Как сделать со всеми ними работу удобной прямо из кода тестов?
В докладе я расскажу, как мы интегрировали Jest с QA-инфраструктурой Авито.
Казалось бы, что в этом такого? Но у нас есть собственный reporter, environment с самописным IPC и http/ws-моки.
DI как способ масштабирования всего — Алексей Попков, Яндекс
Как часто в тестах вы подключаете библиотеку для хитрой подмены модулей? Во сколько if вы оборачиваете куски вашего кода для разных платформ? Или, может, ваша система A/B тестирования построена на бесконечных switch/case? Хватит это терпеть — нужно чинить!
UIKit, который точно сможет — Константин Лебедев, Mail.Ru
За свою карьеру я участвовал в создании множества разных UIKit’ов. Годы идут, технологии меняются, но киты — нет. У них те же проблемы, что и десять лет назад: расширяемость, темизация, зависимости, избыточность, и так далее. Конечно, эти проблемы пытаются решить, но выходит очень поверхностно и бессистемно. И вот, начав делать очередной pet-project, не имея ограничения по строкам и полную свободу, я задумался, как же всё таки должен выглядеть современный «UKit, который точно сможет»?
В этом докладе не будет готовых решений, но будут рассуждения и исследования на обозначенную тему: как можно построить максимально гибкие компоненты с общими правилами.
Доклад будет добротно приправлен примерами на TypeScript с зубодробительными и рекурсивные типами.
Куда растут библиотеки компонентов — Тим Чаптыков, ВКонтакте
Многие видели развитие библиотек компонентов. От вдохновляющего «На этот раз мы сделаем заново как надо» до «Здесь можно не править, в следующем квартале будем всё переписывать». От инициативы одного человека до выделенной команды, которая занимается поддержкой общих компонентов.
Мы часто сталкиваемся с одними и теми же проблемами, применяем одни и те же решения. И обычно это решения, которые требуют много ресурсов: больше разработчиков, больше времени, больше этапов тестирования. А что если ресурсов очень мало? На чём можно сэкономить?
Платформенная команда: пособие по применению — Александр Казаченко, Тинькофф
В Тинькофф Бизнес более 20 продуктовых команд. Все они работают с общим тулингом и сервисами. Раньше была проблема — нет ответственных за всё «общее» (читай, ничье), поэтому в начале 2019 года мы запустили платформенную (core) команду, которая эту проблему решила. Сейчас команда активно работает и приносит очень много пользы. В докладе я расскажу о нашем опыте, поделюсь готовыми решениями и постараюсь ответить на вопросы, связанные с организацией работы платформенной команды:
- как понять, что вам нужна платформенная команда;
- что входит в задачи платформенной команды;
- как эффективно выполнять задачи в платформенной команде;
- способы распространения сервисов и компонент;
- какие задачи нужно делегировать в продуктовые команды и как доводить их до конца;
- дальнейшее развитие платформенной команды.
Панельная сессия: «Платформенные команды: сказка или реальность?»
Тезисы и участники дискуссии уточняются.
Расписание
11:00 — 11:30 | Регистрация
11:30 — 12:10 | Жесть для Jest. Сергей Мелюков, Авито
12:15 — 13:00 | DI как способ масштабирования всего. Алексей Попков, Яндекс
13:00 — 13:30 | Обед
13:30 — 14:10 | UIKit, который точно сможет. Константин Лебедев, Mail.Ru
14:15 — 15:00 | Куда растут библиотеки компонентов. Тим Чаптыков, ВКонтакте
15:00 — 15:15 | Кофе-брейк
15:15 — 16:00 | Платформенная команда: пособие по применению. Александр Казаченко, Тинькофф
16:00 — 16:30 | Панельная сессия: «Платформенные команды – сказка или реальность?»
16:30 — Afterparty в баре ONE MORE PUB
Пароли и явки
Митап начнётся 17 августа в 11:00. Участие в мероприятии бесплатное, но нужно зарегистрироваться. Пожалуйста, указывайте вашу фамилию и имя так, как в паспорте, и не забудьте взять его (или водительское удостоверение) с собой, иначе вас не пропустят в офис.
Адрес: офис Авито, Лесная 7.
Если не сможете прийти, то подключайтесь к прямой трансляции на ютуб-канале AvitoTech.
До встречи!