Сегодня Антон Виноградов из Яндекса опубликовал статью на хабре про историю объединения React и БЭМ. Честно говоря, я давно хотел прочитать подобную статью. В ней приводятся хорошие аргументы того, почему потребовалось скрещивать технологии между собой.
Если говорить кратко, React хорош для манипуляций с DOM, но при этом БЭМ позволяет очень точно управлять зависимостями, доставляя только нужный код клиенту. При этом БЭМ и React никогда не воевали между собой и не было цели их противопоставлять друг другу: "Компании не соревнуются в создании лучшего фреймворка на Земле. Если компания начнёт тратить меньше времени на инфраструктурные задачи при той же продуктивности, все от этого только выиграют".
Очень огорчил конец статьи, который по сути оказался пересказом доки архитектуры с гитхаба. Для своих этот раздел может, конечно, и ок, но для подавляющего большинства читателей статьи, я более чем уверен, он был непонятен. Очень надеюсь, что вторая часть статьи, которую обещают опубликовать через некоторое время, будет не менее интересна, а ситуация с заключением была просто недоразумением.
https://habr.com/ru/company/yandex/blog/438598/
#yandex #bem #react
Если говорить кратко, React хорош для манипуляций с DOM, но при этом БЭМ позволяет очень точно управлять зависимостями, доставляя только нужный код клиенту. При этом БЭМ и React никогда не воевали между собой и не было цели их противопоставлять друг другу: "Компании не соревнуются в создании лучшего фреймворка на Земле. Если компания начнёт тратить меньше времени на инфраструктурные задачи при той же продуктивности, все от этого только выиграют".
Очень огорчил конец статьи, который по сути оказался пересказом доки архитектуры с гитхаба. Для своих этот раздел может, конечно, и ок, но для подавляющего большинства читателей статьи, я более чем уверен, он был непонятен. Очень надеюсь, что вторая часть статьи, которую обещают опубликовать через некоторое время, будет не менее интересна, а ситуация с заключением была просто недоразумением.
https://habr.com/ru/company/yandex/blog/438598/
#yandex #bem #react
Хабр
React & БЭМ – официальная коллаборация. Часть историческая
Перед вами история интегрирования БЭМ-методологии в React-вселенную. Материал, который вы прочитаете, построен на опыте разработчиков Яндекса, развивающих самый масштабный и нагруженный сервис в...
Попалась на глаза серия из двух статей про CSS-in-JS от автора библиотеки JSS Олега Исонена. В первой части рассказывается про причины появления этого подхода.
CSS-in-JS это не какая-то библиотека, а идея, которая получила своё воплощение в целом ворохе библиотек, которые позволяют описывать и использовать CSS прямо в JS-коде. Это позволяет избежать целого класса проблем, присущих обычному CSS: отсутствие ограниченной области видимости, наличие неявных связей между стилями и кодом, накопление старого CSS-кода, недетерминированная специфичность, вызванная порядком загрузки стилей, могущественные селекторы, которые иногда сложно поддерживать, невозможность выразить стили на основе состояния приложения.
При этом в статье есть очень спорный момент. Автор пишет про то, что для решения некоторых описанных проблем были придуманы разные методологии наименования стилей и организации кода. При этом эти методологии очень сложны во внедрении, когда над проектом работает большое количество людей. По-моему личному опыту это не так. Конечно, какое-то недопонимание может быть в самом начале, но когда все участники разработки видят, что та структура, которую даёт BEM, Beavis и подобные методологии, лишает их головной боли, никаких проблем во внедрении быть не должно. Проблема потенциально может возникнуть только на уровне коммуникации, когда она доносится неправильно, и команда не видит в ней объективных преимуществ.
#cssinjs #css #bem
https://medium.com/dailyjs/what-is-actually-css-in-js-f2f529a2757
CSS-in-JS это не какая-то библиотека, а идея, которая получила своё воплощение в целом ворохе библиотек, которые позволяют описывать и использовать CSS прямо в JS-коде. Это позволяет избежать целого класса проблем, присущих обычному CSS: отсутствие ограниченной области видимости, наличие неявных связей между стилями и кодом, накопление старого CSS-кода, недетерминированная специфичность, вызванная порядком загрузки стилей, могущественные селекторы, которые иногда сложно поддерживать, невозможность выразить стили на основе состояния приложения.
При этом в статье есть очень спорный момент. Автор пишет про то, что для решения некоторых описанных проблем были придуманы разные методологии наименования стилей и организации кода. При этом эти методологии очень сложны во внедрении, когда над проектом работает большое количество людей. По-моему личному опыту это не так. Конечно, какое-то недопонимание может быть в самом начале, но когда все участники разработки видят, что та структура, которую даёт BEM, Beavis и подобные методологии, лишает их головной боли, никаких проблем во внедрении быть не должно. Проблема потенциально может возникнуть только на уровне коммуникации, когда она доносится неправильно, и команда не видит в ней объективных преимуществ.
#cssinjs #css #bem
https://medium.com/dailyjs/what-is-actually-css-in-js-f2f529a2757
Medium
What is actually CSS-in-JS?
CSS-in-JS refers to a collection of ideas to solve complex problems with CSS.