SlideShare a Scribd company logo
Компонентная верстка
с AngularJS
MoscowJS 28
Докладчик:
Яманов Андрей
http://tenphi.me
Проекты
2
TeamHunt.co TweetWorthy.co Quotable.Tips
Beta Beta
Содержание
• Angular-компоненты
• Верстка
• Стили
3
4
Поиск “идеальной”
методологии для
компонентов
Плоская структура
компонентов
5
Angular-компоненты
6
directive component
7
Особенности
module.component()
8
• Вся логика реализована через controller.
• Можно привязать только к элементу.
• Scope всегда изолирован.
https://docs.angularjs.org/guide/component
angular@1.5.0 и выше
Создание компонента
9
module.directive()
* до angular@1.5.0
Создание компонента
10
module.component()
11
block.js
12
app.js
Наследование
компонентов
13
• Object.assign()
• class “extends”
14
Верстка
BEM
как методология
верстки
15
Минусы БЭМ
16
• Строгие правила для определения стилей;
• Почти нет ограничений для верстки;
• Значения модификаторов возможно излишни.
Block As Component
17
• Компонентный подход в вёрстке;
• Контекстные селекторы;
• Значений модификаторов нет.
18
block.html
Темная сторона силы
19
Темная сторона силы
20
angular-bem
21
https://github.com/tenphi/angular-bem
angular-bem
и компоненты
22
• Генерация классов BEM на основе
атрибутов;
• Установка модификаторов по
состоянию компонента;
• Не замедляет компиляцию
шаблона.
DDO
replace: false
23
* compiled
Наследование
24
http://learnjade.com/tour/template-inheritance/
На примере Jade:
base.jade
child.jade
25
Стили
Стили для компонента
26
Используем LESS
27
Селектор с контекстом
28
Наследование
29
Используем
переменные!
30
Используем
переменные!
31
Вместо вывода
32
–Разработчик с большим и грустным опытом
“Никакая документация, методология или
устоявшаяся практика не избавляет
разработчика от необходимости думать.”
33
34
Спасибо за внимание!
Вопросы?
Инструменты:
http://bit.ly/1WItKwI
GitHub:
https://github.com/tenphi

More Related Content

What's hot

TestLink
TestLinkTestLink
TestLinkISsoft
 
«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский
DevDay
 
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2SeleniumAgile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
jazzteam
 
«Winium — это как Selenium, только под Windows» – Глеб Головин, 2ГИС
«Winium — это как Selenium, только под Windows»  – Глеб Головин, 2ГИС«Winium — это как Selenium, только под Windows»  – Глеб Головин, 2ГИС
«Winium — это как Selenium, только под Windows» – Глеб Головин, 2ГИС
2ГИС Технологии
 
knockout.js
knockout.jsknockout.js
knockout.js
Anton Patrushev
 
Web driver история одной миграции
Web driver   история одной миграцииWeb driver   история одной миграции
Web driver история одной миграции
Igor Khrol
 
А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?
SQALab
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
Ontico
 
Причины и способы имитации back-end'а
Причины и способы имитации back-end'аПричины и способы имитации back-end'а
Причины и способы имитации back-end'а
Oksana Avchinnikova
 
Сергей Татаринцев — Тестирование CSS-регрессий с Gemini
Сергей Татаринцев — Тестирование CSS-регрессий с GeminiСергей Татаринцев — Тестирование CSS-регрессий с Gemini
Сергей Татаринцев — Тестирование CSS-регрессий с Gemini
Yandex
 
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir WebdriverТестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Alex Mikitenko
 
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
SQALab
 
Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Igor Khrol
 
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindingsSelenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
COMAQA.BY
 
Dependency Injection Andrey Stadnik(enemis)
Dependency Injection Andrey Stadnik(enemis)Dependency Injection Andrey Stadnik(enemis)
Dependency Injection Andrey Stadnik(enemis)
Андрей Стадник
 
Test Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsTest Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsAnton Vidishchev
 
Повышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScriptПовышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScript
Igor Khrol
 
Автоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium
Автоматизация тестирования. Разбор конкретного примера - продукта XML2SeleniumАвтоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium
Автоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium
jazzteam
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
AvitoTech
 

