ウェブアプリケーション
従来のWebアプリではHTMLは巨大な1つのHTMLファイルであった。Webアプリの規模拡大に伴ってモジュール化の必要性が高まり、HTMLカスタム要素をはじめとするWeb Components技術によってHTMLの分割が可能になった。
またHTMLの更新はDOMを介した手続き型プログラミング(element.setAttribute()など)によっておこなわれてきたが、宣言型プログラミングとtemplatingによるHTMLの記述(例: lit-html、JSX)がおこなわれるようになってきている。
要素のコンポジション(合成)は子要素によって実現される。親要素での子要素へのアクセスは、Web標準ではWeb Componentsの<slot>による自動挿入と.assignedElements()による操作が提供されている。Reactではコンポーネント引数のprops.childrenが用いられ、子要素以外にも任意の属性props.xを用いることもでき、子要素の操作はReact.Childrenのメソッドで提供される。