Guardando agli articoli su ShadowDOM sembra che si tratti di un miglioramento di DocumentFragments. Qual è il vero vantaggio di ShadowDOM? Specificità CSS? Non posso fare più o meno le stesse cose con Fragments?ShadowDOM vs Document Fragments - In che cosa differiscono?
Sto cercando un elenco di funzionalità per ciascuno. Ad esempio, entrambi sembrano consentire di assemblare un albero di dom in memoria e fuori dal percorso di rendering principale. Tuttavia, ShadowDOM sembra avere il vantaggio aggiuntivo del CSS con scope.
Quali sono i casi in cui si utilizza ShadowDOM rispetto a dove si desidera utilizzare DocumentFragments?
UPDATE
Dopo aver guardato in questo più me stesso, vedo le due tecnologie sono completamente ortogonali.
Nota: Poiché la domanda è stata chiusa, non posso rispondere personalmente. In origine ho inserito i dettagli delle mie scoperte in un commento qui sotto, ma ho capito che più persone controlleranno il testo qui.
documento Frammenti sono uno strumento di costruzione Javascript/DOM, utilizzato per la creazione di un non-gerarchiche collezioni di nodi (ciascuno dei quali potrebbe essere il genitore di altri nodi) al largo della DOM. Sono essenzialmente un wrapper attorno alla raccolta dei nodi, che viene abbandonata una volta che il frammento viene aggiunto al DOM. DocumentFragments ti consente di raccogliere un numero di nodi allo stesso livello e di aggiungerli a un altro nodo DOM come fratelli.
Shadow Dom si basa sull'isolamento degli effetti collaterali all'interno di un DOM renderizzato di grandi dimensioni. ShadowDom consente di creare componenti riutilizzabili sandbox con stili incapsulati. Quando un componente basato su ShadowDom viene aggiunto a un'applicazione Web più grande, i suoi stili CSS non si estingueranno nel resto dell'applicazione, né gli stili dell'applicazione influenzeranno il rendering del componente.
Si noti che esistono combinatori CSS come ad esempio /deep/
e ::shadow
per lo styling (e selezionando) componenti shadowDom dal DOM genitore, ma questi vengono deprecati in un prossimo futuro. Per questo motivo, si raccomanda che i componenti riutilizzabili che utilizzano ShadowDOM si basino su variabili CSS per lo stile, se intendono essere personalizzati dall'applicazione che li consuma.
Non so come questo sia "principalmente basato sull'opinione". Non ho chiesto opinioni, ma un confronto obiettivo e il contrasto di capacità e scopi. – Gopherkhan
La modifica deve essere spostata su una risposta. Quindi la domanda dovrebbe essere riaperta. – Oriol
Come un noob che studiava componenti web ho avuto la stessa domanda e ho imparato molto qui. Questi tipi di domande non dovrebbero essere chiusi, ma una volta che la risposta dovrebbe essere bloccata per prevenire lo spam delle risposte – Callat