HTML5 Web Components: следующий шаг к модульности вашего проекта

Андрей Рахманов 

Ведущий frontend-разработчик в проекте Underpage. Занимается разработкой онлайн-редактора интерактивных книг, интересуется новыми frontend-решениями и подходами к улучшению качества разработки клиентской части. 

- Расскажите пару слов о себе. 

Основная область моих интересов - это способы снижения сложности разработки и поддержки решений, значительная часть которых сосредоточена на клиенте. За последние годы в основном сосредоточился на внедрении JS-фреймворков для структуризации кода клиентской части, достаточно плотно работал с Knockout, Angular и Backbone, в том числе изучил механизмы, которые предоставляют эти инструменты для реализации компонентного подхода: в том или ином виде пользовательские элементы встречаются в custom bindings в Knockout и в directives в Angular. Для меня Web Components - это долгожданный способ разрабатывать компоненты для приложения нативно и тем самым улучшать модульность проекта.


- Можете сказать пару слов о своём докладе помимо того, что есть в описании?

В нашем докладе я расскажу про внедрение Web Components (в данный момент - с использованем полифилов от команды Polymer) в наш проект, про прочие технологии, которые мы используем при разработке и взаимодействие с которыми приходилось организовывать в процессе внедрения, про наши ошибки и удачные решения, которыми хотелось бы поделиться с сообществом.
Текущий проект, над которым работаем мы с коллегами, представляет собой онлайн-платформу для создания интерактивных изданий. Основной частью платформы является онлайн-редактор: это single-page приложение, которое имеет повышенные требования к организации кода в части UI, поскольку постоянное расширение функционала не должно негативно сказываться на его масштабируемости и сложности дальнейшей поддержки. С началом проникновения Web Components в современную frontend-разработку наша команда приняла решение внедрить Web Components в текущее решение для того, чтобы максимально управлять сложностью разработки интерфейса и заложить хорошие основы, используя технологию, развитие которой представляется нам очень перспективным.

- На кого ориентирован Ваш доклад?

Frontend-разработчики, руководители групп разработки, руководители проектов.

- Что нового узнает слушатель Вашего доклада?

Тема Web Components в большинстве источников раскрыта только в обзорном виде или в виде анализа спецификации, но я планирую предоставить информацию другого рода. Пересказывать текущие спецификации нет никакого смысла: любой желающий может прочитать их самостоятельно. Получить опыт реального использования значительно сложнее, и нам хотелось бы обобщить наш опыт в данном докладе, и, возможно, помочь сомневающимся с принятием решения относительно использования Web Components в своем проекте уже сегодня.

- А что бы Вы хотели передать слушателям, своего доклада и конференции в целом?

Решение об интеграции новой технологии в реальный проект - это всегда очень сложно. Однако если внедрение позволит решить множество актуальных задач и заложить хорошие основы для расширяемости проекта - стоит рискнуть, а в случае, если риск оправдался - обязательно поделиться результатами с сообществом, чтобы предупредить возможные ошибки других и показать то, что удалось. Именно это мы и собираемся сделать.