What's hot (19)

TestLink
TestLinkTestLink
TestLink
 
«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский
 
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2SeleniumAgile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
 
«Winium — это как Selenium, только под Windows» – Глеб Головин, 2ГИС
«Winium — это как Selenium, только под Windows»  – Глеб Головин, 2ГИС«Winium — это как Selenium, только под Windows»  – Глеб Головин, 2ГИС
«Winium — это как Selenium, только под Windows» – Глеб Головин, 2ГИС
 
knockout.js
knockout.jsknockout.js
knockout.js
 
Web driver история одной миграции
Web driver   история одной миграцииWeb driver   история одной миграции
Web driver история одной миграции
 
А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
 
Причины и способы имитации back-end'а
Причины и способы имитации back-end'аПричины и способы имитации back-end'а
Причины и способы имитации back-end'а
 
Сергей Татаринцев — Тестирование CSS-регрессий с Gemini
Сергей Татаринцев — Тестирование CSS-регрессий с GeminiСергей Татаринцев — Тестирование CSS-регрессий с Gemini
Сергей Татаринцев — Тестирование CSS-регрессий с Gemini
 
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir WebdriverТестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
 
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
 
Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...
 
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindingsSelenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
 
Dependency Injection Andrey Stadnik(enemis)
Dependency Injection Andrey Stadnik(enemis)Dependency Injection Andrey Stadnik(enemis)
Dependency Injection Andrey Stadnik(enemis)
 
Test Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsTest Driven Development in .NET Applications
Test Driven Development in .NET Applications
 
Повышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScriptПовышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScript
 
Автоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium
Автоматизация тестирования. Разбор конкретного примера - продукта XML2SeleniumАвтоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium
Автоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
 

Viewers also liked

«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)
«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)
«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)
Mail.ru Group
 
«Пиринговый веб на JavaScript», Денис Глазков
«Пиринговый веб на JavaScript», Денис Глазков«Пиринговый веб на JavaScript», Денис Глазков
«Пиринговый веб на JavaScript», Денис Глазков
Mail.ru Group
 
React, GraphQL и Relay - вполне себе нормальный компонентный подход (nodkz)
React, GraphQL и Relay - вполне себе нормальный компонентный подход (nodkz)React, GraphQL и Relay - вполне себе нормальный компонентный подход (nodkz)
React, GraphQL и Relay - вполне себе нормальный компонентный подход (nodkz)
Pavel Chertorogov
 
Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...
Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...
Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...
Mail.ru Group
 
Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...
Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...
Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...
Mail.ru Group
 
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
Mail.ru Group
 
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
Mail.ru Group
 
«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group
«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group
«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group
Mail.ru Group
 
«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...
«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...
«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...
Mail.ru Group
 
Александр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтов
Александр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтовАлександр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтов
Александр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтов
Mail.ru Group
 
Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...
Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...
Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...
Mail.ru Group
 
Парсим CSS
Парсим CSSПарсим CSS
Парсим CSS
Badoo Development
 
Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...
Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...
Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...
Mail.ru Group
 
Profiling and optimizing go programs
Profiling and optimizing go programsProfiling and optimizing go programs
Profiling and optimizing go programs
Badoo Development
 
Что надо знать о HTTP/2
Что надо знать о HTTP/2Что надо знать о HTTP/2
Что надо знать о HTTP/2
Badoo Development
 
Сергей Николенко, Deloitte Analytics Institute, Высшая Школа Экономики, «От н...
Сергей Николенко, Deloitte Analytics Institute, Высшая Школа Экономики, «От н...Сергей Николенко, Deloitte Analytics Institute, Высшая Школа Экономики, «От н...
Сергей Николенко, Deloitte Analytics Institute, Высшая Школа Экономики, «От н...
Mail.ru Group
 
