hi,
Wie hast du das Problem gelöst?
Meine Template-Engine (TE, sprich HTML::Template o.ä.) kommt nur zum Einsatz, wenn Seiten komplett in HTML ausgeliefert werden müssen. In JS hingegen, arbeite ich nicht mit Templates sondern nur mit Datenstrukturen (sprich: Objekte).
Die serverseitige Business-Logik arbeitet ebenfalls nur mit Objekten als Datenträger. So ist z.B. serverseitig
$game->{score}{'Max Müller'};
clientseitig als
game.score['Max Müller'];
vorhanden und die Daten können synchronisiert oder anderweitig abgeglichen werden.
Von der Art der Verpackung ist das vollständig abstrahiert, das kann JSON sein, XML... oder halt meine eigene Entwicklung (binary safe) für zyklische Strukturen. Binary safe hat den Vorteil, dass sich der Entwickler keine Gedanken machen muss, ob da Bilddateien, HTML, oder Texte (Zeichenkodierung egal), oder alles zusammen übertragen wird.
Wahlfreier Datenzugriff also client- wie serverseitig auf quasi dieselben Objekte, Transparenz halt :)
Zum Erstellen einer kompletten HTML-Response kriegt das View-Model nur die Daten.
Zum Sendern einer AJAX-Response werden dieselben Daten nur serialisiert.
Viele Grüße!