Конференция завершена. Ждем вас на FrontendConf в следующий раз!

Как разрезать большой монолитный клиент на ленивые модули. Опыт miro.com Frontend

Доклад отклонён
Олег Плотников
Miro

Lead front-end developer at Miro.com.
Интересы: Архитектура и UX.

telegram @oleg_plotnikov
Тезисы

У нас на руках был один монолитный клиент и две задачи:
1) Загрузить целевой контент пользователю как можно быстрее.
2) Сделать так, чтобы разрабатывать клиент могло в несколько раз больше разработчиков, чем сейчас.

Результаты:
1) Разрезали клиент на лениво-загружающиеся модули и ускорили загрузку приложения в 3 раза.
2) Новые фичи в продукте можно писать так, чтобы они загружались отложено и минимально влияли друг на друга.

Расскажу:
- Как организовали файловую структуру проекта,
- Какие проверки добавили с помощью Webpack, чтобы один случайный импорт не убил все оптимизации.
- Как можно настроить TypeScript, чтобы он правильно подсказывал какие файлы можно импортировать, а какие нет.
- Как работать с кодом, который используется между несколькими модулями.
- Принципы, которым мы теперь следуем, чтобы поддерживать достигнутые показатели.

Другие доклады секции Frontend