SlideShare a Scribd company logo
1 of 28
Download to read offline
МЕТОДОЛОГІЇ
front-end
BEM, SMACSS, OOCSS, MCSS, ATOMIC CSS
websystems
21.01.2016 - Віталька
ПЕРЕДІСТОРІЯ
Коли ще світ тримався на трох слонах,
які стояли на велекій черепасі...
І навіть коли Віталька був ще маленьким
І плакав не від агропошуку і гульпу, а від
того що пропустив мультики=(
fron-end розробники мирно собі верстали кожен як міг і навіть не
підозрювали що колись їм доведеться думати про якусь там
“МЕТОДОЛОГІЮ” і “АРХІТЕКТУРУ CSS”
Методологія
- це підхід у розробці, що дозволяє швидко створювати
сайти з гнучкою та маштабованою архітектурою.
Навіщо?
“Писати css код легко. Маштабувати та підтримувати його- ні!”
Бен Фрейн
● Розробляти типові сайти швидко;
● Проект повинен жити довго та легко маштабуватись;
● Потрібно вміти легко маштабувати команду(на проекті може
працювати як 1 людина так і 10);
● Всередині команди повинні бути чіткі зони відповідальності;
● Код повинен використовуватись повторно.
Методології
● BEM
● MCSS
● SMACSS
● Atomic CSS
● AMCSS
● ...
● ...
●
BEM
БЛОК МОДИФІКАТОРЕЛЕМЕНТ
може використовуватись
у декількох місцях на
сторінці
є частиною блоку і не
може існувати, поза
контекстом блоку
являє собою властивість
блоку або елементу, що
змінює його поведінку
Основні поняття
● БЕМ сутність
● Мікс
● БЕМ дерево
● Реалізація блоку
● Технологія реалізації блоку
● Перевизначення блоку
● Рівень перевизначення блоку
Угода по іменуванню
CSS селекторів
Блок
назва блока задається по схемі block-name і створює простір імен для
створення елментів
{блок}
елемент
елемент
елемент елемент
елемент
Елемент
- це частина блоку яка самостійно існувати не може, проте може вміщати в
собі інші блоки
- задається по схемі block-name__element-name
Модифікатор
- простір імен заданий блоком визначає відповідність модифікатора до
певного блоку, або елементу
- модифікатор не може існувати самостійно
- задається по схемі
block-name_modific-name
block-name_modific-key_modific-value
block-name__elem-name_modific-name
block-name__elem-name_modific-key_modific-value
Приклад
SMACSS
Base
- базові стилі що застосовуються на сторінці, переважно стосується HTML
тегів, базовими стилями являються стилі які не змінюються в залежності від
розташування елемента на сторінці на від їхнього стану, до базових стилів
можна віднести вендорні стилі.
Layout
- стилі які описують структуру HTML сторінки та розміщення блоків на
сторінці, автор рекомендує для Layout стилів використовувати префікс l-,
layout- для кращого орієнтування в коді
Module
- блоки що можуть багаторазово використовуватись на сторінці, можуть
містити елементи та підкласи(модифікатори) для задання особливих
стилів в залежності від розташування модуля.
- для назви підкласу та елементу модуля прийнято використовувати в
якості префікса клас модуля.
State
- стилі стану, в цьому розділі описуються стилі стану окремих модулів та
скилету сайту(layout)
- для створення класу стану прийнято використовувати префікс is- для
виділення його серед інших стилів
- для стану який може бути задіяний лише до окремого модуля клас із цим
станом прийнято починати з префіксом moduleName-, та поміщати його у
файл модуля а не файл із загальними станами.
Приклад
OOCSS
методологія для простого написання швидкого,
маштабованого та структурованого коду по
стандартам ООП
Ідея
розподіл структури та
оформлення
Обєкт
Обєкт - повторюваний візуальний
паттерн, який абстрагується у якості
незалажнего HTML, CSS і по
можливості JS коду .
OOCSS обєкти
Посилання
Почитати- BEM, OOCSS, OOCSS framework, SMACSS ru, SMACSS, MCSS,
AMCSS, Atomic CSS
Подивитись - OOCSS(Nicole Sullivan), BEM практика, Пишимо BEM
правильно, BEM & React, SMACSS & BEM, CSS Architecture with SMACSS ,
“Не важливо яку методологію Ви
використовуєте, головне щоб вона у вас була”
Юрій Артюх
Дякую за увагу
skype: vitalka181094
email: kriskov.vitaliy@gmail.com

More Related Content

Viewers also liked

5 клас об'єкти файлової системи 8-)
5 клас об'єкти файлової системи 8-)5 клас об'єкти файлової системи 8-)
5 клас об'єкти файлової системи 8-)kissoli
 
LIGA VENEZOLANA DE BÉISBOL PROFESIONAL
LIGA VENEZOLANA DE BÉISBOL PROFESIONALLIGA VENEZOLANA DE BÉISBOL PROFESIONAL
LIGA VENEZOLANA DE BÉISBOL PROFESIONALAIDA O
 
