1unitedpower: Über Frontender und Programmierer

Beitrag lesen

Meinst du mit Backend die Templating-Engine?

Das Backend ist hier die Datenverwaltung inklusive Zugriffsrechten, Logging, Ergebnismengen, usw. von Queries auf das Datenmodell.

Also alles außer die Templating-Engine? Dann lass uns den Teil doch einfach ausklammern und stattdessen isoliert über die TE sprechen.

> aber das passiert ja automatisch. 

Und wie funktioniert das? Um die Auflösung dieses kleinen Satzes drücken sich immer Alle.

Du meinst, wie aus Daten und Template letztlich das fertige Produkt gerendert wird? Das ist natürlich stark von der jeweilige TE selbst abhängig und auf diesem abstrakten Niveau kaum zu beantworten. Es ist schwierig hier ein allgemeingültiges Rezept für alle Templating-Enginges anzugeben, weil die Unterschiede untereinander schon so groß sind. Von logic-less TEs wie Mustache bis hin zu full-logic Templatesprachen wie PHP, über textbasierte TEs wie Ember.js und DOM-basierte TEs wie in Angular.js. Ich glaube nicht, dass es zielführend sein kann, diese Unterschiede irgendwie auf einen gemeinsamen Nenner zu bringen.

In irgendeiner Form wird es wohl meistens ein ausgezeichnetes ViewModel geben, aus denen die Daten stammen, und ein ausgezeichnetes Template, die zusammengenommen den Anfang für den Rendering-Prozess bilden. Dann werden nach den Produktionsregeln der TE die Platzhalter-Ausdrücke im Template durch Daten aus dem ViewModel ersetzt. Dieser Schritt kann Rekursion erfordern, das Einbetten eines Datum aus dem ViewModel kann also wiederum einen Rendering-Prozess mit einem Template erfordern.

Das wird sicher auch nicht allen Templating-Systemen gerecht, aber es ist ein Versuch.

Da sehe ich also keine Mischung der Verantwortlichkeiten.

Ich schon! Hier wird im datentechnischen Wortsinne gemischt. Und es wird repetitiv gemischt. Das hat schon zu Zeit en der guten alten Reportgeneratoren zu Problemen geführt, die bis heute nie wirklich gelöst wurden.

Am besten illustrierst du deine Gedanken mal an einer Templating-Engine deiner Wahl. Vielleicht hast du ja recht, und bei der TE, die dir gerade in Gedanken vorschwebt, ist wirklich keine strikte Trennung gewährleistet. Für den allgemeinen Fall, kann ich dir bescheinigen, dass es genügend Vertreter gibt, die eine klare Trennung von Daten und Präsentation realisieren. Schau dir zum Beispiel mal {{mustache}} an, das Rendering wird dort einfach von einer Funktion mit zwei Argumenten Template und ViewModel realisiert.

Das Backend oder besser das Interface müssen nun sehr wohl wissen, an welcher Template-Sprache sie zu operieren haben.

Auch du müsstest mal bitte konkretisieren, was du mit Backend eigentlich meinst, Interface ist da auch nicht viel aufschlussreicher.

Vokabeln lernen?

In der Softwaretechnik kannst du so vieles mit Interface bezeichnen, deswegen ja die Nachfrage, worauf du dich genau beziehst.

Ich habe hier "Template" im Sinne von "Schablone" oder "Maske" benutzt, in die dann später die Daten eingesetzt werden müssen.

Zu Zeiten von

Das wird mir hier zu ausschweifend...