Il modo in cui sono stato abituato alle interfacce utente è vedere tutto come div. Dove un div è essenzialmente una scatola e possono essere stilizzati in CSS.
<div class='container'>
<div class='header'></div>
<div class='mainbody'>
<div class='someusercontrol'>
</div>
</div>
</div class='footer'></div>
</div>
Ma al giorno d'oggi sembra che si tratti di React e Angular Directives e ora con le componenti Web Components si stanno lentamente spostando su:
<container>
<header></header>
<mainbody>
<someusercontrol someattribute='123'>
</someusercontrol>
</mainbody>
<footer></footer>
</container>
Il problema che vedo con il secondo esempio è che ora tutti gli elementi sono eterogenei rispetto a quelli omogenei con div. Ogni elemento può avere attributi / proprietà differenti e può funzionare in modi diversi. Ciò può comportare complessità quando si visualizza il codice di qualcun altro per la prima volta, poiché ognuna di queste "cose" funziona in modo diverso.
Ma alcuni sostengono che ora gli elementi saranno più modulari e più facili da riutilizzare. Ma mi chiedo se ne valga la pena. I componenti web sono davvero la strada da percorrere? Sembra che il futuro indichi che lo sono.