Есть ли сравнение преимуществ использования BEM в CSS относительно AMCSS, OOCSS, SUITCSS или SMACSS? В чем принципиальные различия?
Что отвечать на вопрос "чем вы лучше вот этих парней"? — ответ "мы были первые" слабо убеждает людей использовать БЭМ. Большинство идут за "хипстерскими" и более свежими подходами, нежели за проверенным временем.
Да, я встречала сравнительные статьи, где БЭМ упоминается. Вот, например http://clubmate.fi/oocss-acss-bem-smacss-what-are-they-what-should-i-use/ Но не припомню такой статьи, чтобы вывод делался в пользу БЭМа.
основной ответ — БЭМ не только про CSS, но про все (любую) технологию — ну и дальше можно раскрывать эту мысль
А письменно это где-то есть или в докладах? Так, чтобы не 2-3 предложения, а проникновенный спич.
с технологической точки зрения все упомянутые аббревиатуры могут быть представлены как подмножество БЭМ — или с точки зрения способа представления блоков в конечном HTML или с помощью миксов глобальных блоков
@varya нету — могу помочь написать
Напиши сюда, пожалуйста. Можно тезисно. И ещё мне кажется, что в чистом БЭМ-CSS тоже "плюшки" есть.
@varya я считал, что тезисно я уже написал ;-)
Ладно, тогда развернуто :-)
@veged то, что по БЭМ можно даже детей называть - это прекрасно, но мне больше интересно, как
продатьрассказать об сильных сторонах БЭМ применительно к CSS (вон и тег повесил для этого).@dab уже ближе - сжатые описания уже пол пути к выделению сильных сторон. Осталось только понять, чем БЭМ лучше (ну и про OOCSS с зависимыми блоками - это ты сильно "Basically, a CSS “object” is a repeating visual pattern, that can be abstracted into an independent snippet of HTML, CSS, and possibly JavaScript").
Еще добавлю - oCSS и Atomic CSS
@floatdrop не понял при чём тут дети... :-/
стоит тогда сформулировать вопрос более явно в теле тикета (как видишь, тег не так уж заметен)
хотя я не понимаю, зачем рассматривать только CSS, если вся суть БЭМ как раз в многоязычности и в возможности положить в одни термины весь технологический стек проекта (мне кажется, это более интересно) — хотя даже если сужать только до CSS всё равно есть принципиальные отличия
Рассматривать только CSS нужно для того, чтобы плюсы БЭМ могли понять и те, кому от БЭМ только CSS и нужен. Рассказ про мультилингвальность очень правильный, но он создает для них неверный посыл "вам это ещё рано", тогда как они могли бы взять от БЭМ его CSS часть и решить свои проблемы. А потом на это и другие технологии хорошо лягут. Но чтобы это произошло, нужно явно обрисовать плюсы БЭМ подхода в CSS. Какие они?
@veged шутка не удалась. :( Вопрос поправил.
"Кто-нибудь использует только CSS от БЭМ? Напишите, плиз, почему именно БЭМ выбрали." Вот тут я расписал почему: http://clubs.ya.ru/bem/replies.xml?item_no=3905#reply-bem-3907
@delka А другие модульные подходы вы тоже рассматривали прежде чем выбрать БЭМ?
Так что, все использую БЭМ, но никто не может объяснить почему? Сочинение не обязательно писать, расскажите вкратце.
Файловая структура нравится :)
БЭМ - это историческая сущность Яндекса. Если вы не работаете в Яндексе - вам не надо ее использовать. Если убрать Яндекс и его поддержку этого проекта, то кто еще говорит о БЭМ? Никто и нигде. Пока я горю в аду по мнению фанатов Яндекс после этих строк, я продолжу. В Яндексе люди переключаются между проектами, и их производительность растет если стандарты разработки при смене от проекта к проекту не меняются. Поэтому, логично, что в Яндексе выработались свои шаблоны/стандарты разработки интерфейсов. Это экономит кучу денег. Единственная причина стандартизации чего-либо - время. Потому что время - это деньги. Чтобы начать любой проект - вам надо его просто начать. Вам не нужно выбирать css-фреймворк, поход в верстке, подключать пакетного менеджера или сборщик проекта. Просто напишите несколько html строк, создайте js файл, прикрутите стили. Напишите прототип и вы поймете что вам не хватает дальше. И только когда у вас возникает реальная необходимость в чем либо - подключатей это. Самая первая необходимость для начала какого-либо проекта - код этого проекта. Где, как и с кем в обнимку(или обжимку) он будет лежать - это не важно.
@frontenddeveloping естественно, вопрос про момент, когда назрела необходимость в выборе подхода к стандартизации CSS (ну и про БЭМ говорят)
@frontenddeveloping А теперь представь что у тебя есть такая же инфраструктура в твоей маленькой студии. Ты заговорил про "время — деньги". Так вот если у тебя работает полный стек твоя у твоей студии появляется возможность вместо 2-x проектов в месяц выпускать 3. За счет реиспользуемого кода твоя студия будет предлагать лучшее решение за те деньги которыми располагает клиент. Студия получает двольного клиента, а довольный клиент это потенциально новые клиенты, и он становится привязанным к твоей студии за счет лучшего качественного предложения.
В любом случае в студии переключаются из проекта в проект. У нас есть проекты которые мы тянем с самого начала. Они написаны на простых технологиях, но что бы их поддерживать всеравно приходится тратить кучу времени что бы ознакомиться со структурой проекта того времени.
А за счет методологии разработки все клиенские проекты кажется не состваит труда апгрейдить до новых возможностей по желанию. Со временеи у такой студии будет набор библиотек и тд. Вернувшись в проект через три года, методология гарантирует похожесть подхода разработки.
Кажется если рассказать это любому предпринимателю он будет за переход на БЭМ стек. Меньше затраченного времени и при этом больше денег! Стандартизация никогда никому не вредила.
И сейчас можно не бояться что внедряющий человек просто уйдет из компании, написаны доки, есть видео и крутое сообщество.
В нашей студии так ;)
Мы начали со стандартизации в CSS, сами писали инструменты сборки и много чего еще, осознав важность стандартизации подхода разработки в целом.
Сейчас у вас всех есть возможность преодолеть этот долгий пусть (если сравнивать с нашим) в один шаг! Любви!
@voischev Во первых не ты, а вы. Уж извините, так воспитан. "Реиспользовать", как вы выразились, можно любой код. Главное руки и голова. Они как раз сэкономит вам время, а не БЭМ.
Кажется, если бы это было так, за БЭМ стояли бы очереди. А сам бы он давно как проект приносил деньги, была бы создана торговая марка и так далее. Или вы недооцениваете маркетологов Яндекса.
Я рад вашим лучикам любви к БЭМ. Удачного рефакторинга!
P.S. Ах да, а что если я вам скажу что ваша студия сможет делать не 3, а 4 проекта в месяц, если она будет просто работать?
@frontenddeveloping конечно же количество проектов в месяц взято только для примера увеличения скорости разработки на некоторую единицу.
@frontenddeveloping не нужно думать про БЭМ как продукт и как таблетку от всех проблем. БЭМ это отличные рекомендации к разработке от людей с кажется правильными головами. Дальше дело за вами, мы выбрали полный стек технологий которые разрабатывают в Яндексе, объективно по нашему мнению, это лучшее что сейчас можно предложить.
Появился ответ на этот вопрос на Stackoverflow. Он скорее "ни о чем", но добавлю ссылку для истории http://stackoverflow.com/questions/26603693/how-to-choose-among-css-modular-methods-like-bem-oocss-amcss-smacss-suitcss
Нашел вот такое видео про BEM и SMACSS http://www.youtube.com/watch?v=vXW7w3ym8hg