bem-site / bem-forum-content-ru

Content BEM forum for Russian speak users
MIT License
56 stars 6 forks source link

Почему стоит использовать именно BEM #91

Open floatdrop opened 10 years ago

floatdrop commented 10 years ago

Есть ли сравнение преимуществ использования BEM в CSS относительно AMCSS, OOCSS, SUITCSS или SMACSS? В чем принципиальные различия?

Что отвечать на вопрос "чем вы лучше вот этих парней"? — ответ "мы были первые" слабо убеждает людей использовать БЭМ. Большинство идут за "хипстерскими" и более свежими подходами, нежели за проверенным временем.

varya commented 10 years ago

Да, я встречала сравнительные статьи, где БЭМ упоминается. Вот, например http://clubmate.fi/oocss-acss-bem-smacss-what-are-they-what-should-i-use/ Но не припомню такой статьи, чтобы вывод делался в пользу БЭМа.

veged commented 10 years ago

основной ответ — БЭМ не только про CSS, но про все (любую) технологию — ну и дальше можно раскрывать эту мысль

varya commented 10 years ago

А письменно это где-то есть или в докладах? Так, чтобы не 2-3 предложения, а проникновенный спич.

veged commented 10 years ago

с технологической точки зрения все упомянутые аббревиатуры могут быть представлены как подмножество БЭМ — или с точки зрения способа представления блоков в конечном HTML или с помощью миксов глобальных блоков

veged commented 10 years ago

@varya нету — могу помочь написать

varya commented 10 years ago

Напиши сюда, пожалуйста. Можно тезисно. И ещё мне кажется, что в чистом БЭМ-CSS тоже "плюшки" есть.

veged commented 10 years ago

@varya я считал, что тезисно я уже написал ;-)

varya commented 10 years ago

Ладно, тогда развернуто :-)

dab commented 10 years ago
floatdrop commented 10 years ago

@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").

floatdrop commented 10 years ago

Еще добавлю - oCSS и Atomic CSS

veged commented 10 years ago

@floatdrop не понял при чём тут дети... :-/

стоит тогда сформулировать вопрос более явно в теле тикета (как видишь, тег не так уж заметен)

хотя я не понимаю, зачем рассматривать только CSS, если вся суть БЭМ как раз в многоязычности и в возможности положить в одни термины весь технологический стек проекта (мне кажется, это более интересно) — хотя даже если сужать только до CSS всё равно есть принципиальные отличия

varya commented 10 years ago

Рассматривать только CSS нужно для того, чтобы плюсы БЭМ могли понять и те, кому от БЭМ только CSS и нужен. Рассказ про мультилингвальность очень правильный, но он создает для них неверный посыл "вам это ещё рано", тогда как они могли бы взять от БЭМ его CSS часть и решить свои проблемы. А потом на это и другие технологии хорошо лягут. Но чтобы это произошло, нужно явно обрисовать плюсы БЭМ подхода в CSS. Какие они?

floatdrop commented 10 years ago

@veged шутка не удалась. :( Вопрос поправил.

ihorzenich commented 10 years ago

"Кто-нибудь использует только CSS от БЭМ? Напишите, плиз, почему именно БЭМ выбрали." Вот тут я расписал почему: http://clubs.ya.ru/bem/replies.xml?item_no=3905#reply-bem-3907

varya commented 10 years ago

@delka А другие модульные подходы вы тоже рассматривали прежде чем выбрать БЭМ?

varya commented 10 years ago

Так что, все использую БЭМ, но никто не может объяснить почему? Сочинение не обязательно писать, расскажите вкратце.

antonfrolovsky commented 10 years ago

Файловая структура нравится :)

gruzzilkin commented 10 years ago

Так что, все использую БЭМ, но никто не может объяснить почему? Сочинение не обязательно писать, расскажите вкратце.

  • Документация и статьи на русском.
  • Логичное развитие принципов АНБ.
  • Декларативный подход, уровни переопределения, организация файловой структуры.
  • Потенциал к расширению до полного стека разработки.
  • Библиотеки и инструменты продолжают развиваться и можно активно участвовать в их совершенствовании.
frontenddeveloping commented 10 years ago