Mehtap kayacan portfolia
Mehtap kayacan portfoliaMehtap kayacan portfolia
Mehtap kayacan portfoliamehtapkayacan
 
Personal Persona Project: Daniel Clapper
Personal Persona Project: Daniel ClapperPersonal Persona Project: Daniel Clapper
Personal Persona Project: Daniel ClapperDan9349
 
Plan de acción del concejo municipal de hispania 2016
Plan de acción del concejo municipal de hispania   2016Plan de acción del concejo municipal de hispania   2016
Plan de acción del concejo municipal de hispania 2016Juntos Por Hispania
 

Viewers also liked (10)

5 клас об'єкти файлової системи 8-)
5 клас об'єкти файлової системи 8-)5 клас об'єкти файлової системи 8-)
5 клас об'єкти файлової системи 8-)
 
LIGA VENEZOLANA DE BÉISBOL PROFESIONAL
LIGA VENEZOLANA DE BÉISBOL PROFESIONALLIGA VENEZOLANA DE BÉISBOL PROFESIONAL
LIGA VENEZOLANA DE BÉISBOL PROFESIONAL
 
Final ppt
Final pptFinal ppt
Final ppt
 
Nivel seccion 2 actividad 8
Nivel seccion 2 actividad 8Nivel seccion 2 actividad 8
Nivel seccion 2 actividad 8
 
Mehtap kayacan portfolia
Mehtap kayacan portfoliaMehtap kayacan portfolia
Mehtap kayacan portfolia
 
Personal Persona Project: Daniel Clapper
Personal Persona Project: Daniel ClapperPersonal Persona Project: Daniel Clapper
Personal Persona Project: Daniel Clapper
 
E+I Company Presentation
E+I Company PresentationE+I Company Presentation
E+I Company Presentation
 
Textanim: 2.0 ¿Cómo utilizarlo?
Textanim: 2.0 ¿Cómo utilizarlo?Textanim: 2.0 ¿Cómo utilizarlo?
Textanim: 2.0 ¿Cómo utilizarlo?
 
Parte Uno: Artes Gráficas
Parte Uno:  Artes GráficasParte Uno:  Artes Gráficas
Parte Uno: Artes Gráficas
 
Plan de acción del concejo municipal de hispania 2016
Plan de acción del concejo municipal de hispania   2016Plan de acción del concejo municipal de hispania   2016
Plan de acción del concejo municipal de hispania 2016
 

Similar to Методології Front end

веб сторінки
веб сторінкивеб сторінки
веб сторінкиXX1827
 
веб сторінки
веб сторінкивеб сторінки
веб сторінкиJoseph Willson
 
Veb-mama ama kriminal
Veb-mama ama kriminalVeb-mama ama kriminal
Veb-mama ama kriminalartemlinok
 
веб сторінки
веб сторінкивеб сторінки
веб сторінкиRemka_oxxxy
 
веб сторінки
веб сторінкивеб сторінки
веб сторінкиgaliasova
 
веб сторінки
веб сторінкивеб сторінки
веб сторінкиann2704
 
Guide for Dota 2
Guide for Dota 2 Guide for Dota 2
Guide for Dota 2 kvak333
 
веб сторінки
веб сторінкивеб сторінки
веб сторінкиAnyaNastya
 
Advanced styles
Advanced stylesAdvanced styles
Advanced styleseleksdev
 
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML. Форматуванн...
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML.  Форматуванн...Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML.  Форматуванн...
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML. Форматуванн...lisovvolod
 
конспект
конспект конспект
конспект TANYA1512
 
Відкритий «Урок-кінозал»
Відкритий «Урок-кінозал»Відкритий «Урок-кінозал»
Відкритий «Урок-кінозал»vitaliy_galata
 

Similar to Методології Front end (18)

веб сторінки
веб сторінкивеб сторінки
веб сторінки
 
веб сторінки
веб сторінкивеб сторінки
веб сторінки
 
Veb-mama ama kriminal
Veb-mama ama kriminalVeb-mama ama kriminal
Veb-mama ama kriminal
 
веб сторінки
веб сторінкивеб сторінки
веб сторінки
 
веб сторінки
веб сторінкивеб сторінки
веб сторінки
 
веб сторінки
веб сторінкивеб сторінки
веб сторінки
 
Guide for Dota 2
Guide for Dota 2 Guide for Dota 2
Guide for Dota 2
 
веб сторінки
веб сторінкивеб сторінки
веб сторінки
 
CSS по БЕМ
 CSS по БЕМ CSS по БЕМ
CSS по БЕМ
 
1346299
13462991346299
1346299
 
лекция 5
лекция 5лекция 5
лекция 5
 
Advanced styles
Advanced stylesAdvanced styles
Advanced styles
 
