Комментарии 4
Спасибо за Stencil. Как раз хотел найти что-то подобное
Писать на чистых веб-компонентах не так удобно и быстро
Только это стало проблемой реализации изначальной идеи с основной библиотекой на веб-компонентах? А почему выбрали именно Stencil? Почему не LitElements, например?
Мы когда писали свою библиотеку компонентов столкнулись с несколько рода другими проблемами, порой даже нерешаемыми человеческим способом. Например, невозможно сохранить ассоциативную связь между лейблом и инпутом, если они находятся не в одном shadow dom. Проблемы с авто подстановкой в shadow dom. И вишенка на торте: браузер не в состоянии определить поля имени пользователя и пароля, чтобы предложить запомнить и подставить их, если поля находятся опять же в shadow dom. Пришлось для модуля авторизации отказаться от shadow dom вообще.
Получается, вы не используете ViewEncapsulation.ShadowDom
Кстати, примером реализации похожей архитектуры может служить onsen ui.
Только это стало проблемой реализации изначальной идеи с основной библиотекой на веб-компонентах?
Да, в тот момент не было времени и ресурсов поддерживать две библиотеки и делать проект.
А почему выбрали именно Stencil?
В статье написано, что он покорил своей инфраструктурой и похожестью на Angular.
Почему не LitElement, например?
На нем у нас был пробно написан один компонент, но в то время, были проблемы с TypeScript, плюс инфраструктуры вокруг него не так много, все надо было бы писать и поддерживать самим.
...
Спасибо за ваш опыт! До не давнего времени инпут в библиотеке был в виде стилей. Сейчас дизайн инпута у нас похож на материаловский инпут, где лейл совмещен с инпутом, поэтому таких проблем не должно быть. В авторизации пока не использовали новый инпут, поэтому не столкнулись с такими проблемами, но форма авторизации одна, а форм в приложении десятки, поэтому можно сделать исключение для формы авторизации. В целом, технология не идеальная, безусловно, есть проблемы. Но для нас плюсы, пока перевешивают минусы.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
От библиотеки компонентов к дизайн-системе