- PVSM.RU - https://www.pvsm.ru -
Привет! Меня зовут Сергей Мелюков, я senior engineer в команде Frontend Architecture в Авито.
17 августа в нашем офисе пройдет пятый по счёту митап-сателлит Moscow.js — Moscow SPA, встреча для фронтенд-разработчиков, которым интересна тема веб-приложений (Single Page Application). Поговорим об интеграции Jest с QA-инфраструктурой, DI в качестве способа масштабирования, может ли UIKIt быть максимально гибким и подходящим для всего, росте библиотек компонентов и платформенной команде. С докладами, кроме меня, выступят эксперты из Mail.Ru, Яндекса, ВКонтакте и Тинькофф.
Встреча начнётся в 11:00. Регистрируйтесь сами и приглашайте коллег. Под катом — тезисы выступлений, ссылки на регистрацию и видеотрансляцию митапа.
В Авито десятки фронтенд-инженеров и QA-специалистов. Все они очень хотят писать тесты для сайта. Чтобы сделать написание тестов удобным, а сами тесты полезными, мы используем различные инфраструктурные сервисы: сервис скриншотов, report viewer для CI, хранилище тест-кейсов, selenium-кластер и другие.
Но наличие сервисов не означает, что не остается открытых вопросов. Как посмотреть скриншот компонента, если тест провалился? Как интегрироваться с внутренними сервисами, например, report viewer’ом и тестохранилкой? Как сделать со всеми ними работу удобной прямо из кода тестов?
В докладе я расскажу, как мы интегрировали Jest с QA-инфраструктурой Авито.
Казалось бы, что в этом такого? Но у нас есть собственный reporter, environment с самописным IPC и http/ws-моки.
Как часто в тестах вы подключаете библиотеку для хитрой подмены модулей? Во сколько if вы оборачиваете куски вашего кода для разных платформ? Или, может, ваша система A/B тестирования построена на бесконечных switch/case? Хватит это терпеть — нужно чинить!
За свою карьеру я участвовал в создании множества разных 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. Участие в мероприятии бесплатное, но нужно зарегистрироваться [1]. Пожалуйста, указывайте вашу фамилию и имя так, как в паспорте, и не забудьте взять его (или водительское удостоверение) с собой, иначе вас не пропустят в офис.
Адрес: офис Авито, Лесная 7 [2].
Если не сможете прийти, то подключайтесь к прямой трансляции на ютуб-канале AvitoTech [3].
До встречи!
Автор: Сергей Мелюков
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/326228
Ссылки в тексте:
[1] зарегистрироваться: http://bit.ly/2YKbe1V
[2] Лесная 7: https://goo.gl/maps/AbeQA3zyLC62
[3] ютуб-канале AvitoTech: http://bit.ly/2M404PR
[4] Источник: https://habr.com/ru/post/462743/?utm_source=habrahabr&utm_medium=rss&utm_campaign=462743
Нажмите здесь для печати.