Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.04.2013, 20:19
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

MSCC vs LESS(SCSS) ?
Что лучше?
Мультилеерный модульный подход или препроцессоры?
Ответить с цитированием
  #2 (permalink)  
Старый 09.04.2013, 22:58
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Лучше BEM + Stylus
Ответить с цитированием
  #3 (permalink)  
Старый 10.04.2013, 00:15
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от monolithed Посмотреть сообщение
Лучше BEM + Stylus
Золотые слова
__________________
kobezzza
code monkey
Ответить с цитированием
  #4 (permalink)  
Старый 10.04.2013, 01:20
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Сообщение от monolithed
BEM + Stylus
шутканул нет)? бем же вроде требует тоже компилятора, не?
Ответить с цитированием
  #5 (permalink)  
Старый 10.04.2013, 08:48
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от megaupload Посмотреть сообщение
шутканул нет)? бем же вроде требует тоже компилятора, не?
С тремином БЭМ связана тонна не понимания и даже в самом Яндексе многие путаются

А если кратко: БЭМ - паттерн "Блок Элемент Модификатор", главным принципом которого является, что любой UI компонент это блок, его составляющие кишки это его элементы, а его состояния - это его модификаторы. UI блок полностью инкапсулирован, т.е. он имеет свой независимый CSS (паттерн АНБ - "Абсолютно Независимые Блоки"), свою JS реализацию и свой шаблон и и лежит в отдельной папочке. Там ещё есть соглашения об именования и т.д. Паттерн хорош тем, что он эксплуатирует ООП в построении UI блоков (как раз, ты Максимус всё спрашивал, как используют наследования в UI) и ввиду чего такую структуру очень легко поддерживать и модифицировать.

Помимо прочего, Яндекс имеет свой фреймворк для реализации паттерна:
1) i-bem - JS фреймворк для реализации паттерна;
2) bem.html - клиентский шаблонизатор;
3) bemhtml - серверный шаблонизатор;
4) bem-tools - набор утилит для работы.

Использование этих фреймворков не обязательно, и я например использую свою реализацию, т.к. мне не нравится эта.

Сообщение от megaupload Посмотреть сообщение
шутканул нет)? бем же вроде требует тоже компилятора, не?
После всего выше сказанного, итог: никаких компиляторов нет, это просто паттерн и да - это очень удобно) ну а Stylus - это просто царь препроцессоров CSS.

ЗЫ: http://ru.bem.info/method/definitions/
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 10.04.2013 в 09:31.
Ответить с цитированием
  #6 (permalink)  
Старый 10.04.2013, 10:43
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Смотрел ли ты лекцию MSCC против БЭМ?
Ответить с цитированием
  #7 (permalink)  
Старый 10.04.2013, 10:54
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от megaupload Посмотреть сообщение
Смотрел ли ты лекцию MSCC против БЭМ?
Да. И более того, эти практики можно совмещать.
__________________
kobezzza
code monkey
Ответить с цитированием
  #8 (permalink)  
Старый 10.04.2013, 11:14
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

погоди, на беме же 1 слой, не?даже если создать второй слой то блоки с него не смогут влиять на блоки с первого слоя так как написано что бэм это МЕГАЧОТКАЯ инкапсуляция, а в MCSS блоки одного слоя могут влиять на блоки другого слоя
Ответить с цитированием
  #9 (permalink)  
Старый 10.04.2013, 11:25
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от megaupload Посмотреть сообщение
погоди, на беме же 1 слой, не?даже если создать второй слой то блоки с него не смогут влиять на блоки с первого слоя так как написано что бэм это МЕГАЧОТКАЯ инкапсуляция, а в MCSS блоки одного слоя могут влиять на блоки другого слоя
Ну у меня так: есть слой ресетов и слой страницы. Со слоём ресетов понятно, тупо сброс дефолтных параметров на нужные мне. А вот слой страницы как раз может влиять на блоки (с точки зрения CSS), разумеется в мерах разумного, например, на слое страницы говорится что если блок А вложен в блок Б, то добавляются отступы и т.д.

Сами блоки могут знать лишь про блоки, которые вложены в их структуру изначально (например блок b-select является дочерним к b-input, а также включать в себе блок b-drop-down), но слой страницы - это не блок, это просто общий контейнер который может вносить корректировки (но не в коем случае эти корректировки не должны работать с элементами или модификаторами блока), инкапсуляция блоков при этом сохраняется.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 10.04.2013 в 11:35.
Ответить с цитированием
  #10 (permalink)  
Старый 10.04.2013, 11:39
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

И что на что влияет не очевидно так как нет общих правил для этих связей и нет места где их можно указать и понятно только тебе и хранится у тебя в голове как я понял)?

п.с. пасоны, я кончил

Последний раз редактировалось megaupload, 10.04.2013 в 11:42.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск