Використання БЕМ-блоків при створенні сайтів

Дослідження актуальності заміни стандартної реалізації гіпертекстової розмітки Html та стилей CSS на технологію БЕМ в середовищі розробки Drupal8. Доцільність використання БЕМ-блоків в малих проектах. Читання і розуміння вашого інтерфейсного коду.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 26.10.2020
Размер файла 1,9 M

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

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

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

ВИКОРИСТАННЯ БЕМ-БЛОКІВ ПРИ СТВОРЕННІ САЙТІВ

Н.А. Христинець, А.А. Сахнюк, К.А. Свиридюк, О.І. Міскевич Луцький національний технічний Університет

Н.А. Христинець, А.А. Сахнюк, К.А. Свиридюк, О.І. Міскевич. Використання бем-блоків при створенні сайтів.

Розкрито суть реалізації БЕМ-блоків при створенні сайтів. Досліджено актуальність заміни стандартної реалізації гіпертекстової розмітки Html та стилей CSS на технологію БЕМ в середовищі розробки Drupal8.

Ключові слова: БЕМ-блок, CSS, HTML, Drupal 8, шаблон, фреймворк.

Н.А. Христинец, А.А. Сахнюк, Е.А. Свиридюк, O.I. Мискевич. Использование бэм-блоков при создании сайта.

Раскрыта суть реализации БЭМ-блоков при создании сайтов. Исследована актуальность замены стандартной реализации гипертекстовой разметки Html и стилей CSS на технологию БЭМ в среде разработки Drupal8.

Ключевые слова: БЭМ-блок, CSS, HTML, Drupal 8, шаблон, фреймворк.

N.A. Khrystynets, A.A. Sakhnyuk, E.A. Sviridyuk, O.I. Miskevich. Use of 6em-blocks when creating a site. The essence of the implementation of BEM-blocks when creating websites is disclosed. The relevance of replacing the standard implementation of hypertext markup Html and CSS styles with EEM technology in the Drupal8 development environment has been investigated.

Keywords: BEM-block, CSS, HTML, Drupal 8, template, framework.

Постановка проблеми. На сьогоднішній день існує проблема як спростити код і полегшити рефакторинг сайту. На сьогодні існує одна з найпоширеніших методик реалізації цієї проблеми - методологія БЕМ.

Аналіз досліджень В роботах закордонних дослідників, розробників описується популярність використання методології БЕМ.

В публікації Harry Robertsa [4] зазначено, що БЕМ-блоки роблять все набагато жорсткішим і більш зв'язним, роблячи код простішим у обслуговуванні командами або навіть самостійно через певний проміжок часу.

В публікації Johan Ronsse [7] визначено, що найкраще застосовувати БЕМ-блоки краще в великих проектах, а в невеликих проектах БЕМ використовувати не потрібно, приводиться доцільність використання БЕМ-блоків в невеликих проектах.

Виклад основного матеріалу й обґрунтування отриманих результатів.

БЕМ - значення блоку, елемента, модифікатора - це методологія фронтального іменування, придумана розробниками в Яндексі. Це розумний спосіб назвати свої класи CSS, щоб дати їм більшу прозорість і значення для інших розробників. Вони набагато суворіші та інформативніші, що робить ідею іменування EEM ідеальною для команд розробників на великих проектах, які можуть тривати деякий час.

Важливо відзначити, що у дипломному проекті використано схему найменування, засновану на EEM, але змінену Гаррі Робертсом. Методи найменування, описані в цій публікації, не є оригінальними EEM, але є вдосконаленою версією. Якими б не були фактичні позначення, всі вони базуються на тих самих принципах Б EM.

Найменування відповідає такому шаблону:

block { }

blockelement { }

block-modifier {}

block являє собою більш високий рівень абстракції або компонента.

blockelement являє собою нащадка,.block що допомагає сформувати.block в цілому.

block--modifier являє собою інший стан або версію.block.

Суть EEM полягає в тому, щоб розповісти іншим розробникам більше про те, що шматок розмітки робить. Читаючи якийсь HTML з деякими класами, можна побачити, як фрагменти пов'язані; щось може бути лише компонентом, щось може бути нащадком або елементом цього компонента, і щось може бути варіацією або модифікатором цього компонента. Наприклад:

person {}

personhand {}

person--female {}

person--femalehand {}

personhand--left {}

Доцільність використання БЕМ-блоків

Програмісти радять використовувати БЕМ, оскільки його корисність зарекомендувала себе з хорошої сторони, а також рекомендуть іншим розглянути можливість його прийняття, оскільки блоки роблять все набагато жорсткішим і більш зв'язним, роблячи код простішим у обслуговуванні командами або навіть самостійно через певний проміжок часу.

Наприклад візьмемо логотип.site-logo. Уявіть, що ми хочемо мати святкову версію логотипу для нашого дизайну сайту Різдвяного. Ми могли б:

site-logo {}

site-logo--xmas {}

З цього робимо висновки, що ми можемо швидко побудувати варіації речей, використовуючи позначення модифікатора.

Доцільність використання БЕМ-блоків в малих проектах

Методологія БЕМ надає правила організації веб-проектів, незалежно від їх розміру або кількості розробників в команді. Навіть якщо у вашій команді двоє людей і ви верстаєте односторінкові сайти, БЕМ дозволяє:

• Повторно використовувати верстку

• Невеликі однотипні проекти можуть мати схожу структуру. Наприклад, посадочні сторінки (landing) - різні зовні, однакові всередині. Для їх створення можна використовувати готові шаблони.

• У межах однієї сторінки використовуються однакові блоки: кілька кнопок, випадаючих списків або меню. їх можна взяти з готової бібліотеки або реалізувати свою бібліотеку і використовувати у всіх проектах.

• Швидко прототіпіровать верстку

• Прототип сайту створюється з блоків. Замість верстки в БЕМ-проект ви відразу проектуєте інтерфейс з готових блоків.

• прискорити розробку

• Рівні перевизначення дозволяють підключати бібліотеки і доопределять блоки, не залежати від оновлень бібліотеки.

• БЕМ-проект можна швидко почати з шаблонного проекту project-stub або EEM-express.

• Чи не залежати від конкретного розробника

• Однакова структура всіх проектів, одні правила організації коду, ізольовані блоки полегшують передачу коду між розробниками.

• прискорити рефакторинг

• БЕМ-проект влаштований таким чином, що зміни в одному блоці можна застосувати до всіх блоків в проекті. При цьому немає необхідності знати всі можливі випадки використання цього блоку.

• Система іменування БЕМ-сутностей дозволяє вкласти сенс в імена і зробити їх максимально інформативними для розробника, тобто писати самодокументіруемий код.

• Прискорити і спростити зміну дизайну за рахунок рівнів перевизначення.

* Модифікувати CSS / JS навіть в односторінковому проекті.

Принципи роботи з елементами Вкладеність

• Блоки можна вкладати один в одного.

• Допустима будь-яка вкладеність блоків.

Належність

Елемент - завжди частина блоку і не повинен використовуватися окремо від нього.

Необов 'язковість

Елемент - необов'язковий компонент блоку. Не у всіх блоків повинні бути елементи.

Приклад сторінки Medoc сайту Profinteco з використанням БЕМ-блоків:

{% set EEM_block = 'app' %}

<div class="{{ EEM_block }}">

{% include '@blogger/include/header.html.twig' with {'show_dlog_hero': false} %}

{% include '@blogger/include/pages/medoc.html.twig' %}

<main{{ main_layout_attributes.addClass(BEM_block ~ 'content') }}>

<div class="main-layoutinner">

{{ page.content }}

{{ page.sidebar_first }}

</div>

</main>

{% include '@blogger/include/footer.html.twig' %}

</div>

Рис. 1. Результат файлу header.html.twig

На прикладі сторінки можна побачити, що всі принципи роботи з елементами виконані. Також можливе використання інших файлів які використовуються в розробці і потрібні для розробки сторінки. Наприклад файли header.html.twig і footer.html.twig являються стандартними для всіх сторінок сайту, тому вони перевикористовуються в кожній сторінці сайту. Файл medoc.html.twig(кoд доданий нижче) є власним блоком сторінки. Тому при створенні нової сторінки просто змінюються чи додаються власні блоки.

Рис. 2. Результат файлу footer.html.twig

Код файлу medoc.html.twig:

{% set EEM_block = 'medoc' %}

<main class-' {{ EEM_block }}">

<div class="{{ EEM_block }}welcome">

<div class="{{ EEM_block }}welcome-video-wrapper">

<video poster="{{ medoc_image_uri|image_style('thumbnail') }}" autoplay loop muted

class="{{ EEM_block }}welcome-video">

<source src="{{ file_url(medoc_video_uri) }}" type="video/mp4">

{{ 'Your browser does not support the video tag'|t }}

</video>

</div>

<div class="{{ EEM_block }}container">

<div class="{{ EEM_block }}welcome-inner">

<h1 class="{{ EEM_block }}welcome-title">M.E.Doc</h1>

<div class="{{ EEM_block }}welcome-description">

<p>CucTeMa електронного AOKyMeHTOo6iry.</p>

</div>

</div>

</div>

</div>

</main>

Рис. 3 - Результат файлу medoc.html.twig

Недоліки використання БЕМ-блоків

Одним з основних недоліків БЕМ е тому, що код має дещо дивний вигляд. Якщо програміст зациклений виключно на зовнішньому вигляді коду, або якщо код стає невиправдано важким для

розуміння, або важким для читання, то, можливо, програмісту доведеться двічі подумати, перш ніж використовувати його, але якщо він "просто виглядає дивно", тоді технологія БЕМ-блоків повинена бути розглянута прирозробці проекту. Технологія БЕМ виглядає дивно, але потужність, яку вона надає, значно переважає будь-які недоліки, пов'язані з його зовнішнім виглядом на порядок.

Другим недоліком є те що верстка можлива тільки блоками. У кожному великому проекті є дрібні елементи, як кнопки, дропдауни, тайтли, субтайтли, секції і т.д. Але в БЕМі їх немає, так як будь - який елемент без блоку використовувати теж заборонено.

Висновки та перспективи подальшого дослідження.

Отже, це БЕМ ццц надзвичайно корисна, потужна і проста угода про найменування, яка полегшує читання і розуміння вашого інтерфейсного коду, легше працювати, легше масштабувати, більш надійне і явне і набагато суворіше.

Для всіх БЕМ виглядає трохи дивним, це є надзвичайно цінним доповненням до панелі інструментів розробника, незалежно від проекту.

технологія блок інтерфейсний код

Література

1. Addison Berry, Angela Byron, Bruno De Bondt. Using Drupal (2nd Edition). - O'Reilly. 2012. - 500p.

2. Al-Darwish, N.: PageGen: An Effective Schemefor Ddynamic Generationof Web Pages. Informationand Software Technology

45(10), 15 July 2003, Pages 651-662

3. Cynthia McCourt. Drupal: The Guide to Plainning and Building Websites. - Wrox. 2011. - 504 p.

4. https://ru.EEM.info/methodology/naming-convention/

5. https//csswizardry.com/2013/01/mindEEMding-getting-your-head-round-EEM-syntax/

6. https//ru.EEM.info/methodology/quick-start/

7. https//web-creator.ru/articles/EEM

8. https//frontender.info/learning-to-love-EEM/

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

