В лекции рассказно о трех основных китах CSS: синтаксис, справочные знания и хаки. Данная лекция поможет определиться с направлением в изучении CSS, а также поможет заполнить пробельные знания.
Возможно многие из вас уже пишут по БЭМу, просто не догадываются об этом, ведь БЭМ на самом деле не требует даже классов вида .block__element, срыв покровов в блице.
Web Standards Days
Kyiv
28 ноября 2015
#wstdays
https://wsd.events/2015/11/28/
Видео: https://www.youtube.com/watch?v=_Sx5jvT0qEU&t=2h22m00s
Слайды: http://bit.ly/bem-in-the-wild
First year Digital Media studio. Design and build of a portfolio using HOTGLUE. Basics of structure and navigation design. Introduced with a look at designing within system restraints with real hotglue!
CSS Lessons Learned the Hard Way (Generate Conf)Zoe Gillenwater
Zoe Mickley Gillenwater gave a talk at Generate Conference in London where she shared several mistakes she made while learning CSS flexbox and other techniques. These included misunderstanding how flex-basis works, incorrectly using CSS transforms like rotateX, and making assumptions about screen reader support that caused accessibility issues. She emphasized that vulnerability and sharing mistakes openly can help both oneself and others learn. Making mistakes is a natural part of the learning process, and perfection should not be expected or feared.
This document discusses various methods for evaluating usability, including guidelines, expert opinion, and user testing. It emphasizes that real user testing where users actually use a product or prototype is the best approach, but also the most difficult. The document provides guidance on conducting user tests, such as using representative users, paper or electronic prototypes, asking both quantitative and qualitative questions, and capturing results through observation, metrics, questionnaires or interviews. It stresses the importance of neutral, planned questioning and analyzing competitors to improve one's own product.
Новые факторы ранжирования. Лекция от Евгения Костина, руководителя отдела продаж в компании SeoPult. Данная презентация была показана на первой международной выставке Internet Avenue 2013, 26 апреля.
Show vs. Tell in UX Design (Front in Amsterdam)Zoe Gillenwater
We’ve all heard these “laws” of design: “People don’t read on the web.” “If you have to explain how to use your product, you’ve failed.” “A picture is worth a thousand words.” It seems like our job as designers is to make things as intuitive as possible, using as few words as possible so that the meaning is self-evident through our visual design. But does this always produce the best user experience? Is showing always better than telling? We’ll look at several examples of design from the real world, the web, and apps that use showing, telling, or both as a method for producing the best UX. Rather than just assuming one is always better than the other, learn how to choose the right approach for your particular design problem and users.
The document discusses various security issues that web applications face such as hacker attacks, denial of service, and server hijacking. It outlines best practices for PHP security including input validation, preventing XSS attacks, and using functions like escapeshellarg() when calling external programs to avoid SQL injection and arbitrary command execution. The overall message is that input should never be trusted and proper validation is needed to develop secure PHP applications.
The document discusses the CSS box model which defines how elements are laid out using properties like margins, borders, padding, height and width. It describes how different browsers like Internet Explorer previously calculated box dimensions differently than other browsers, sometimes causing broken layouts. It provides workarounds like box model hacks to avoid these issues and suggests best practices like cross-browser testing.
This document summarizes the request and response process in Joomla. It explains that when a request is made, Joomla loads the framework and initializes the application. It then fires the onAfterInitialise event, which is used by system plugins. It routes the request and fires the onAfterRoute event, then dispatches the request and fires onAfterDispatch. After rendering, it fires onAfterRoute which plugins like cache and SEF use. Finally, it sends the response.
Bdd and dsl как способ построения коммуникации на проектеISsoft
This document discusses Behavior Driven Development (BDD) and Domain Specific Languages (DSLs). It defines BDD as a formalized approach to effective communication between project teams using behavioral specifications, backlog items, acceptance tests and a ubiquitous language. DSLs are described as computer programming languages with limited expressiveness focused on a particular domain. The benefits of DSLs include improved productivity by making code easier to read and understand and avoiding duplication. DSLs can also help communicate with domain experts by providing a language for their domain. Potential problems with DSLs include lack of experience using or developing them and not having resources for the time required.
The document discusses how to get started with PHP frameworks. It defines what a framework is and explains that frameworks provide common functionality that can be overridden by user code to provide specific functionality. Frameworks aim to reduce overhead in web development by handling common tasks like database interaction and presentation layers. The document advises studying the default behaviors and libraries of potential frameworks before choosing one based on factors like ease of use, extensibility and stability. It recommends building a sample application to become familiar with the selected framework and provides tips for getting help when facing difficulties.
I gave a talk at WordCamp mumbai 2014, where i presented the idea that we can create more realistic prototypes on WordPress without writing single line of code. I believe that is the future of Prototyping
HTML allows images and tables to be inserted into web pages. Images are added using the <IMG> tag which specifies attributes like the image source URL, height, width, and alternative text. Tables organize data into rows and columns and use <TABLE>, <TR>, <TH>, and <TD> tags. Attributes control table properties such as borders, cell padding, alignment, column spans, and row spans. Captions can be added above or below tables using <CAPTION> tags.
Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...Yandex
На прошлых BEMup’ах мы проводили мастер-классы по полному стеку БЭМ-технологий, на которых в реальном времени писали SSSR — агрегатор информации из социальных сетей. В этот раз мы хотим попробовать новый формат и дать вам возможность писать код самим. Для эффективной работы мы приготовим всё необходимое: настроенное окружение, задания с необходимой теоретической справкой, чтобы вы шаг за шагом освоили БЭМ-технологии, и тесты, на которых вы легко проверите, что выполнили задания правильно. И конечно, останемся в полном вашем распоряжении, чтобы отвечать на вопросы, помогать и советовать. Будет весело!
Как подготовиться
Для участия в мастер-классе вам потребуется ноутбук и аккаунт на GitHub, так как все задания мы берём из репозитория и складываем туда же выполненные. Нужный репозиторий находится здесь: bem/do-it-yourself-workshop — подпишитесь на него, пожалуйста.
Наши инструменты протестированы под Mac OS и Linux. Если вы используете Windows, вам потребуется виртуальная машина с Ubuntu. Мы рекомендуем установить Vagrant, VirtualBox и заранее скачать для него образ Ubuntu.
В системе должны быть установлены git, node.js, консоль и браузер.
Мы рассчитываем, что у вас есть базовые навыки по общению с Unix-консолью, вы умеете клонировать git-репозитории и имеете представление о npm. Также нелишним будет освежить базовую информацию о БЭМ и пройти туториал «Создаём свой проект на БЭМ», если у вас есть время и желание.
First year Digital Media studio. Design and build of a portfolio using HOTGLUE. Basics of structure and navigation design. Introduced with a look at designing within system restraints with real hotglue!
CSS Lessons Learned the Hard Way (Generate Conf)Zoe Gillenwater
Zoe Mickley Gillenwater gave a talk at Generate Conference in London where she shared several mistakes she made while learning CSS flexbox and other techniques. These included misunderstanding how flex-basis works, incorrectly using CSS transforms like rotateX, and making assumptions about screen reader support that caused accessibility issues. She emphasized that vulnerability and sharing mistakes openly can help both oneself and others learn. Making mistakes is a natural part of the learning process, and perfection should not be expected or feared.
This document discusses various methods for evaluating usability, including guidelines, expert opinion, and user testing. It emphasizes that real user testing where users actually use a product or prototype is the best approach, but also the most difficult. The document provides guidance on conducting user tests, such as using representative users, paper or electronic prototypes, asking both quantitative and qualitative questions, and capturing results through observation, metrics, questionnaires or interviews. It stresses the importance of neutral, planned questioning and analyzing competitors to improve one's own product.
Новые факторы ранжирования. Лекция от Евгения Костина, руководителя отдела продаж в компании SeoPult. Данная презентация была показана на первой международной выставке Internet Avenue 2013, 26 апреля.
Show vs. Tell in UX Design (Front in Amsterdam)Zoe Gillenwater
We’ve all heard these “laws” of design: “People don’t read on the web.” “If you have to explain how to use your product, you’ve failed.” “A picture is worth a thousand words.” It seems like our job as designers is to make things as intuitive as possible, using as few words as possible so that the meaning is self-evident through our visual design. But does this always produce the best user experience? Is showing always better than telling? We’ll look at several examples of design from the real world, the web, and apps that use showing, telling, or both as a method for producing the best UX. Rather than just assuming one is always better than the other, learn how to choose the right approach for your particular design problem and users.
The document discusses various security issues that web applications face such as hacker attacks, denial of service, and server hijacking. It outlines best practices for PHP security including input validation, preventing XSS attacks, and using functions like escapeshellarg() when calling external programs to avoid SQL injection and arbitrary command execution. The overall message is that input should never be trusted and proper validation is needed to develop secure PHP applications.
The document discusses the CSS box model which defines how elements are laid out using properties like margins, borders, padding, height and width. It describes how different browsers like Internet Explorer previously calculated box dimensions differently than other browsers, sometimes causing broken layouts. It provides workarounds like box model hacks to avoid these issues and suggests best practices like cross-browser testing.
This document summarizes the request and response process in Joomla. It explains that when a request is made, Joomla loads the framework and initializes the application. It then fires the onAfterInitialise event, which is used by system plugins. It routes the request and fires the onAfterRoute event, then dispatches the request and fires onAfterDispatch. After rendering, it fires onAfterRoute which plugins like cache and SEF use. Finally, it sends the response.
Bdd and dsl как способ построения коммуникации на проектеISsoft
This document discusses Behavior Driven Development (BDD) and Domain Specific Languages (DSLs). It defines BDD as a formalized approach to effective communication between project teams using behavioral specifications, backlog items, acceptance tests and a ubiquitous language. DSLs are described as computer programming languages with limited expressiveness focused on a particular domain. The benefits of DSLs include improved productivity by making code easier to read and understand and avoiding duplication. DSLs can also help communicate with domain experts by providing a language for their domain. Potential problems with DSLs include lack of experience using or developing them and not having resources for the time required.
The document discusses how to get started with PHP frameworks. It defines what a framework is and explains that frameworks provide common functionality that can be overridden by user code to provide specific functionality. Frameworks aim to reduce overhead in web development by handling common tasks like database interaction and presentation layers. The document advises studying the default behaviors and libraries of potential frameworks before choosing one based on factors like ease of use, extensibility and stability. It recommends building a sample application to become familiar with the selected framework and provides tips for getting help when facing difficulties.
I gave a talk at WordCamp mumbai 2014, where i presented the idea that we can create more realistic prototypes on WordPress without writing single line of code. I believe that is the future of Prototyping
HTML allows images and tables to be inserted into web pages. Images are added using the <IMG> tag which specifies attributes like the image source URL, height, width, and alternative text. Tables organize data into rows and columns and use <TABLE>, <TR>, <TH>, and <TD> tags. Attributes control table properties such as borders, cell padding, alignment, column spans, and row spans. Captions can be added above or below tables using <CAPTION> tags.
Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...Yandex
На прошлых BEMup’ах мы проводили мастер-классы по полному стеку БЭМ-технологий, на которых в реальном времени писали SSSR — агрегатор информации из социальных сетей. В этот раз мы хотим попробовать новый формат и дать вам возможность писать код самим. Для эффективной работы мы приготовим всё необходимое: настроенное окружение, задания с необходимой теоретической справкой, чтобы вы шаг за шагом освоили БЭМ-технологии, и тесты, на которых вы легко проверите, что выполнили задания правильно. И конечно, останемся в полном вашем распоряжении, чтобы отвечать на вопросы, помогать и советовать. Будет весело!
Как подготовиться
Для участия в мастер-классе вам потребуется ноутбук и аккаунт на GitHub, так как все задания мы берём из репозитория и складываем туда же выполненные. Нужный репозиторий находится здесь: bem/do-it-yourself-workshop — подпишитесь на него, пожалуйста.
Наши инструменты протестированы под Mac OS и Linux. Если вы используете Windows, вам потребуется виртуальная машина с Ubuntu. Мы рекомендуем установить Vagrant, VirtualBox и заранее скачать для него образ Ubuntu.
В системе должны быть установлены git, node.js, консоль и браузер.
Мы рассчитываем, что у вас есть базовые навыки по общению с Unix-консолью, вы умеете клонировать git-репозитории и имеете представление о npm. Также нелишним будет освежить базовую информацию о БЭМ и пройти туториал «Создаём свой проект на БЭМ», если у вас есть время и желание.
bem-components — от методологии до full stack платформыYandex
Мало кто знает, но Яндекс – это не только Поиск. Больше десяти лет Яндекс делает разные интернет-сервисы: Карты, Почту, Директ, Музыку, Авто и так далее. В процессе их разработки был приобретён опыт, который мог быть полезен другим веб-разработчикам. Большое количество примеров из реальной практики побудило нас 10 лет назад придумать методологию БЭМ. Спустя 5 лет мы поделились ей с вами, вынеся в open source, вместе с инструментами и библиотекой блоков.
Сейчас БЭМ — не просто свод правил про CSS и набор инструментов. Это открытая full stack платформа, у которой есть пользователи далеко за пределами Яндекса и СНГ. В докладе мы расскажем про эволюцию БЭМ: от методологии до полноценной платформы. Речь пойдёт об использовании полного стека БЭМ-технологий, о переходе к серверному JavaScript и автоматизации разработки. Мы поделимся нашими библиотеками блоков bem-core и bem-components, которые позволяют быстро собрать качественный интерфейс как из конструктора «Лего».
На РИФ-Воронеж Владимир Гриненко и Елена Джетпыспавеа подробно рассказали, зачем БЭМ пошел в опенсорс, как прошел путь от методологии до full stack платформы и чему научились за это время, а также показали наших пользователей в лицо и поделились интересными уроками, которые вынесли, и которые помогут вам в разработке ваших продуктов. Обещаем много интересных подробностей.
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...Yandex
БЭМ упрощает разработку сайтов, которые нужно быстро создать и долго поддерживать. Эту технологию используют во фронтенде почти всех сервисов Яндекса, и она уже успела обрасти множеством библиотек и инструментов, которыми мы хотим с вами поделиться. С обширным арсеналом БЭМ, со всей его модульностью и мощью, вам останется «всего-то» придумать идею и реализовать её. На мастер-классе вы сможете вместе с нами создать то, что мы «только что» придумали. Вы узнаете, в чём преимущество вёрстки независимыми блоками и что такое уровни переопределения, познакомитесь с готовыми библиотеками блоков и инструментами для автоматизации сборки. Мы покажем, как разные инструменты — например, autoprefixer, css-препроцессор Roole или модульная система YModules — упрощают жизнь разработчика и создают по-настоящему удобную платформу, если встроить их в процесс разработки на БЭМ. На живом примере мы объясним, в чём польза декларативного подхода, когда одни и те же идеи можно использовать как для CSS, так и для JavaScript. Отдельная часть мастер-класса будет посвящена декларативным шаблонам BEMHTML и BEMTREE, которые позволяют преобразовывать сырые данные во view-ориентированный BEMJSON. Мы вместе напишем серверную часть приложения в БЭМ-методологии и используем данные от разных социальных и поисковых сервисов (RSS с Яндекс.Фоток, API Twitter и Instagram). В результате получится работающий сайт, а вы — на практике познакомитесь с полным стеком БЭМ-технологий. После мастер-класса мы сможем свободно пообщаться на профессиональные темы. Например, вы расскажете о трудностях, с которыми встретились при реализации проекта на БЭМ, и мы вместе подумаем, как воплотить вашу идею в жизнь.
БЭМ — это технология разработки сайтов, которые нужно быстро создать и долго поддерживать. Она используется в разработке фронтенда почти всех сервисов Яндекса и успела обрасти большим набором библиотек и инструментов, которым мы хотим с вами поделиться.
Имея в своих руках обширный арсенал БЭМ со всей его модульностью и мощью, остаётся «всего-то» придумать идею и реализовать её. На мастер-классе вы сможете вместе с нами создать то, что мы «только что» придумали.
Вы узнаете, в чём преимущество вёрстки независимыми блоками и что такое «уровни переопределения», познакомитесь с готовыми библиотеками блоков и инструментами для автоматизации сборки. Мы покажем, как разные инструменты для упрощения жизни разработчика, вроде autoprefixer, css-препроцессора roole и модульной системы YModules, встраиваются в процесс разработки на БЭМ и создают по-настоящему удобную платформу. На живом примере мы объясним, в чём польза декларативного подхода, когда одни и те же идеи можно использовать как для CSS, так и для JS. Более того, декларативным шаблонам: BEMHTML и BEMTREE, которые позволяют преобразовывать сырые данные во view-ориентированный BEMJSON, — будет посвящена одна из трёх частей мастер-класса.
В результате получится работающий сайт, а вы на практике познакомитесь с полным стеком БЭМ-технологий.
После мастер-класса запланировано дополнительное время на полезное общение: вы сможете рассказать о трудностях, с которыми встретились при реализации проекта на БЭМ, и мы вместе подумаем, как воплотить вашу идею в жизнь.
Большинство считает CSS чем-то простым и не заслуживающим внимания. Но за мнимой простотой кроется большая сложность и огромный пласт проблем, не имеющих пока решения. Современный CSS с его объёмами, новыми фичами, разной поддержкой и багами браузеров, уже почти не поддается анализу человеком. Для этого появляются программы, которые разбирают CSS на атомы, анализируют и помогают сделать его лучше. Как к этому прийти, где мы сейчас и что ещё предстоит сделать.
Владимир Гриненко "i-bem.js: JavaScript в БЭМ-терминах"Yandex
Рассказ о том, как писать декларативный объектно-ориентированный JavaScript в БЭМ-терминах. Демонстрируются возможности блока i-bem из opensource библиотеки bem-bl для написания собственных блоков.
Полный обзор существующих частей БЭМ-экосистемы. Рассказ о том, что у нас есть сейчас, в какой оно степени готовности, в чём нам можно помочь в разработке БЭМ, а также о наших желаниях на будущее.
Библиотека bem-components
Мы строили-строили. Мы тестировали-тестировали. Мы писали документацию. Некоторые из вас принимали в этом активное участие и уже пользуются плодами работы. Теперь мы хотим поделиться нашими совместными результатами (20 готовых блоков!), рассказать о том, как вы можете ускорить разработку своих проектов, о том, что ждёт впереди, и о том, как сделать свою собственную библиотеку блоков такой же удобной и качественной, как это получилось с библиотекой bem-components.
Владимир Гриненко, Яндекс
Разработчик интерфейсов в симферопольском офисе Яндекса. Занимается вёрсткой и JS-программированием. Поддерживает сайт bem.info и с удовольствием отвечает на вопросы разработчиков про БЭМ. Вне Яндекса не один год разрабатывал сайты и консультировал команды различного уровня.
В лекции мы попробуем взглянуть на страницу глазами пользователей и понять, что можно сделать для ускорения ее загрузки. Рассмотрим основные оптимизации на стороне браузера, познакомимся с инструментами для измерения времени отображения.
Сергей Бережной "Экзотическая шаблонизация, или как писать HTML для блоков"Yandex
Существует большое количество разных HTML-шаблонизаторов, и, зная это, мы написали свой, экзотический! Мы расскажем о том, что получилось в итоге и зачем мы это сделали. А также подробнее остановимся на синтаксисе, семантике, оптимизации и компиляции шаблонов в эффективный JavaScript.
Предсказание оттока игроков из World of TanksYandex
Одна из наиболее часто возникающих задач в бизнес-аналитике для компаний — это предсказание оттока клиентов. Ведь если заранее знать, что клиент собирается уйти к конкуренту, его можно попытаться остановить. Задача будет рассмотрена на примере прогнозирования оттока игроков из World of Tanks.
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Yandex
Лекция Сергея Царика в Школе вебмастеров: «Как принять/организовать работу по поисковой оптимизации сайта».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Основные этапы и методы поисковой оптимизации
Рассмотрим проработку стратегии продвижения, планирование ресурсов на проект, поймем как нужно прорабатывать семантическое ядро для продвижения, разберемся с очередностью всех работ.
Разложим по полочкам основные приемы оптимизации в связке с внутренними и внешними факторами ранжирования поисковых систем, а также в связке с поведенческими факторами и характеристиками. Разберемся с тем, что же должен делать оптимизатор для достижения топа.
Что должно включать в себя ТЗ на поисковую оптимизацию
Разберемся с основными блоками технического задания от оптимизатора, с тем, каким оно должно быть с точки зрения подачи информации и ее глубины.
Сравнение in-house подхода и агентства
Рассмотрим все «за» и «против» оптимизатора в штате компании и вне её.
На основе каких метрик нужно оценивать эффективность оптимизаторской работы
Выделим ключевые показатели эффективности работы оптимизатора, рассмотрим процесс их измерения, динамику, разберемся с возможными «миксами» и их связкой с мотивацией подрядчика.
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаYandex
Лекция Юлия Тихоход в Школе вебмастеров: «Структурированные данные на поиске»
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Что такое микроразметка и в чём её польза
Что такое микроразметка (семантическая разметка, семантическая микроразметка) и кому она нужна. Очень кратко — всё, что я знаю о применении семантической разметки поисковыми системами и другими веб-сервисами.
Передача данных в машиночитаемом виде
Какие ещё есть способы передать данные о сайте поисковым системам кроме микроразметки, особенности разных способов. Что бывает с плохими вебмастерами, которые пытаются обмануть поисковые системы и передать неверные данные.
Типы разметки
Из чего состоит микроразметка, какие бывают словари и синтаксисы. Популярные сочетания словарей и синтаксисов, как правильно выбирать нужную комбинацию для своего сайта.
Передача данных об интернет-магазине
Разбор семантической разметки: что в принципе доступно для разметки в интернет-магазине, что это даёт, а что можно не размечать вовсе.
Проверка правильности микроразаметки
Ошибки в микроразметке, способы их обнаружения и исправления. Популярные валидаторы микроразметки. Какие ошибки непременно нужно исправлять, а что можно игнорировать.
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаYandex
Лекция Сергея Лысенко в Школе вебмастеров: «Представление сайта в поиске»
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Основные элементы сниппетов: как влиять на их формирование
Как по внешнему виду и содержанию визитки судят, стоит ли «связываться», так и по представлению сайта на странице выдачи пользователи решают, стоит ли переходить на сайт. Как изменить представление сайта в выдаче поисковых систем? Что может повлиять на CTR и что для этого нужно сделать? Рассмотрим фавиконки, навигационные цепочки, быстрые ссылки и многое, многое другое.
Зачем нам заголовок: как им управлять
Что должно быть в заголовке, а чего уж точно не стоит делать. Как избавиться от мусора и расставить акценты. И как это скажется на представлении сайта в поиске.
Основной контент аннотации и мета-описания: что нам они дают
Сниппет — зачем он нужен? Как обрабатываются данные для аннотаций? Что в сниппете помогает, а что мешает пользователю сориентироваться? Как подсказать поисковой системе, что выводить в сниппете? От Open Graf до schema.org. Инструменты, возможности, рекомендации.
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Yandex
Лекция Екатерины Гладких в Школе вебмастеров: «Плохие методы продвижения сайта»
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Как завязывают с портянками
Как использовать wordstat, чтобы превратить текст в SEO-портянку. Как Яндекс определяет текстовый спам и какие ограничения могут быть применены к сайтам, злоупотребляющим ключевыми словами.
Эффектное размещение SEO-ссылок
Какие бывают SEO-ссылки и как они классифицируются в базе Яндекса. В чём отличие SEO-ссылок от рекламы. Как размещать SEO-ссылки наиболее эффектно. Методы борьбы против ссылочного спама – АГС и Минусинск. Снятие ссылок.
Поведенческие факторы, медитативные практики
Популярные сервисы накрутки: как это работает и как это не работает. Методы накрутки и методы борьбы с мошенничеством. Примеры пользовательских сессий и кто на самом деле посещает ваш сайт. Как выйти из-под санкций за накрутку поведенческих факторов.
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Yandex
Лекция Сергея Царика и Антона Роменского в Школе вебмастеров: «Основные принципы ранжирования»
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Как работает поиск
При запросе пользователя к поисковой системе происходит множество процессов, которые позволяют дать наиболее релевантный ответ. Рассмотрим основные механизмы формирования выдачи: формулы, Матрикснет, персонализацию и обновления.
Что учитывается при ранжировании сайтов
Так как сайты разные и по-разному решают пользовательские задачи, при ранжировании поисковой системе нужно учитывать множество факторов. Поговорим о том, что обязательно должно быть на сайте для правильной индексации.
Ещё о факторах ранжирования
Какой контент действительно важен и как его правильно представить. Для правильного ранжирования сайта важно разобраться с его региональной привязкой. Разберёмся, какой регион присваивать сайту и как сделать это правильно.
Реальный кейс долгосрочной работы над позициями
Посмотрим на реальном примере, как изменялись основные жизненные характеристики (трафик, конверсии) сайта на пути в топ выдачи поисковых систем.
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Yandex
Лекция Александра Смирнова в Школе вебмастеров: «Основные принципы индексирования сайта».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Как поиск находит страницу, её путь до появления в поиске
Поисковые системы постоянно собирают информацию о страницах в интернете. Как же это происходит и как добавить страницы своего сайта в поиск? Проверка индексирования сайта.
Как управлять роботом (зеркала, sitemap, robots.txt)
Множество сайтов в интернете доступны сразу по нескольким адресам. Как указать поисковому роботу на основной и как скорректировать индексирование?
Особенности индексирования
Современные сайты используют различные технологии в своей работе. Рассмотрим, как настроить их правильно и сделать контент доступным для робота.
Как улучшить индексирование (дубли, HTTP-ответ, удаление из поиска)
В поиск попадают различные страницы, которые известны роботу. Какие нужны, а какие нет? Как повлиять на их индексирование?
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Yandex
Лекция Александра Лукина в Школе вебмастеров: «Мобильное приложение: как и зачем»
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Проектирование. Быть или не быть
Обсудим обоснование для разработки мобильного приложения — какую ценность оно может принести для проекта и бизнеса. Определим основные типы приложений и сценарии использования. Рассмотрим основные технологии и выбор оптимальных для конкретных задач. ТЗ — как оценить и какие особенности необходимо учесть.
Разработка. Важные детали
На что обратить внимание на этапе разработки и тестирования, заметки по специфике мобильных экосистем. Выбираем арсенал SDK для всестороннего анализа проекта в полёте.
Публикация и продвижение
Кратко рассмотрим специфику Google Play и AppStore. Проведём экскурс в мир мобильного маркетинга, подчеркнём сходства с вебом и отличия от него. Рассмотрим ключевые метрики для анализа продукта и процесса продвижения, а также способы их повышения.
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Yandex
Лекция Олега Ножичкина в Школе вебмастеров: «Сайты на мобильных устройствах»
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Статистика и тренды по мобильному интернету
Основные показатели мобильного интернет-рынка. Тенденции роста мобильной аудитории.
Новые алгоритмы ранжирования поисковых систем
Адаптация сайта к мобильным пользователям и её влияние на позиции в поисковой выдаче.
Возможности для бизнеса в мобильном вебе
Мобильный сайт позволяет воспользоваться дополнительными возможностями взаимодействия с пользователем. Рассмотрим конкретные примеры.
Мобильный сайт и приложение — в чём разница
Чем отличается мобильное приложение от мобильно сайта. Какие преимущества и недостатки у каждого варианта.
Представление сайтов на мобильных устройствах
Адаптивные сайты. Мобильные сайты. Сайты для десктопа. Чем они отличаются, какие преимущества у каждого типа и нужно ли переключаться между мобильной и десктоп-версиями?
Удобный мобильный сайт для пользователя
Поведение пользователей на мобильном сайте. Отличия от десктопа, достижение целей и простые правила увеличения конверсии.
Специфика разработки мобильного сайта
Особенности проектирования, разработки и тестирования сайтов.
Инструменты для разработки мобильных сайтов
Готовые инструменты для проектирования и тестирования. Примеры фреймворков.
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Yandex
Лекция Юрия Батиевского в Школе вебмастеров: «Качественная аналитика сайта»
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Что мы хотим от аналитики сайта
На какие вопросы должна отвечать аналитика сайта. Как аналитика сайта связана с аналитикой бизнеса. На какие блоки можно поделить аналитику онлайн-процессов. Какой должна быть идеальная аналитическая система.
Анализ общих показателей бизнеса
Как построить систему аналитики бизнеса в интернете. Ключевые показатели эффективности (KPI). Построение воронки продаж. Business Intelligence — сквозная аналитика всех процессов.
Обзор инструментов для анализа сайта и аудитории
Яндекс.Метрика и Google Analytics как основа веб-аналитики. Инструменты для веб-мастеров. Инструменты для анализа действий пользователей (Kiss-metrics, Woopra, Mixpanel). Системы для подсчета целевых действий, CPA и ROMI.
Анализ каналов привлечения клиентов
Как анализировать источники трафика. Популярные инструменты для анализа.
Пройти тест по теме
Процесс развертывания системы аналитики сайта
Подготовка к установке систем веб-аналитики. Тонкости установки и настройки трекеров. Подключение коллтрекинга и дополнительных инструментов фиксации целевых действий. Настройка пользовательских сценариев. Пример по анализу пользовательского сценария.
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Yandex
Лекция Петра Аброськина в Школе вебмастеров: «Что можно и что нужно измерять на сайте».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Базовые принципы веб-аналитики
Как работает веб-аналитика и какие подводные камни есть в учёте и анализе данных. Как правильно работать с данными.
Основные метрики и термины
Посетители, визиты, глубина просмотра, время на сайте — какие метрики важны и чем они отличаются.
Как выбрать правильный KPI
Самый важный этап в веб-аналитике и продвижении сайта. Какие цели выбрать интернет-магазину, сайту услуг, контентному проекту и т.д.
Ключевые группы отчетов и применение знаний на практике
Семь главных типов отчётов для бизнеса. Анализ контекстной рекламы, SEO и контента сайта — на конкретных примерах.
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Yandex
Лекция Алексея Бородкина в Школе вебмастеров: «Как правильно поставить ТЗ на создание сайта».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
ТЗ: две буквы с большим потенциалом
Что такое техническое задание. Какое место оно занимает в веб-разработке. Какие цели преследует. И каким требованиям оно должно отвечать.
Что нужно сделать, прежде чем садиться за ТЗ
Зачем нужна подготовка к написанию ТЗ. Какую информацию нужно собрать и как выстроить этот процесс. На каком этапе веб-разработки нужно писать ТЗ — и что будет, если этот момент упустить. Какое отношение имеют к ТЗ прототипы, пользовательские истории и прочие инструменты проектирования.
Хорошее ТЗ
Как соединить в один документ описание интерфейсов, структуру данных и много чего ещё. Структура правильного, хорошего ТЗ с подробным разбором каждого пункта. С какой стороны приступать и как эффективнее всего выстроить работу.
Кто должен писать ТЗ
Кто может написать хорошее ТЗ. Где найти такого человека и как встроить его в общие процессы. Что делать, если ТЗ пишет сам заказчик.
Плохое ТЗ
Популярные ошибки. Чем они ужасны и как их избежать.
Жизнь с ТЗ
По какой схеме нужно согласовывать ТЗ. Как применять его в дальнейшей работе. Кому не нужно показывать ТЗ ни при каких обстоятельствах. Что делать, если ТЗ никому не нравится.
ТЗ по ГОСТ: ад на Земле
Краткая история развития ТЗ со времён Брежнева и до наших дней. Почему я старательно избегаю слова «ТЗ». Почему вы должны нервно вздрагивать при слове «ГОСТ». Что делать, если вы работаете с госзаказчиком.
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandex
Лекция Петра Волкова в Школе вебмастеров: «Как защитить свой сайт».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Актуальные типы угроз и динамика их развития
Компрометация сервера и её последствия. Распределённые атаки типа «отказ в обслуживании». Подмена или добавление рекламы на стороне клиента. Атаки, направленные на пользователей. Проблемы, связанные со внешним содержимым.
Управление рисками безопасности веб-сайтов
Разные типы сайтов подвержены разным типам рисков информационной безопасности. Понимание целей и подходов злоумылшенников как ключ к эффективному снижению рисков. Методы монетизации атак на сайты.
Доступный инструментарий и методики для обеспечения безопасности
Открытые инструменты форензики для типовых и сложных проектов. Системы обнаружения вторжений, подходы к проектированию безопасности в архитектуре и процессах.
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Yandex
Лекция Дмитрия Сатина в Школе вебмастеров: «Как правильно составить структуру сайта».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Структура сайта, ориентированная на человека; построение структуры, карточная сортировка
Содержимое сайтов часто организовано так, как кажется удобным разработчику или контент-менеджеру компании. Чаще всего такие структуры неудобны для реальных посетителей, потому что не совпадают с их знаниями, не поясняют, как устроен материал, и не помогают найти желаемое. Структура, ориентированная на пользователя, повышает вероятность того, что посетители найдут нужную информацию или товар и сделают это быстро.
Стройте структуру, исходя из пользовательских сценариев. Выделение на сайте разделов, соответствующих структуре компании или схеме процесса закупки, как правило, усложняет навигацию для пользователя. Правильная структура учитывает уровень знаний покупателя и использует понятные ему термины и способы группировки.
Разные типы структур, средства навигации, дальнейший поиск информации на странице
Структуры сайтов, на которых ищут что-то определённое, отличаются от тех, что используются на сайтах, посетители которых ещё не уверены, что именно они хотят или как называется нужная вещь. Строгие структуры — например, организация по наименованию товара, производителю, — предполагают один способ группировки. При нестрогой организации данные можно группировать по теме, по жизненной ситуации и так далее. Используйте средства навигации, которые помогают понять, как организован материал. Решая, какой будет визуальная реализация навигации на сайте, необходимо учитывать количество разделов и связи �
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Yandex
Лекция Дмитрия Васильева в Школе вебмастеров: «Технические особенности создания сайта».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Сайт — расплывчатое понятие
Раньше под словом «сайт» понимался набор HTML-страниц, расположенных в домене второго или третьего уровня. Появление социальных сетей размыло это понятие.
Как выбрать домен
Различные варианты, и какой из них подойдёт именно вашему сайту: доменные зоны, читаемые и нечитаемые домены, кириллица и латиница.
Подходы к созданию сайтов
Первые сайты делались на чистом HTML. Сейчас такой способ ещё встречается, но подавляющее большинство веб-страниц создаются при помощи CMS, фреймворков, конструкторов.
Составные сущности: структура, макеты дизайна, интерактивные элементы, контент, система прав. Размещение сайта на хостинге. Российские и зарубежные, дорогие и дешевые, облачные и традиционные провайдеры. Кратко о тонкостях взаимодействия с ними.
Что такое HTTPS
Всё более популярный безопасный протокол доступа к сайту. Нужен ли он вам и в каких случаях. Как выбрать платформу для сайта, основные системы управления сайтом (CMS) и конструкторы.
Сайт после запуска
Сайты создаются с конкретной целью, обычно связанной с получением дохода. Как контент сайта и его технические характеристики напрямую могут влиять на бизнес-эффективность.
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Yandex
Лекция Елены Першиной в Школе вебмастеров: «Конструкторы для отдельных элементов сайта».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
О пользе тех или иных технологий
Взгляд в будущее, короткий обзор других полезных технологий и «опасностей», которые подстерегают на пути к правильному их выбору.
Как выбрать поиск для сайта
Поиск для сайта — важный инструмент навигации. Чтобы оценить качество поиска по своему сайту, посмотрите на количество уходов со страницы результатов. Полнота, скорость индексирования, обработка запросов (исправление ошибок, опечаток, неправильной раскладки) — без этого невозможно представить качественный поиск.
Как выбрать карты для сайта
Уход посетителя с сайта на «большие» Яндекс.Карты за точной информацией об организации может обернуться потерей клиента, который уже был готов к покупке. Чтобы этого не допустить, лучше сделать интерактивную карту прямо на сайте.
Автоматизация оплаты на сайте
Люди привыкают платить картой, сегодня даже уличные киоски принимают их. Поэтому многим посетителям кажется «подозрительным» интернет-магазин, в котором недоступны электронные платежи. Начать приём банковских карт в онлайне очень просто, главное выбрать для этого подходящую технологию.
Перевод важных страниц
На каких языках говорит ваша аудитория, много ли у вас посетителей из-за рубежа? Ответы на эти вопросы даст Яндекс.Метрика. Именно она поможет оценить, нужно ли тратиться на профессионального переводчика и готовить отдельные описания товаров или новости на других языках. Во многих случаях для совершения покупки достаточно и простого машинного перевода. Узнайте, как его настроить, чтобы ключевые разделы сайта автоматически переводились для иностранных посетителей.
Социальная интеграция
Как заставить пользователей говорить о себе в социальных сетях? В первую очередь нужно сделать хороший продукт или услугу, но и без удобного инструмента для «шаринга» в соцсетях — никуда. Рекомендации о том, как выбрать и установить такой инструмент к себе на сайт.
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Yandex
Лекция Катерины Ерошиной в Школе вебмастеров: «Контент для интернет-магазинов».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Виды контента для интернет-магазинов
Основные страницы, карточки товаров, каталог в целом. Письма покупателям. Статьи для интернет-магазина.
Основные сервисные страницы: что нужно знать покупателю
О страницах доставки, оплаты, контактов, условий работы.
Страница товара интернет-магазина: какой нужен текст, чтобы товар нашли
Признаки товаров. Сниппеты товарных позиций. Когда текст не нужен вообще. Постоянная и техническая информация на карточке.
Блог и внешние публикации интернет-магазина
О чем писать, чтобы подогреть интерес к магазину. Сторителлинг. UGC: методы вовлечения (кратко).
Персонализация интернет-магазина: стать ближе к покупателю
Красивый пример личного бренда директора магазина.
Копирайтинг для интернет-магазина: на чём можно и нельзя экономить
Что делать, если у вас 100 000 товарных позиций и они постоянно меняются.
Хорошее ТЗ копирайтеру для наполнения интернет-магазина
Что должен знать копирайтер, чтобы не писать ерунду.
Как оценить работу копирайтера
Стандартные проверки. Контроль качества текста средствами аналитики.
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Yandex
Лекция Катерины Ерошиной в Школе вебмастеров: «Как написать хороший текст для сайта».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Назначение и типы текстов на сайте и вне его
Цель текста — влиять на поведение пользователя. Самое простое — информировать, самое сложное — привести к покупке. Виды текстов для внешних публикаций. Белые книги и другие способы подтвердить экспертизу.
Контент-план для наполнения, развития сайта и внешних публикаций
Как проектировать контент для нового сайта. Как наращивать информационную массу сайта. Внешние контакты с потребителем.
Разные уровни вовлечения: информируем, продаём, помогаем
Пройти по пути покупателя, выдавать информацию, необходимую для совершения следующего шага. Ловушки на этом пути.
Информационный стиль: применение с пониманием
Чистить текст без фанатизма. Эмоциональное вовлечение. Рациональное обоснование.
Структура и вёрстка
Заголовки и подзаголовки, списки, абзацы, иерархия подачи информации.
SEO-аспекты и LSI-копирайтинг
Понимание ценности ключей. Зачем копирайтеру нужно семантическое ядро.
Оценка качества текста (чеклист)
Уникальность, фактическая достоверность, соответствие целям, информационная плотность, грамотность.
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Yandex
Лекция Алексея Иванова в Школе вебмастеров: «Usability и дизайн: как не помешать пользователю».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Что такое юзабилити и почему оно важно
Поведение пользователей на сайте и достижение ими запланированных целей зависит не только от контента, но и от удобства сайта.
Информационное и функциональное наполнение сайта
Перед созданием сайта нужно правильно определить, какая информация и какой функционал должны быть на сайте. При этом нужно исходить не из того, что у вас есть, а из того, что будет нужно будущим посетителям вашего сайта.
Проектирование входных страниц
В зависимости от целей сайта и источников посетителей нужно сформулировать требования к входным страницам сайта и их содержанию.
Сценарии поведения пользователя
Для правильного распределения информации нужно описать сценарии взаимодействия с сайтом для разных групп посетителей. Рассмотрим методы совмещения разных сценариев на одном сайте.
Пройти тест по теме
Управление конверсией
В большинстве случаев мы ждем от посетителя сайта какого-то целевого действия. Это может быть регистрация, отправка заявки, звонок или что-то ещё. Вы увидите способы мотивации посетителей к совершению целевого действия для различных типов сайтов.
Пройти тест по теме
Основные принципы распределения информации
В рамках этого блока вы увидите, как нужно распределять информацию на странице, чтобы посетители увидели всё, что вы хотите им показать.
Мобильная версия сайта и принципы юзабилити
Всё больше посетителей приходят на сайт с мобильных устройств. Рассмотрим основные особенности взаимодействия с информацией с мобильного устройства и подходы к адаптации сайта под них.
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Yandex
Лекция Алексея Иванова в Школе вебмастеров Яндекса: «Сайт. Зачем он и каким должен быть».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Типы сайтов и потребности аудитории
В зависимости от решаемых задач, сайты можно разделить на несколько характерных типов с разными функциями и контентом. Перед созданием сайта важно понять, чего ждут посетители и какими хотят видеть веб-страницы. При этом на один и тот же сайт может попадать разная аудитория, которая ведёт себя по-разному и каждая имеет свои потребности. Для каждого сегмента нужно разработать отдельные сценарии взаимодействия с информацией на вашей площадке.
Сайт с точки зрения бизнеса
Чаще всего сайт создается для решения конкретных бизнес-задач. Рассмотрим различные типы монетизации сайтов и особенности каждого из них.
Основные показатели и методы измерения
Одно из главных преимуществ цифровых каналов — детальная аналитика взаимодействия посетителей с сайтом. В данном блоке рассмотрим основные инструменты измерения, ключевые показатели сайта, на которые нужно обращать внимание, и подходы к интерпретации полученных данных для принятия решений.
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Yandex
Ad
Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"
1. Про шаблонизаторы вообще
и BEMHTML в частности
Сергей Бережной
руководитель отдела
разработки поисковых интерфейсов
Я.Субботник, Москва, 8 сентября 2012 года
14. Шаблонизаторы вообще
Многообразие видов
— по семантике
— data bind
var html = 'Шоколад ни в чем не виноват,'
+ '<span class="name"/>.'
, data = { username: 'John Smith' }
, map = plates.Map();
map.class('name').to('username');
plates.bind(html, data, map);
14
19. Шаблонизаторы вообще
Многообразие видов
— по семантике
— data driven
<xsl:template match="username">
<span class="name">
<xsl:apply-templates/>
</span>
</xsl:template>
19
20. Шаблонизаторы вообще
Многообразие видов
— по семантике
— data driven
<xsl:template match="username">
<span class="name">
<xsl:apply-templates/>
</span>
</xsl:template>
Шоколад ни в чем не виноват, <username>John Smith</username>.
Вы просто созданы для лепрозория, <username>veged</username>!
20
21. Шаблонизаторы вообще
Многообразие видов
— по семантике
— data driven
Шоколад ни в чем не виноват, <span class="name">John Smith</span>.
Вы просто созданы для лепрозория, <span class="name">veged</span>!
21
28. Шаблонизаторы вообще
Многообразие видов
— по семантике
— по синтаксису
— текст в финальном виде + вставки
— сокращённый синтаксис
— предметно-ориентированный синтаксис
28
29. Шаблонизаторы вообще
Многообразие видов
— по семантике
— по синтаксису
— предметно-ориентированный синтаксис
<xsl:template match="username">
<span class="name">
<xsl:apply-templates/>
</span>
</xsl:template>
29
30. Шаблонизаторы вообще
Многообразие видов
— по семантике
— по синтаксису
— предметно-ориентированный синтаксис
var html = 'Шоколад ни в чем не виноват,<span class="name"/>.'
, data = { username: 'John Smith' }
, map = plates.Map();
map.class('name').to('username');
plates.bind(html, data, map);
30
38. …и BEMHTML в частности
Задачи
— разделение HTML и логики представления
38
39. …и BEMHTML в частности
Задачи
— разделение HTML и логики представления
— гибкая библиотека блоков
39
40. …и BEMHTML в частности
Задачи
— разделение HTML и логики представления
— гибкая библиотека блоков
[% BLOCK menu %]
<ul>
[% FOREACH item IN items %]
<li>[% item %]</li>
[% END %]
</ul>
[% END %]
40
41. …и BEMHTML в частности
Задачи
— разделение HTML и логики представления
— гибкая библиотека блоков
[% BLOCK menu %]
<ul>
[% FOREACH item IN items %]
[% PROCESS item content = i %]
[% END %]
</ul>
[% END %]
41
42. …и BEMHTML в частности
Задачи
— разделение HTML и логики представления
— гибкая библиотека блоков
— скорость
42
43. …и BEMHTML в частности
Задачи
— разделение HTML и логики представления
— гибкая библиотека блоков
— скорость
— БЭМ
43
46. …и BEMHTML в частности
Что получилось
— БЭМ-дерево ⟹ HTML
46
47. …и BEMHTML в частности
Что получилось
— БЭМ-дерево ⟹ HTML
{ block: 'button', content: 'Найти' }
<input
class="button"
type="button"
value="Найти"/>
47
48. …и BEMHTML в частности
Что получилось
— БЭМ-дерево ⟹ HTML
{
block: 'button',
mods: { size: 'm' },
content: 'Найти'
}
<input
class="button button_size_m"
type="button" value="Найти"/>
48
49. …и BEMHTML в частности
Что получилось
— БЭМ-дерево ⟹ HTML
— синтаксис
49
50. …и BEMHTML в частности
Что получилось
— БЭМ-дерево ⟹ HTML
— синтаксис
— чуть больше чем JavaScript
50
51. …и BEMHTML в частности
Что получилось
— БЭМ-дерево ⟹ HTML
— синтаксис
— чуть больше чем JavaScript
— шаблоны с предикатами
51
52. …и BEMHTML в частности
Что получилось
— БЭМ-дерево ⟹ HTML
— синтаксис
— чуть больше чем JavaScript
— шаблоны с предикатами
— БЭМ
— несколько ключевых слов
52
53. …и BEMHTML в частности
Что получилось
— БЭМ-дерево ⟹ HTML
— синтаксис
block button, tag: 'input'
53
54. …и BEMHTML в частности
Что получилось
— БЭМ-дерево ⟹ HTML
— синтаксис
block button {
tag: 'input'
attrs: ({ type: 'button' })
}
54
55. …и BEMHTML в частности
Что получилось
— БЭМ-дерево ⟹ HTML
— синтаксис
block button {
tag: 'input'
attrs: ({
type: 'button',
value: apply('content')
})
content: ''
}
55
56. …и BEMHTML в частности
Что получилось
— БЭМ-дерево ⟹ HTML
— синтаксис
{ block: 'button', content: 'Найти' }
<input
class="button"
type="button"
value="Найти"/>
56
57. …и BEMHTML в частности
Что получилось
— БЭМ-дерево ⟹ HTML
— синтаксис
— гибкость и расширяемость "по построению"
57
58. …и BEMHTML в частности
Что получилось
— гибкость и расширяемость "по построению"
block button, attrs: ({ type: 'button' })
58
59. …и BEMHTML в частности
Что получилось
— гибкость и расширяемость "по построению"
block button, attrs: ({ type: 'button' })
block button, mod type submit, attrs: ({
type: 'submit'
})
59
60. …и BEMHTML в частности
Что получилось
— БЭМ-дерево ⟹ HTML
— синтаксис
— гибкость и расширяемость "по построению"
— многопроходность
60
61. …и BEMHTML в частности
Что получилось
— многопроходность
{ block: 'box', content: 'text' }
61
62. …и BEMHTML в частности
Что получилось
— многопроходность
{ block: 'box', content: 'text' }
<div class="box">
<div class="box__top"></div>
<div class="box__content">text</div>
<div class="box__bottom"></div>
</div>
62
63. …и BEMHTML в частности
Что получилось
— многопроходность
block box, content: [
{ elem: 'top' },
{
elem: 'content',
content: applyNext()
},
{ elem: 'bottom' }
]
63
64. …и BEMHTML в частности
Что получилось
— многопроходность
{ block: 'box', content: 'text' }
<div class="box">
<div class="box__top"></div>
<div class="box__content">text</div>
<div class="box__bottom"></div>
</div>
64
65. …и BEMHTML в частности
Что получилось
— БЭМ-дерево ⟹ HTML
— синтаксис
— гибкость и расширяемость "по построению"
— многопроходность
— полноценный JavaScript
65
66. …и BEMHTML в частности
Что получилось
— полноценный JavaScript
block box, content: {
var res = { /* ... */ };
// ...
return res;
}
66
67. …и BEMHTML в частности
Что получилось
— БЭМ-дерево ⟹ HTML
— синтаксис
— гибкость и расширяемость "по построению"
— многопроходность
— полноценный JavaScript
— XJST: bit.ly/xjst
67
70. …и BEMHTML в частности
Где применять
— возможность исполнять JavaScript
70
71. …и BEMHTML в частности
Где применять
— возможность исполнять JavaScript
— на сервере
— на клиенте
71
72. …и BEMHTML в частности
Где применять
— возможность исполнять JavaScript
— много HTML
72
73. …и BEMHTML в частности
Где применять
— возможность исполнять JavaScript
— много HTML
— HTML+CSS пишут отдельные специалисты
73
74. …и BEMHTML в частности
Где применять
— возможность исполнять JavaScript
— много HTML
— HTML+CSS пишут отдельные специалисты
— БЭМ
74
75. …и BEMHTML в частности
Где применять
— возможность исполнять JavaScript
— много HTML
— HTML+CSS пишут отдельные специалисты
— БЭМ, хотя бы в CSS
75
76. …и BEMHTML в частности
Где применять
— возможность исполнять JavaScript
— много HTML
— HTML+CSS пишут отдельные специалисты
— БЭМ, хотя бы в CSS
— частые итерации изменения HTML+CSS
76
77. …и BEMHTML в частности
Где применять
— возможность исполнять JavaScript
— много HTML
— HTML+CSS пишут отдельные специалисты
— БЭМ, хотя бы в CSS
— частые итерации изменения HTML+CSS
— есть общие блоки
77