Использование технологии БЭМ для разработки сайтов

Методология, которая предоставляет решение по созданию архитектуры проекта. Набор интерфейсных библиотек, фреймворков и вспомогательных инструментов. Технологии, описывающие блок, его элементы и модификаторы. Независимые интерфейсные компоненты.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 24.02.2019
Размер файла 14,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Использование технологии БЭМ для разработки сайтов

архитектура блок элемент модификатор

Бурых М.А., Негребецкая В.И.

ФГБОУ ВО «Курский государственный университет», колледж коммерции, технологий и сервиса

Курск, Россия

В настоящее время существует достаточное количество технологий, позволяющих верстать сайты. Для создания дизайна верстальщики привлекают CSS. Любые сколь-нибудь сложные правки в связи с изменениями дизайна или с появлением новых страниц приводят к долгому рефакторингу, в самом запущенном случае - к дублированию стилей. При этом постоянно присутствует риск что-нибудь сломать в самом неожиданном месте. И рано или поздно разработчики теряют контроль над CSS кодом [1].

В связи с этим на сегодняшний день существует множество подходов к написанию стилей. Одна из наиболее интересных методологий родилась в Yandex - БЭМ (Блок Элемент Модификатор) - методология, которая предоставляет решение по созданию архитектуры проекта, web-разработки, а также набор интерфейсных библиотек, фреймворков и вспомогательных инструментов.

БЭМ предлагает общую семантическую модель для всех технологий, использующихся во фронтэнд разработке (HTML, CSS, JavaScript, шаблоны и др.)

БЭМ включает в себя [2]:

методологические рекомендации по разработке сайтов -- простые советы по организации проекта, который нужно сделать быстро, а поддерживать долгие годы;

? технологии и библиотеки с открытым исходным кодом -- готовая реализация рекомендаций БЭМ;

? инструменты для автоматизации работы с методологией БЭМ.

Можно отметить следующие возможности БЭМ:

? простая поддержка структуры кода при росте проекта;

? повторное использование кода;

? точечные изменения с минимальными затратами: обновление дизайна, добавление функциональных элементов и т. д.

Используя понятия «блок», «элемент» и «модификатор» можно описать древовидную структуру документа. Такое описание называется BEM tree и является семантическим представлением интерфейса, абстракцией над DOM tree.

Блок - это независимый интерфейсный компонент. Блок может быть простым или составным (содержать другие блоки). При создании блока нужно обеспечивать возможность его использования в любом месте webстраницы, а также повторения на той же самой странице. Блок должен включать в себя всю реализацию, необходимую для представления части интерфейса, которую он выражает [3].

Элемент - это составная часть блока. Элементы контекстно-зависимы:

они имеют смысл только в рамках своего блока. Элемент -- не обязательная составляющая блока, небольшие блоки обходятся без элементов.

Модификатор - это свойство блока или элемента, задающее изменения в их внешнем виде или поведении. Модификатор может быть булевым или парой ключ - значение. У блока или элемента может быть несколько модификаторов одновременно.

Правила формирования имени БЭМ-сущности

? каждая БЭМ-сущность должна иметь свой класс;

CSS-свойства для блоков, элементов и модификаторов описыва-

ются только через классы;

? для разделения слов в именах используется дефис (-);

? элемент отделяется от блока двумя подчеркиваниями (__). Модификатор -- одним (_);

? имена БЭМ-сущностей записываются с помощью цифр и латинских букв в нижнем регистре.

С целью использования разных БЭМ-сущностей на одном DOM-узле применяют миксы, которые позволяют:

? совмещать поведение и стили нескольких БЭМ-сущностей без дублирования кода;

? создавать семантически новые компоненты интерфейса на основе имеющихся БЭМ-сущностей [4].

