Polymer и Web Components са изцяло структурирани около използване от трети страни, това е централен стълб на дизайна.
Най-общата концепция на IMO е, че разработчиците ще могат да отидат в мрежата и да намерят множество уеб компоненти, от които да избират. Това не е различно от възможността да избирате от огромен набор от плъгини JQuery, но с много по-голяма степен на оперативна съвместимост и композиция, тъй като всеки екземпляр може да се третира като традиционен елемент.
platform.js
Platform.js моделира бъдещите възможности на браузъра, наречени уеб компоненти. Има практически реалности това да работи точно сега, така че да, за да може трета страна изобщо да използва уеб компоненти, тя ще трябва да се включи в platform.js
(и всичко, което води до това) . Вярно е, че този факт затруднява (днес) инжектирането на уеб компоненти в нечия страница без тяхното съгласие.
моята версия на platform.js може потенциално да е различна от страницата на обаждащия се
Както по-горе, platform.js
се изисква предварително за използване на уеб компоненти. Ето защо е кръстен така, както е. Освен ако собственикът на главната страница не включи тази възможност, той не предоставя платформа, на която можете да предоставите уеб компоненти.
Това не е различно от съвременните библиотеки, напр. JQuery. Можете да заредите множество копия и/или версии на JQuery в един документ, ако не сте внимателни, но е разточително. Координацията е за предпочитане.
С изключение на platform.js
, уеб компонентите са насочени към N модула, използващи M зависимости и всички те работят оптимално заедно. Това е друг начин, по който споделянето е стълб на дизайна.
в стил на браузъри, различни от Chrome, и други тагове се инжектират в, вероятно в конфликт с изходната страница
Това е цялата цена на полифилинга. Ако се нуждаете от чистота на средата, ще трябва да изчакате, докато уеб компонентите се внедрят масово. От практическа гледна точка етикетите за стил са много специализирани и е малко вероятно да са в конфликт с нещо.
човек трябва да има контрол върху етикета на обаждащия се, ако иска да зададе опции, за да избегне FOUC
Това не е абсолютно вярно, можете да изградите уеб компоненти, които контролират собствените си FOUC до определен момент. Но това е много допълнителна работа и като трета страна, вие наистина не можете да знаете какви механизми за зареждане или идиоми ще използва даден разработчик, така че опитът да се оркестрира твърде много без неговото съдействие ще бъде трудно.
Традиционно всичките ми уеб компоненти са изградени чрез iframes
IFRAME е доста по-различен от уеб компонентите. IFRAME е нов контекст и така имате много повече предпазна мрежа, но е тежък и има разходи за координация.
Въпреки че platform.js
по своята същност променя споделената платформа, самите потребителски елементи не трябва да се забъркват с глобалното пространство на имената на потребителя или неговия CSS (въпреки че могат). Кодът може да бъде ограничен до прототипа на елемента, а CSS и DOM могат да бъдат скрити в ShadowDOM. Общото намерение е нищо от това да не изтича от Елемента, освен ако някой не го иска.
person
Scott Miles
schedule
29.03.2014