Прямой эфир: инфраструктура фронтенда

    Всем привет! Меня зовут Роман Дворнов, я Lead Engineer в команде Frontend Architecture в Авито. Мы занимаемся созданием и развитием технической платформы фронтенда, чтобы другие команды могли быстрее создавать интерфейсы и продукты. Мы с коллегами запланировали серию онлайнов, в которых будем обсуждать актуальные вопросы разработки клиентской части.


    11 декабря на нашем ютуб-канале пройдёт первый прямой эфир. Обсудим инфраструктуру фронтенда. В дискуссии будут участвовать эксперты из Яндекса, Tinkoff, Mail.Ru и Авито. Под катом — примерные вопросы, которые планируем обсуждать (дополняйте список), и ссылка на предстоящую трансляцию. Добавляйте пост в закладки: после встречи обновим его и выложим видео.



    Примерные вопросы для обсуждения


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


    Участники онлайна


    Ведущий и модератор — Константин Буркалев


    image


    Системный архитектор, в ИТ более 15 лет. Автор и ведущий подкастов о разработке: SDCast & RadioJS. Участник различных сообществ разработчиков, таких как MoscowJS, SymfoniacsMSK, Lua in Moscow и др. За свою профессиональную деятельность побывал эникейшиком, linux админом, web-мастером, разработчиком на PHP, JS, Lua, PostgreSQL, Oracle. Является Oracle Certified Professional по базам данных и кластерам. Сейчас работает тимлидом и занимается архитектурой систем безопасности.


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

    Роман Дворнов, Lead Engineer, Авито


    image
    Веб-разработкой занимаюсь с начала 2000-х, с фокусом на фронтенд уже более 12 лет. Раньше делал большие SPA, сейчас спектр решаемых задач стал шире и нередко выходит за рамки привычного фронтенда. Участвую в Open Source, автор и мейнтенер ряда проектов, таких как basis.js, CSSTree, CSSO, rempl, Discovery, Jora и другие. Исследователь, архитектор, изобретатель велосипедов, евангелист веб-стандартов, идейный вдохновитель, докладчик (некоторые записи выступлений).


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

    Сергей Мелюков, Senior Engineer, Авито


    image


    В профессии десять лет. В Авито делал большое SPA для профессиональных пользователей, полностью переделывал legacy-сборку фронтенда всего Авито, обновил технический стек разработки фронтенда в компании (react, node, webpack). Интересуется геймдевом.


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



    Егор Копылов, руководитель фронтенда Яндекс.Диска


    image


    Занимается веб-разработкой пять лет, делает Яндекс.Диск и связанные с ним проекты. Интересуется разработкой интерфейсов на всех платформах.


    «В контексте инфраструктуры хотелось бы обсудить вопросы общего владения кодом, какую роль играют в этом тесты, архитектуры современных веб-приложений. Готов ответить на вопросы по любой из заявленных тем».

    Андрей Марченко, tech lead, Tinkoff.ru


    image


    В профессии семь лет, последние три года занимается развитием проекта Tinkoff.ru и решает задачи, связанные с архитектурой, инфраструктурой и производительностью проекта.




    «За последние годы количество логики на фронте сильно увеличилось, и это повлекло за собой множество новых проблем. Мне интересно будет поговорить на темы: деплой, сборка, архитектура больших проектов, монолиты и что с этим делать, монорепы, владение кодом, мониторинг, поддержка и развитие больших кодовых баз. И со своей стороны расскажу о нашем опыте в этих темах».

    Станислав Туговиков, руководитель разработки клиентской части Почты, Mail.ru


    image


    В профессии 15 лет, начинал как fullstack-разработчик, делал сайты для Рамблера, Мегафона, Диснея. Последние шесть лет работает в Mail.ru, занимался фронтовой частью Почты и Облака.


    «Мне будет что сказать про распиливание монолита, деплой и тестирование. Всё с привязкой к специфике большого проекта (влияние легаси, огромной нагрузки, большого числа фич)».

    Где и когда смотреть


    Дискуссия пройдёт 11 декабря и начнется в 17:00 по московскому времени. Посмотреть можно на ютуб-канале AvitoTech — вот ссылка на трансляцию, подключайтесь. Если у вас есть вопросы по инфраструктуре фронтенда, задавайте в комментариях. Постараемся ответить на них во время обсуждения.

    Авито

    262,00

    У нас живут ваши объявления

    Поделиться публикацией
    Комментарии 6
      –4
      По инфраструктуре фронтенда есть замечание — очень много рекламы.
      И когда объявление подаешь, инфраструктура фронтенда постоянно клянчит деньги.
      Можно с этим что-то сделать?
        –5
        У меня и по бекэнду тоже есть претензии к архитектуре. Почему бесплатное объявление висит в выдаче из 30 дней только первые 2-3 и последние 4-5? Почему в серединные 20-25 дней оно не показывается в выдаче другим людям (или показ очень редкий), и тем самым клянчатся деньги на платные объявления?
        +3
        Сейчас любой кто брякнит про недостатки авито не по теме поста, уйдёт в глубокий минус.
          +3
          Привет!
          1. Расскажите, пожалуйста, про компонентный подход. Не могу понять зачем это все. Складывается впечатление, что в современном понимании компонент — это помойка, в которую накладывают все что попало. ui? — да, логика? — да, данные — тоже да! Что за чудо такое? Какой смысл это использовать и где? Только рассмотрите чуть глубже, чем ну типо независимая единица разработки. Ну ок.
          А что например с SSR? Ну запихали запрос к API в компонент, и дальше как это рендерить на сервере?
          А может все таки выбросить запросы к внешним данным из компонентов и сделать еще одну абстракцию (вроде page в nuxt) рядом с роутером, которая знает что нужно всему, собирает все данные и прокидывает по частям в компоненты?
          Возможно удобнее иметь не иерархию монолитных компонентов, а отдельно иерархию по данным (она и так уже обычно есть — некий злой store) по контроллерам и по вьюхам? И все на своих местах?

          2. Расскажите как в целом устроено управление данными в приложениях. Насколько удобно использовать глобальное состояние аля store? Для каких задач? какие есть проблемы?

          3. Как делается кэширование в современном мире? на уровне стора? на уровне service-worker'а? на уровне http?

          4. Помогает ли статическая типизация в больших приложениях? Или это бесконечная борьба с типами и еще один груз при поддержке?

          5. Как получаете данные? REST, GraphQL, вебсокеты? JSON или что поинтереснее?

          6. Насколько сейчас актуально/удобно/необходимо писать изоморфные приложения?

          7. А мобильные приложения уже пора сажать на js-стек? Или только натив? А может уже и приложений не надо, а пришла пора PWA?
            0

            Спасибо за вопросы!
            Тема предстоящего эфира несколько про другое, скорее про вокруг обозначенных тем и вопросов. Возможно мы что-то затронем, но без углубления.
            Но будут и другие эфиры, один из них как раз про то что Вы спрашиваете, так что сохраним ваши вопросы до такого эфира. Следите за анонсами :)

            0
            Напишу коммент, чтобы упало уведомление всем, у кого пост в закладках: мы начинаем :)

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

            Самое читаемое