БЭМ предоставляет абстракцию над DOM-деревом. Блоки независимы друг от друга и инкапсулируют в себе всю функциональность и элементы. Не важно, какими HTML-тегами будет реализован блок -- div или form, разработчик всегда может изменить это или добавить дополнительные обёртки. Любые изменения не должны оказывать влияние на остальные блоки. При использовании данной технологии описывается приложение компонентами интерфейса, а не HTML-тегами.

Каждый блок лежит в своей папке в файловой системе, в которой сложены все технологии, описывающие блок, его элементы и модификаторы.

Блоки могут быть реализованы в одной или нескольких технологиях, например [2]:

? поведение -- JavaScript, CoffeeScript;

? внешний вид -- CSS, Stylus, Sass;

? шаблоны -- Pug, Handlebars, XSL, BEMHTML, BH; ? документация -- Markdown, Wiki, XML.

Несмотря на имеющиеся преимущества, можно выделить следующие недостатки БЭМ:

неполнота предметной области - имеющейся системы понятий недостаточно, чтобы описать всё множество структур и связей, которые могут возникнуть между элементами интерфейса:

? невозможность сложноструктурированных блоков;

? нет способа управлять связями между блоками;

? нет механизма расширения/дополнения языка.

? отсутствие механизма встраивания не БЭМ-объектов.

Хотя в настоящее время из всех подходов к разработке интерфейсов БЭМ-подход является наиболее эффективным, и он не лишён недостатков. Требуется усовершенствовать его методологическую базу, для этого, в частности, следует задействовать теорию проектирования пользовательских интерфейсов.

Таким образом, следование принципам БЭМ позволяет получить тот самый поддерживаемый и масштабируемый CSS, что увеличит скорость разработки и упростит понимание кода новыми разработчиками. При этом используется только соглашение об именовании элементов без какого-либо дополнительного инструментария. Для того чтобы применить идеи БЭМ в своем проекте нам достаточно того стека технологий который там уже наверняка есть.

Размещено на Allbest.ru

...

