Жизнь в изоляцииИнструменты
Ведущий фронтенд-разработчик в Авито, до этого работал в Ostrovok.ru и «Едином кошельке». Автор и мейнтейнер basis.js. Исследователь, изобретатель велосипедов, евангелист веб-стандартов, идейный вдохновитель, критик, докладчик. Основной интерес – архитектура и инфраструктура больших одностраничных приложений и смежные задачи.
С ростом кодовой базы становится все более очевидной необходимость использования компонентного подхода, когда каждая логическая часть обособлена. Если говорить про JavaScript, то в нем есть области видимости, опираясь на которые можно соорудить изолированные компоненты. Но в CSS нет подобных механизмов, поэтому и придумываются Shadow DOM (Web Components) и различные методики вроде БЭМ.
Но что если взглянуть на проблему под другим углом? Адаптируя подходы, что уже используются для других задач, можно получить куда больше выгоды, чем просто изолированные стили!