Mich hat nur der Begriff
Virtual DOM basierte Templating Engine
verwirrt weil sich das mit meinem bisherigen TE Begriff überhaupt nicht vereinbart.
Das ist auch ein recht jungen Design für Templating-Engines. Populär gemacht wurde es Facebook mit React und XHP. Die Idee ist eigentlich so simpel, dass man sich fragen muss wieso es so lange gedauert hat bis sie jemandem eingefallen ist: HTML hat ja eine Baumstruktur, in string-basierten Templating-Engines findet sich das aber nirgendwo wieder. Zeichenketten lassen sich nur miteinander verketten, aber nicht verschachteln. Für Bäume ist aber die Verschachtelung eine viel natürlichere Operation als die Verkettung. Außerdem kann man in einem Baum den Knoten verschiedene Typen geben, zum Beispiel Element
, Attribut
, Kommentar
usw. und damit mehr Informationen an den Knoten speichern als es mit Zeichenketten geht. Das ermöglicht Features wie Syntax-Checks und automatischen Kontextwechsel, die mit string-basierten Engines nicht möglich sind. Ein weiterer Vorteil ist, dass man keine eigene Template-Sprache braucht Platzhalter und Kontrollfluss-Strukturen im Template auszuzeichnen, sondern einfach die Ausdrücke der Programmiersprache, in der die Engine geschrieben ist, verwenden kann. Teein/Html hat keine extra Syntax für Platzhalter, stattdessen dienen PHP-Variablen als Platzhalter. Insofern bieten Virtual DOM basierte Engines dem Anwender mehr Unterstützung und Automatisierung bei der Entwicklung von Templates bei gleichzeitig einfacherem Gebrauch.