...

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

  • Поняття мови РНР - скриптової мови програмування, яка була створена для генерації HTML-сторінок на стороні веб-серверу. Можливості і використання PHP, її переваги і недоліки. Розроблення сайту для турагенства за допомогою гіпертекстової розмітки HTML.

    контрольная работа [11,2 M], добавлен 21.04.2015

  • Сутність і елементи електронної бібліотеки, її послуги та особливості. Традиційна каскадна модель життєвого циклу програми. Написання електронної бібліотеки за допомогою мови гіпертекстової розмітки HTML, рекомендації щодо її впровадження та використання.

    курсовая работа [3,0 M], добавлен 29.03.2013

  • Основи Web-програмування. Використання мови HTML. Базові елементи HTML. Форматування тексту. Вирівнювання тексту та горизонтальна лінія. Значення RGB- коду. Таблиці та списки, посилання та робота з ними. Створення посилань на документи і файли.

    курсовая работа [40,9 K], добавлен 12.02.2009

  • Принципи створення WEB-сторінок. Правила і програми для створення електронних публікацій. Гіперпосилання. Використання JAVA-скриптів при створенні HTML документу. Графіка у HTML-документах. Утворення та відправлення повідомлень електронної пошти.

    реферат [177,1 K], добавлен 19.10.2007

  • Неекспортовані символи ядра. Оптимальний підхід до реалізації пошуку символів у ядрі. Виконання, підміна, додавання та приховання системних викликів. Завантаження модуля ядра із програмного коду та з коду іншого модуля. Робота з UNIX-сигналами.

    курсовая работа [84,0 K], добавлен 23.05.2013

  • Опис методів і алгоритмів вирішення задачі в середовищі розробки Myeclipse. Основні функції програмного продукту, його структура. Розробка алгоритму та програми, інструкція користувачу. Результати тестування, лістинг основних блоків. Вікно головного меню.

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

  • Вибір мови програмування та середовища розробки. Основні можливості мови php та сервера MySQL. Основні переваги середовища розробки NetBeans. Macromedia Dreamweaver як один з популярних середовищ розробки сайтів. Розробка програмного коду сайту.

    контрольная работа [3,0 M], добавлен 16.02.2013

  • Створення програми для перегляду потрібної інформації, яка може бути використана будь яким користувачем ЕОМ. Користування та розуміння переглядачів текстових файлів. Використання читання тексту порціями для реалізації прокрутки екрану вверх та вниз.

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

  • Создание сайта при помощи HTML и CSS. Язык гипертекстовой разметки HTML и таблица стилей CSS. Основные понятия об этих языках, этапы и алгоритмы программного обеспечения. Добавление стилей в документ. Свойства элементов, принцип построения Web-страницы.

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

  • Понятие об html. Структура файла в формате html. Отличительный признак html-документа. Гипертекстовые ссылки. Создание документов в стандарте html. Заголовки. Форматирование текста и изменение стилей. Фреймы.

    реферат [23,7 K], добавлен 17.08.2007

  • Створення дистанційного навчального курсу за темою "Граматика англійської мови". Особливості використання каскадних таблиць стилю CSS. Функціональні можливості мови розмітки даних HTML. Інструкція для користувача, вимоги до програмного забезпечення.

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

  • Розробка програми у середовищі візуального програмування Borland Delphi, що демонструє роботу із двовимірним масивом різних символів. Побудова інформаційно-математичної моделі та опрацювання кожного з функціональних блоків на етапі алгоритмізації.

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

  • Дослідження особливостей роботи графічної бібліотеки OpenGL з метою використання її в комп'ютерному моделюванні. Розгляд синтаксису команд та програмного коду команд. Методи максимально реалістичного моделювання горіння вогню. Лістинг програми на мові С.

    курсовая работа [182,0 K], добавлен 22.12.2010

  • Дослідження середовища проектування та інструментів LabView: створення, редагування і відладка віртуальних інструментів, панелей, надписів. Логіко-функціональна схема роботи користувача, опис інтерфейсу програми. Економічна доцільність розробки продукту.

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

  • Загальний вигляд синтаксису для створення тригерів. Використання тригерів вставки, оновлення, видалення. Відображення інформації про тригери, їх зміна, призупинення та відновлення роботи. Умовні предикати, обмеження при створенні табличних тригерів.

    презентация [221,1 K], добавлен 30.10.2015

  • Основні переваги програмування на мові Delphi. Використання стандартних операторів при створенні інтерфейсу користувача. Вибір складу технічних і програмних засобів, організація вхідних і вихідних даних. Розробка програми, блок-схеми та тексту програми.

    реферат [316,1 K], добавлен 22.01.2013

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

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

  • Особливості форматів мультимедіа, історія їх створення. Одношарові та однобічні диски. Застосування синього лазера. Використання шейдерів при створенні спецефектів. Фрактал як результат виконання ітераційного циклу, самоподiбнiсть їх важлива властивість.

    контрольная работа [2,3 M], добавлен 19.09.2009

  • Характеристика мов програмування. Опис логічної структури. Створення головної сторінки електронного журналу за допомогою гіпертекстової розмітки, бази даних для роботи журналу. Розробка таблиць, форм та скрипту. Тестування програмного забезпечення.

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

  • Компонент як складний зразок-кліп, присвоєння значення його властивостям за допомогою графічного інтерфейсу користувача в середовищі розробки Flash. Перевага використання компонентів, їх основні групи. Прості елементи керування, що служать для виведення.

    реферат [126,5 K], добавлен 18.08.2011

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