Подобные документы

  • Случаи использования PHP фреймворка. Обзор современных фреймворков. Выбор фреймворка для разработки сайта. Поддержка баз данных и сообщества. Model View Controller архитектура. Скорость развития фреймворка. Наличие встроенных javascript-библиотек.

    курсовая работа [1,8 M], добавлен 31.05.2012

  • Основные технологии разработки ресурсов Интернет. Процесс разработки веб-сайта. Понятие Web-сайта и классификация Web-сайтов. Основные этапы разработки Web-сайта. Использование HTML, CSS, JavaScript, FLASH, PHP и реляционной базы данных MySQL.

    презентация [1,3 M], добавлен 28.11.2015

  • Общее определение и история создания JavaScript библиотек, их назначение и использование. Виды и особенности JS фреймворков. Создание клиентского приложения (каталога комплектующих компьютера), написание кода страницы с использованием фреймворка Jquery.

    курсовая работа [544,5 K], добавлен 17.12.2013

  • OpenCV – библиотека компьютерного зрения с открытым исходным кодом, предоставляющая набор типов данных, функций и численных алгоритмов для обработки изображений. Ее реализация на C/C++. Цели использования технологии. Основные модули библиотек 1-3.

    презентация [121,8 K], добавлен 14.12.2013

  • Средства и технологии разработки приложений баз данных. Компоненты управления доступом к БД. Описание программного окружения доступа к данным. Механизм получения и отправки данных. Специфика связи внутреннего представления с интерфейсом приложения.

    презентация [29,4 K], добавлен 19.08.2013

  • Современные тенденции разработки и принципы классификации web-сайтов. Сайт как средство развития бизнеса. Технологии, применяемые при разработке web-сайтов, системы управления контентом. Разработка web-сайта для ЗАО "Кондитерская фабрика "Саратовская".

    дипломная работа [4,1 M], добавлен 01.10.2012

  • Анализ аппаратных и программных средств предприятия ТОО "Alicesystems", занимающегося разработкой web-сайтов. Выбор структур, топологий и технологий разработки системы. Технологии создания сайтов и выбор площадки. Описание программно-аппаратных средств.

    отчет по практике [690,9 K], добавлен 29.05.2015

  • Модель процесса обработки информации на персональном компьютере и функции объектов, участвующих в этом процессе – операционной системы, прикладных программ, пользователя. Интерфейсные элементы и практические навыки работы с мышью, окнами, программами.

    контрольная работа [557,9 K], добавлен 09.03.2011

  • Общее определение JavaScript-библиотеки, виды библиотек. Создание клиентского приложения с использованием одного из существующий JS-фреймворков. Значение, виды и выбор фреймворка. Выбор приложения и его тематики. Написание программного кода, итоги работы.

    курсовая работа [545,8 K], добавлен 21.12.2013

  • Использование различных маркетинговых инструментов для продвижения веб-сайтов г. Архангельска. Проблема неразвитости рынка и отсутствия налаженной системы работы через Интернет в регионе. Поддержка сайтов предприятий для привлечения новых клиентов.

    контрольная работа [16,6 K], добавлен 28.02.2012

  • Обзор сайтов manutd8.com, manchester-united.ru. Разработка оболочки. Оформление head-меню. Разработка базы данных, блок-схем алгоритмов. Описание связей сущностей. Использование технологии ASP.NET MVC 5. Алгоритм регистрации и входа пользователя на сайт.

    курсовая работа [2,2 M], добавлен 15.12.2014

  • Rational Unified Process - конфигурируемый процесс разработки программного обеспечения, его назначение и использование. Методология, процесс, этапы и компоненты RUP. Структура жизненного цикла проекта. Примеры построения диаграмм и иерархии классов.

    презентация [175,7 K], добавлен 07.12.2013

  • Основная идея методологии и принципы RAD-разработки информационных систем, ее главные преимущества. Причины популярности, особенности применения технологии. Формулировка основных принципов разработки. Среды разработки, использующие принципы RAD.

    презентация [866,8 K], добавлен 02.04.2013

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

    контрольная работа [1,4 M], добавлен 24.12.2016

  • Разработка программы для управления многоканальным измерительным преобразователем с использованием MDI-технологии и состоящей из нескольких интерфейсов. Анализ инструментов для разработки. Расчет экономической стоимости и целесообразности проекта.

    дипломная работа [970,7 K], добавлен 23.08.2011

  • Разработка AppleTalk как системы распределенной сети клиент-сервер, сетевой архитектуры Apple, которая входит в операционную систему Macintosh; основы технологии. Среда ArcNet, сетевая архитектура для сетей масштаба рабочей группы, ее функционирование.

    реферат [20,2 K], добавлен 25.11.2009

  • Классификация современных web-технологий. Сравнительный анализ систем управления сайтами. Исследование методов разработки, оптимизации и продвижения Web-сайта. Изучение фреймворков, используемых при разработке сайтов. Обзор создания графического дизайна.

    дипломная работа [3,8 M], добавлен 07.11.2013

  • Data Mining как процесс поддержки принятия решений, основанный на поиске в данных скрытых закономерностей (шаблонов информации). Его закономерности и этапы реализации, история разработки данной технологии, оценка преимуществ и недостатков, возможности.

    эссе [36,8 K], добавлен 17.12.2014

  • Основные этапы при создании экспертных систем: идентификация, концептуализация, формализация, выполнение, отладка и тестирование, опытная эксплуатация и внедрение. Соответствия между этапами проекта RAD и стадиями технологии быстрого прототипирования.

    лекция [38,8 K], добавлен 07.11.2013

  • Рассмотрение основ разработки программ с четкой структуризацией с применением технологии нисходящего программирования. Постановка задачи, применение процедуры и функции из стандартных модулей при создании проекта. Создание пользовательского интерфейса.

    курсовая работа [936,7 K], добавлен 22.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.