БЭМ - это историческая сущность Яндекса. Если вы не работаете в Яндексе - вам не надо ее использовать. Если убрать Яндекс и его поддержку этого проекта, то кто еще говорит о БЭМ? Никто и нигде. Пока я горю в аду по мнению фанатов Яндекс после этих строк, я продолжу. В Яндексе люди переключаются между проектами, и их производительность растет если стандарты разработки при смене от проекта к проекту не меняются. Поэтому, логично, что в Яндексе выработались свои шаблоны/стандарты разработки интерфейсов. Это экономит кучу денег. Единственная причина стандартизации чего-либо - время. Потому что время - это деньги. Чтобы начать любой проект - вам надо его просто начать. Вам не нужно выбирать css-фреймворк, поход в верстке, подключать пакетного менеджера или сборщик проекта. Просто напишите несколько html строк, создайте js файл, прикрутите стили. Напишите прототип и вы поймете что вам не хватает дальше. И только когда у вас возникает реальная необходимость в чем либо - подключатей это. Самая первая необходимость для начала какого-либо проекта - код этого проекта. Где, как и с кем в обнимку(или обжимку) он будет лежать - это не важно.

floatdrop commented 10 years ago

@frontenddeveloping естественно, вопрос про момент, когда назрела необходимость в выборе подхода к стандартизации CSS (ну и про БЭМ говорят)

voischev commented 10 years ago

@frontenddeveloping А теперь представь что у тебя есть такая же инфраструктура в твоей маленькой студии. Ты заговорил про "время — деньги". Так вот если у тебя работает полный стек твоя у твоей студии появляется возможность вместо 2-x проектов в месяц выпускать 3. За счет реиспользуемого кода твоя студия будет предлагать лучшее решение за те деньги которыми располагает клиент. Студия получает двольного клиента, а довольный клиент это потенциально новые клиенты, и он становится привязанным к твоей студии за счет лучшего качественного предложения.

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

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

Кажется если рассказать это любому предпринимателю он будет за переход на БЭМ стек. Меньше затраченного времени и при этом больше денег! Стандартизация никогда никому не вредила.

И сейчас можно не бояться что внедряющий человек просто уйдет из компании, написаны доки, есть видео и крутое сообщество.

В нашей студии так ;)

Мы начали со стандартизации в CSS, сами писали инструменты сборки и много чего еще, осознав важность стандартизации подхода разработки в целом.

Сейчас у вас всех есть возможность преодолеть этот долгий пусть (если сравнивать с нашим) в один шаг! Любви!

frontenddeveloping commented 10 years ago

@voischev Во первых не ты, а вы. Уж извините, так воспитан. "Реиспользовать", как вы выразились, можно любой код. Главное руки и голова. Они как раз сэкономит вам время, а не БЭМ.

Кажется если рассказать это любому предпринимателю он будет за переход на БЭМ стек

Кажется, если бы это было так, за БЭМ стояли бы очереди. А сам бы он давно как проект приносил деньги, была бы создана торговая марка и так далее. Или вы недооцениваете маркетологов Яндекса.

Я рад вашим лучикам любви к БЭМ. Удачного рефакторинга!

P.S. Ах да, а что если я вам скажу что ваша студия сможет делать не 3, а 4 проекта в месяц, если она будет просто работать?

voischev commented 10 years ago

@frontenddeveloping конечно же количество проектов в месяц взято только для примера увеличения скорости разработки на некоторую единицу.

voischev commented 10 years ago

@frontenddeveloping не нужно думать про БЭМ как продукт и как таблетку от всех проблем. БЭМ это отличные рекомендации к разработке от людей с кажется правильными головами. Дальше дело за вами, мы выбрали полный стек технологий которые разрабатывают в Яндексе, объективно по нашему мнению, это лучшее что сейчас можно предложить.

varya commented 10 years ago

Появился ответ на этот вопрос на Stackoverflow. Он скорее "ни о чем", но добавлю ссылку для истории http://stackoverflow.com/questions/26603693/how-to-choose-among-css-modular-methods-like-bem-oocss-amcss-smacss-suitcss

voischev commented 10 years ago

Нашел вот такое видео про BEM и SMACSS http://www.youtube.com/watch?v=vXW7w3ym8hg