Войти с помощью github
Форум /

Всем привет!

Кратко об основных изменениях и новостях в мире БЭМ за прошедшие 3 месяца с предыдущего дайджеста.

Новости документации

У нас появились два новых и крутых документа по БЭМ:

Кроме этого, многие другие документы исправлены и дописаны.

Новости библиотек

  • Закончили работу над стабильной версией bem-core 4.0.0. Основные изменения:

    • Изменился API блока i-bem
    • Изменился API блока querystring.
    • Из модуля identify удален опциональный параметр onlyGet.
    • Из модуля events удалены все статические методы.
    • В классе Event модуля events удалено поле result.
    • Элемент css блока page больше не поддерживает автоматическое добавление условных комментариев для IE.

    Все подробности можно прочитать в миграционном гайде. А еще лучше — посмотреть выступление @veged: https://events.yandex.ru/lib/talks/3685/ где он подробно рассказывает обо всех изменениях.

  • Заканчиваем работу над новой весрией bem-components — уже на этой неделе планируется релиз v4 с новым дизайном, обязательно расскажем об этом релизе отдельно.
  • Начали работу над bem-react-core. Это новая библиотека, которая позволит писать react-совместимые блоки в bem-терминах.
  • Параллельно с этим работаем над bem-react-components, библиотека будет содержать react-реализацию блоков из bem-components. На данный момент готовы блоки Button, Icon, Link, TextInput, TextArea, Checkbox.

    Новости технологий

  • Выпустили два мажорных, десятки минорных и патчевых релизов bem-xjst. Самая свежая весия — 8.3.0. Основные изменения:

    • Теперь режимы mix(), js(), attrs() заменяют значения BEMJSON.
    • Если выхотите расширить значение BEMJSON используйте applyNext().
    • Вызовы applyNext() во всех режимах по умолчанию возвращают BEMJSON.
    • Если вы захотите добавить mix, js или attrs теперь можно использовать addMix(), addJs() или addAttrs().

    Важно! bem-xjst 8.x пока несовместима с bem-components. Прямо сейчас мы работаем над этим.

  • Кроме bem-xjst 8.0.0 у нас появилась куча новых фич:

    • runtime lint
    • mod()/elemMod() теперь можно использовать без второго аргумента, чтобы сделать подпредикат модификатора с любым значением
    • новые appendContent() и prependContent()
    • функции эскейпинга оптимизированны и работают быстрее, а главное не тормозят если работают в холостую
    • новая опция production с помощью которой страница будет рендерится даже если случились ошибки в отдельных блоках

    Подробнее обо всех изменениях читайте в release-notes.

  • Мы взяли в официальную поддержку заготовку проекта на БЭМ-платформе с серверной частью на express: https://github.com/bem/bem-express.

    Новости инструментов

  • Выпустили ENB 1.4.0, release-notes.
  • Работали над плагинами для enb:
    • enb-bemxjst 8.0.0
    • enb-bem-specs 0.10.0
    • enb-stylus 2.4.0
    • enb-css 1.2.2
  • Мы продолжаем строить инструмент bem-lib-site для автоматической сборки документации для библиотеки блоков/проекта на БЭМ.
  • Кроме этого, идет большая работа в BEM-SDK.

    Новости мероприятий

  • Провели очередной хакатон по БЭМ, продвинулись по:
    • bem-config: доведен до готовности и ума модуль для работы с конфигурациями БЭМ-проектов.
    • bem-tools: создан готовый к использованию плагин bem-tools-create, чтобы его использовать нужно так же установить bem-tools-core.
    • плагины для bem-tools-create к различным IDE: для Atom, IDEA, и Sublime были собраны рабочие прототипы плагинов для запуска команды bem-tools-create.
    • модульной сборке c gulp: взяли gulp-bem-bundle-builder и попытались внедрить в реальные проекты, запустилось, поняли чего не хватает, работаем дальше.
    • по модулям BEM-SDK: доведены до рабочего состояния модули bem-deps, bem-graph для чтения и работы с зависимостями между БЭМ-сущностями, bem-decl для работы с файлами деклараций БЭМ-сущностей, bem-bundle, и другие.
  • Возобновили традицию BEMup'ов — 30 сентября очередной БЭМап для всех желающих прошел в Московском офисе Яндекса
  • Вместе с @zxqfox провели два вебинара про сборку проектов на gulp, если кто-то пропустил — смотрите в записи: сборка проекта с помощью BEM-SDK сборка проекта с помощью gulp.