На сегодняшний день frontend-технологии - одна из наиболее динамично развивающихся отраслей информационных технологий. Появилось множество реализаций известных шаблонов проектирования, написаны тысячи строк Javascript-кода и потрачены сотни часов на stackoverflow для понимания работы этого самого кода. Несмотря на различные подходы, все эти инструменты служат нескольким важным принципам: снижению сложности, улучшению модульности и архитектуры в целом.
HTML5 Web Components стандартизируют эти идеи, прошедшие через огонь, воду и тяжелые Javascript-фреймворки. Мы поделимся опытом внедрения Web Components в проект с объемной single-page логикой, расскажем, как удобнее работать с веб-компонентами, принимая во внимание текущее состояние реализации, а также дадим советы, где постелить соломы при вашем собственном старте работы с веб-компонентами.
Основные моменты доклада:
— Для каких проектов Web Components будут полезны в первую очередь;
— Действительно ли Web Components настолько удобны? Примеры “до” и “после”;
— Текущие проблемы реализации в браузерах и их решение;
— Как быть с текущими фреймворками и шаблонизаторами: что можно подружить, а от чего проще отказаться;
— Как начать интегрировать Web Components в текущее решение и на какие стороны вашего проекта обратить особое внимание.
52. <script src="…"> VS require('module')
• Одного JS-файла в компоненте не хватает
• Почему не использовать <script src="…">?
CommonJS удобнее!
• Polymer не поддерживает CommonJS.
Как собрать самим?
52
56. Резюме
• Web Components успешно интегрируются с
имеющимися инструментами
• Gulp способен решить множество задач
по сборке компонентов
• Создание нового компонента сводится к одной
строке кода для генератора
56
60. Расширение стандартных
элементов управления
• <input is="up-autoresizable" />
- автоподстройка длины
• <input is="up-colorpicker" />
- выбор цвета с альфа-каналом
- указание цвета числом
• <up-textarea-count></..>
- подсчет числа оставшихся символов
• <up-select></..>
- иерархия
- запрещенные значения в списке
60
80. Наиболее частые проблемы
• Не все документировано
• Возможны изменения API
• Мало информации на stackoverflow
по свежим версиям библиотек
(…но это временно)
80
89. Резюме
• Интеграция в реальный проект – уже возможна
• Инструменты – активно развиваются
• Библиотеки уже сегодня имеют широкие
возможности
• Вы получаете модульность, о которой можно
только мечтать!
89