л пр№4
л пр№4л пр№4
л пр№4
 
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML. Форматуванн...
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML.  Форматуванн...Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML.  Форматуванн...
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML. Форматуванн...
 
конспект
конспект конспект
конспект
 
Css
CssCss
Css
 
Відкритий «Урок-кінозал»
Відкритий «Урок-кінозал»Відкритий «Урок-кінозал»
Відкритий «Урок-кінозал»
 
9 клас урок 8
9 клас урок 89 клас урок 8
9 клас урок 8
 

Методології Front end

  • 1. МЕТОДОЛОГІЇ front-end BEM, SMACSS, OOCSS, MCSS, ATOMIC CSS websystems 21.01.2016 - Віталька
  • 2. ПЕРЕДІСТОРІЯ Коли ще світ тримався на трох слонах, які стояли на велекій черепасі...
  • 3. І навіть коли Віталька був ще маленьким І плакав не від агропошуку і гульпу, а від того що пропустив мультики=(
  • 4. fron-end розробники мирно собі верстали кожен як міг і навіть не підозрювали що колись їм доведеться думати про якусь там “МЕТОДОЛОГІЮ” і “АРХІТЕКТУРУ CSS”
  • 5. Методологія - це підхід у розробці, що дозволяє швидко створювати сайти з гнучкою та маштабованою архітектурою.
  • 6. Навіщо? “Писати css код легко. Маштабувати та підтримувати його- ні!” Бен Фрейн
  • 7. ● Розробляти типові сайти швидко; ● Проект повинен жити довго та легко маштабуватись; ● Потрібно вміти легко маштабувати команду(на проекті може працювати як 1 людина так і 10); ● Всередині команди повинні бути чіткі зони відповідальності; ● Код повинен використовуватись повторно.
  • 8. Методології ● BEM ● MCSS ● SMACSS ● Atomic CSS ● AMCSS ● ... ● ... ●
  • 9. BEM БЛОК МОДИФІКАТОРЕЛЕМЕНТ може використовуватись у декількох місцях на сторінці є частиною блоку і не може існувати, поза контекстом блоку являє собою властивість блоку або елементу, що змінює його поведінку
  • 10. Основні поняття ● БЕМ сутність ● Мікс ● БЕМ дерево ● Реалізація блоку ● Технологія реалізації блоку ● Перевизначення блоку ● Рівень перевизначення блоку
  • 12. Блок назва блока задається по схемі block-name і створює простір імен для створення елментів {блок} елемент елемент елемент елемент елемент
  • 13. Елемент - це частина блоку яка самостійно існувати не може, проте може вміщати в собі інші блоки - задається по схемі block-name__element-name
  • 14. Модифікатор - простір імен заданий блоком визначає відповідність модифікатора до певного блоку, або елементу - модифікатор не може існувати самостійно - задається по схемі block-name_modific-name block-name_modific-key_modific-value block-name__elem-name_modific-name block-name__elem-name_modific-key_modific-value
  • 17. Base - базові стилі що застосовуються на сторінці, переважно стосується HTML тегів, базовими стилями являються стилі які не змінюються в залежності від розташування елемента на сторінці на від їхнього стану, до базових стилів можна віднести вендорні стилі.
  • 18. Layout - стилі які описують структуру HTML сторінки та розміщення блоків на сторінці, автор рекомендує для Layout стилів використовувати префікс l-, layout- для кращого орієнтування в коді
  • 19. Module - блоки що можуть багаторазово використовуватись на сторінці, можуть містити елементи та підкласи(модифікатори) для задання особливих стилів в залежності від розташування модуля. - для назви підкласу та елементу модуля прийнято використовувати в якості префікса клас модуля.
  • 20. State - стилі стану, в цьому розділі описуються стилі стану окремих модулів та скилету сайту(layout) - для створення класу стану прийнято використовувати префікс is- для виділення його серед інших стилів - для стану який може бути задіяний лише до окремого модуля клас із цим станом прийнято починати з префіксом moduleName-, та поміщати його у файл модуля а не файл із загальними станами.
  • 22. OOCSS методологія для простого написання швидкого, маштабованого та структурованого коду по стандартам ООП
  • 24. Обєкт Обєкт - повторюваний візуальний паттерн, який абстрагується у якості незалажнего HTML, CSS і по можливості JS коду .
  • 26. Посилання Почитати- BEM, OOCSS, OOCSS framework, SMACSS ru, SMACSS, MCSS, AMCSS, Atomic CSS Подивитись - OOCSS(Nicole Sullivan), BEM практика, Пишимо BEM правильно, BEM & React, SMACSS & BEM, CSS Architecture with SMACSS ,
  • 27. “Не важливо яку методологію Ви використовуєте, головне щоб вона у вас була” Юрій Артюх
  • 28. Дякую за увагу skype: vitalka181094 email: kriskov.vitaliy@gmail.com