Сергей Герасимов (ВМК МГУ), Александр Мещеряков (Институт космических исследо...
Сергей Герасимов (ВМК МГУ), Александр Мещеряков (Институт космических исследо...Сергей Герасимов (ВМК МГУ), Александр Мещеряков (Институт космических исследо...
Сергей Герасимов (ВМК МГУ), Александр Мещеряков (Институт космических исследо...
Mail.ru Group
 
Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»
Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»
Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»
Mail.ru Group
 
Введение в паттерн Schedulable object, Павел Осипов, руководитель разработки ...
Введение в паттерн Schedulable object, Павел Осипов, руководитель разработки ...Введение в паттерн Schedulable object, Павел Осипов, руководитель разработки ...
Введение в паттерн Schedulable object, Павел Осипов, руководитель разработки ...
Mail.ru Group
 
Определение качества сетевого соединения в iOS-почте, Даниил Румянцев, разраб...
Определение качества сетевого соединения в iOS-почте, Даниил Румянцев, разраб...Определение качества сетевого соединения в iOS-почте, Даниил Румянцев, разраб...
Определение качества сетевого соединения в iOS-почте, Даниил Румянцев, разраб...
Mail.ru Group
 

Viewers also liked (20)

«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)
«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)
«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)
 
«Пиринговый веб на JavaScript», Денис Глазков
«Пиринговый веб на JavaScript», Денис Глазков«Пиринговый веб на JavaScript», Денис Глазков
«Пиринговый веб на JavaScript», Денис Глазков
 
React, GraphQL и Relay - вполне себе нормальный компонентный подход (nodkz)
React, GraphQL и Relay - вполне себе нормальный компонентный подход (nodkz)React, GraphQL и Relay - вполне себе нормальный компонентный подход (nodkz)
React, GraphQL и Relay - вполне себе нормальный компонентный подход (nodkz)
 
Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...
Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...
Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...
 
Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...
Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...
Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...
 
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
 
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
 
«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group
«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group
«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group
 
«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...
«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...
«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...
 
Александр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтов
Александр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтовАлександр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтов
Александр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтов
 
Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...
Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...
Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...
 
Парсим CSS
Парсим CSSПарсим CSS
Парсим CSS
 
Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...
Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...
Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...
 
Profiling and optimizing go programs
Profiling and optimizing go programsProfiling and optimizing go programs
Profiling and optimizing go programs
 
Что надо знать о HTTP/2
Что надо знать о HTTP/2Что надо знать о HTTP/2
Что надо знать о HTTP/2
 
Сергей Николенко, Deloitte Analytics Institute, Высшая Школа Экономики, «От н...
Сергей Николенко, Deloitte Analytics Institute, Высшая Школа Экономики, «От н...Сергей Николенко, Deloitte Analytics Institute, Высшая Школа Экономики, «От н...
Сергей Николенко, Deloitte Analytics Institute, Высшая Школа Экономики, «От н...
 
Сергей Герасимов (ВМК МГУ), Александр Мещеряков (Институт космических исследо...
Сергей Герасимов (ВМК МГУ), Александр Мещеряков (Институт космических исследо...Сергей Герасимов (ВМК МГУ), Александр Мещеряков (Институт космических исследо...
Сергей Герасимов (ВМК МГУ), Александр Мещеряков (Институт космических исследо...
 
Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»
Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»
Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»
 
Введение в паттерн Schedulable object, Павел Осипов, руководитель разработки ...
Введение в паттерн Schedulable object, Павел Осипов, руководитель разработки ...Введение в паттерн Schedulable object, Павел Осипов, руководитель разработки ...
Введение в паттерн Schedulable object, Павел Осипов, руководитель разработки ...
 
Определение качества сетевого соединения в iOS-почте, Даниил Румянцев, разраб...
Определение качества сетевого соединения в iOS-почте, Даниил Румянцев, разраб...Определение качества сетевого соединения в iOS-почте, Даниил Румянцев, разраб...
Определение качества сетевого соединения в iOS-почте, Даниил Румянцев, разраб...
 

Similar to «Компонентная верстка с AngularJS», Андрей Яманов (CTO TeamHunt)

презентация вводного доклада Angular на fronttalks.ru
презентация вводного доклада Angular на fronttalks.ruпрезентация вводного доклада Angular на fronttalks.ru
презентация вводного доклада Angular на fronttalks.ru
Ivan Gromov
 
Meet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis BosakMeet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis Bosak
Amasty
 
AngularJS - Что нового? Бишкек - Meetup
AngularJS - Что нового? Бишкек - MeetupAngularJS - Что нового? Бишкек - Meetup
AngularJS - Что нового? Бишкек - Meetup
Chyngyz Arystan Uulu
 
Быстрая и безболезненная разработка клиентской части веб-приложений
Быстрая и безболезненная разработка клиентской части веб-приложенийБыстрая и безболезненная разработка клиентской части веб-приложений
Быстрая и безболезненная разработка клиентской части веб-приложенийYaroslav Tkachenko
 
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
Roman Dvornov
 
FrontTalks: Роман Дворнов (Ostrovok.ru), «Basis.js: почему я не бросил разраб...
FrontTalks: Роман Дворнов (Ostrovok.ru), «Basis.js: почему я не бросил разраб...FrontTalks: Роман Дворнов (Ostrovok.ru), «Basis.js: почему я не бросил разраб...
FrontTalks: Роман Дворнов (Ostrovok.ru), «Basis.js: почему я не бросил разраб...
Yandex
 
Angular2
Angular2Angular2
Angular2
Sergey Melekhin
 
История одной трансформации: как Magento 1 разработчику быстро переориентиров...
История одной трансформации: как Magento 1 разработчику быстро переориентиров...История одной трансформации: как Magento 1 разработчику быстро переориентиров...
История одной трансформации: как Magento 1 разработчику быстро переориентиров...
Magecom UK Limited
 
Go для веба глазами PHP-разработчика
Go для веба глазами PHP-разработчикаGo для веба глазами PHP-разработчика
Go для веба глазами PHP-разработчика
UP2IT
 
Workflow: работа над проектом в Яндексе
Workflow: работа над проектом в ЯндексеWorkflow: работа над проектом в Яндексе
Workflow: работа над проектом в Яндексе
Denis Chistyakov
 
DevOps guide for awesome quality assurance
DevOps guide for awesome quality assuranceDevOps guide for awesome quality assurance
DevOps guide for awesome quality assurance
Анастасия Асеева
 
Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)
Alexander Babich
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеYandex
 
AngularJS basics & theory
AngularJS basics & theoryAngularJS basics & theory
AngularJS basics & theory
DevOWL Meetup
 
процедурный и объектный подходы создания Page object'ов при автоматизированно...
процедурный и объектный подходы создания Page object'ов при автоматизированно...процедурный и объектный подходы создания Page object'ов при автоматизированно...
процедурный и объектный подходы создания Page object'ов при автоматизированно...
mishaninss
 
ASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVCASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVC
GetDev.NET
 
Что нового в ASP.NET 5
Что нового в ASP.NET 5Что нового в ASP.NET 5
Что нового в ASP.NET 5
Microsoft
 

Similar to «Компонентная верстка с AngularJS», Андрей Яманов (CTO TeamHunt) (20)

презентация вводного доклада Angular на fronttalks.ru
презентация вводного доклада Angular на fronttalks.ruпрезентация вводного доклада Angular на fronttalks.ru
презентация вводного доклада Angular на fronttalks.ru
 
Meet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis BosakMeet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis Bosak
 
AngularJS - Что нового? Бишкек - Meetup
AngularJS - Что нового? Бишкек - MeetupAngularJS - Что нового? Бишкек - Meetup
AngularJS - Что нового? Бишкек - Meetup
 
Быстрая и безболезненная разработка клиентской части веб-приложений
Быстрая и безболезненная разработка клиентской части веб-приложенийБыстрая и безболезненная разработка клиентской части веб-приложений
Быстрая и безболезненная разработка клиентской части веб-приложений
 
A.pleshkov
A.pleshkovA.pleshkov
A.pleshkov
 
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
 
FrontTalks: Роман Дворнов (Ostrovok.ru), «Basis.js: почему я не бросил разраб...
FrontTalks: Роман Дворнов (Ostrovok.ru), «Basis.js: почему я не бросил разраб...FrontTalks: Роман Дворнов (Ostrovok.ru), «Basis.js: почему я не бросил разраб...
FrontTalks: Роман Дворнов (Ostrovok.ru), «Basis.js: почему я не бросил разраб...
 
Angular2
Angular2Angular2
Angular2
 
История одной трансформации: как Magento 1 разработчику быстро переориентиров...
История одной трансформации: как Magento 1 разработчику быстро переориентиров...История одной трансформации: как Magento 1 разработчику быстро переориентиров...
История одной трансформации: как Magento 1 разработчику быстро переориентиров...
 
Go для веба глазами PHP-разработчика
Go для веба глазами PHP-разработчикаGo для веба глазами PHP-разработчика
Go для веба глазами PHP-разработчика
 
Workflow: работа над проектом в Яндексе
Workflow: работа над проектом в ЯндексеWorkflow: работа над проектом в Яндексе
Workflow: работа над проектом в Яндексе
 
Appery.io Ukraine_2016
Appery.io Ukraine_2016Appery.io Ukraine_2016
Appery.io Ukraine_2016
 
DevOps guide for awesome quality assurance
DevOps guide for awesome quality assuranceDevOps guide for awesome quality assurance
DevOps guide for awesome quality assurance
 
Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в Яндексе
 
AngularJS basics & theory
AngularJS basics & theoryAngularJS basics & theory
AngularJS basics & theory
 
процедурный и объектный подходы создания Page object'ов при автоматизированно...
процедурный и объектный подходы создания Page object'ов при автоматизированно...процедурный и объектный подходы создания Page object'ов при автоматизированно...
процедурный и объектный подходы создания Page object'ов при автоматизированно...
 
Backbone lesson 1
Backbone lesson 1Backbone lesson 1
Backbone lesson 1
 
ASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVCASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVC
 
Что нового в ASP.NET 5
Что нового в ASP.NET 5Что нового в ASP.NET 5
Что нового в ASP.NET 5
 

More from Mail.ru Group

Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Mail.ru Group
 
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
Mail.ru Group
 
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир ДубровинДругая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Mail.ru Group
 
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Mail.ru Group
 
Управление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон ВикторовУправление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон Викторов
Mail.ru Group
 
DAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга СвиридоваDAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга Свиридова
Mail.ru Group
 
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
Mail.ru Group
 
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
Mail.ru Group
 
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidiaRAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
Mail.ru Group
 
WebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий ОстапенкоWebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий Остапенко
Mail.ru Group
 
AMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей ПешковAMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей Пешков
Mail.ru Group
 
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила СтрелковКак мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Mail.ru Group
 
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Mail.ru Group
 
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.ТаксиМетапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Mail.ru Group
 
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru GroupКак не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Mail.ru Group
 
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Mail.ru Group
 
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Mail.ru Group
 
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Mail.ru Group
 
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Mail.ru Group
 
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Mail.ru Group
 

More from Mail.ru Group (20)

Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
 
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
 
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир ДубровинДругая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
 
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
 
Управление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон ВикторовУправление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон Викторов
 
DAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга СвиридоваDAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга Свиридова
 
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
 
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
 
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidiaRAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
 
WebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий ОстапенкоWebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий Остапенко
 
AMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей ПешковAMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей Пешков
 
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила СтрелковКак мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
 
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
 
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.ТаксиМетапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
 
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru GroupКак не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
 
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
 
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
 
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
 
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
 
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
 

«Компонентная верстка с AngularJS», Андрей Яманов (CTO TeamHunt)

Editor's Notes

  1. AngularJS v1, Webpack Loader
  2. Быстрая и простая разработка. Webpack, ES2015
  3. Речь пойдет об Angular первой версии, так как именно с ним у меня есть длительный опыт работы.
  4. Наглядное сравнение
  5. Controller есть всегда, но задавать его не обязательно. По умолчанию controller виден в scope под именем $ctrl.
  6. Странное задание шаблона. Angular2 делает упор на inline-templates.
  7. Зачем наследовать компоненты?
  8. Строгая иерархия в DOM-дереве.
  9. Строгая иерархия в DOM-дереве.
  10. Для тех кто ищет стили текстовым поиском - используйте sourcemaps!
  11. Тут нужно быть осторожнее. Порядок определения может иметь значение. Изменение предназначения блока - частое явление (переименование).
  12. Css-Minified
  13. При переиспользовании блоков в другом проекте, переменные надо захватить с собой.