Полимерные и веб-компоненты полностью структурированы для стороннего использования, это центральный столп дизайна.
Самое широкое понятие IMO заключается в том, что разработчики смогут выходить в Интернет и находить множество веб-компонентов на выбор. Это похоже на возможность выбора из огромного набора подключаемых модулей JQuery, но с гораздо большей степенью совместимости и компоновки, поскольку каждый экземпляр можно рассматривать как традиционный элемент.
платформа.js
Platform.js моделирует будущие возможности браузера, называемые веб-компонентами. Существуют практические реалии, позволяющие сделать эту работу прямо сейчас, так что да, для того, чтобы третья сторона вообще могла использовать веб-компоненты, им необходимо подписаться на platform.js
(и все, что влечет за собой) . Это правда, что этот факт затрудняет (сегодня) внедрение веб-компонентов на чью-либо страницу без их согласия.
моя версия platform.js потенциально может отличаться от страницы вызывающего абонента
Как и выше, для использования веб-компонентов требуется platform.js
заранее. Вот почему он так назван. Если владелец главной страницы не включает эту возможность, он не предоставляет платформу, для которой вы можете предоставлять веб-компоненты.
Это не отличается от современных библиотек, например. JQuery. Вы можете загрузить множество копий и/или версий JQuery в один документ, если не будете осторожны, но это расточительно. Предпочтительна координация.
За исключением platform.js
, веб-компоненты основаны на N модулях, использующих M зависимостей, и все они оптимально работают вместе. Это еще один способ, которым совместное использование является основой дизайна.
в стиле браузеров, отличных от Chrome, и другие теги вводятся в , что может привести к конфликту с исходной страницей.
Это все цена полифиллинга. Если вам нужна чистота среды, вам придется подождать, пока веб-компоненты не будут широко реализованы изначально. С практической точки зрения теги стиля очень специфичны и вряд ли будут конфликтовать с чем-либо.
необходимо иметь контроль над тегом вызывающего абонента, если вы хотите установить параметры, чтобы избежать FOUC
Это не совсем так, вы можете создавать веб-компоненты, которые контролируют свои собственные FOUC до определенного момента. Но это много дополнительной работы, и как сторонняя организация вы действительно не можете знать, какие механизмы загрузки или идиомы собирается использовать тот или иной разработчик, поэтому попытка организовать слишком много без его сотрудничества будет трудной.
Традиционно все мои веб-компоненты были созданы с помощью iframe.
IFRAME немного отличается от веб-компонентов. IFRAME — это новый контекст, и поэтому у вас гораздо больше страховочной сетки, но она тяжеловесна и сопряжена с затратами на координацию.
Хотя platform.js
по своей природе изменяет общую платформу, сами пользовательские элементы не должны связываться с глобальным пространством имен пользователя или его CSS (хотя они могут). Код может быть ограничен прототипом элемента, а CSS и DOM могут быть спрятаны внутри ShadowDOM. Общая цель состоит в том, чтобы ничего из этого не вытекало из Элемента, если только кто-то этого не хочет.
person
Scott Miles
schedule
29.03.2014