Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up

Handlebars.js – Die Semantische Template Library

Handlebars.js ist eine Template-Engine für JavaScript. Sie ermöglicht dem Entwickler, mit Hilfe von semantischen Templates Business-Logik und HTML zu trennen. Somit ist es nicht von Nöten, HTML-Code per JavaScript zu generieren. Ein großer Vorteil hierbei ist die Übersichtlichkeit durch das Auslagern des JavaScript- und Handlebars-Codes in eigene .js-Dateien. Die durch Handlebars geschaffene Struktur sorgt für einen verständlichen Code und erleichtert somit die Wartbarkeit.
Ein weiterer Vorteil ist es, dass Templates nicht bei jeder erneuten Verwendung neu kompiliert werden müssen. Gerade in der mobilen Nutzung ist dies ein essentieller Performance-Gewinn.

Wann empfiehlt es sich, Handlebars.js zu verwenden?

Es empfiehlt sich, Handlebars zu verwenden, wenn Seiteninhalte während eines Aufrufes öfters aktualisiert werden (z.B. durch Filterung oder Sortierung), denn hierbei müssen die DOM-Elemente nicht jedesmal im JavaScript-Code neu generiert und eingehängt werden, sondern es werden nur entsprechende Templates gerendert. Würde man all dies von JavaScript aus steuern, müsste man jedes DOM-Element z.B. per createElement()-Methode erstellen und per appendChild()-Methode oder innerHTML-Property einzeln erstellen und einhängen.
Man sollte jedoch die Notwendigkeit einer solchen Library überprüfen, denn bei einfachen Webseiten ohne viel Logik würde Handlebars zu viel Overhead produzieren.

Anwendung

Handlebars bietet neben dem Verwenden von Platzhaltern verschiedene Helper-Functions an, wie zum Beispiel if-Abfragen, foreach-Schleifen und Block Parameters. Um Handlebars anzusprechen, werden jegliche Statements und Variablen in doppelt geschweiften Klammern geschrieben. Der Zugriff auf Funktionen erfolgt jeweils mit einem „#“ und endet mit einem „/“ vor der Anweisung.

Im folgenden Code wird geprüft, ob die Property „items“ des JSON-Objekts „news“ Einträge enthält. Ist dies der Fall wird das entsprechende Template „news-table-template“ an dieser Stelle aufgerufen. Als Parameter wird dem Template das „news“-Objekt mit übergeben.

Handlebars.js – Semantische Template Library-1
Abbildung 1: news-template

Im Template für die News-Tabelle wird nun bis auf den <tbody> die Tabelle vorbereitet.
Die einzelnen Row‘s werden in einer foreach-Schleife erstellt, die durch „news.items“ iteriert. Für jedes Element in diesem Array wird ein <tr>-Tag erstellt und dessen <td>-Tags mit den entsprechenden Informationen befüllt.

Handlebars.js – Semantische Template Library 2
Abbildung 2: news-table-template

Im folgenden JavaScript-Code wird nun zuerst das Template compiliert damit es ab sofort zur Verfügung steht. Anschließend wird mit dem vorhandenen Objekt „renderTemplate“ das Template erstellt und in den <div> mit der ID „content-body“ eingehängt. Dieser JavaScript-Code muss in die Seite per <script>-Tag eingebunden werden.

Handlebars.js – Semantische Template Library 3
Abbildung 3: renderNewsTemplate.js

Worin genau besteht in diesem Fall der Vorteil?

Hierbei wird die Logik einer if-Abfrage und einer foreach-Schleife verwendet, um dynamisch eine Tabelle zu erstellen und diese im HTML zu rendern. Trotz dieser Logik müssen dank Handlebars.js keine HTML-Tags im JavaScript-Code erstellt werden und ebenso wird kein inline-JavaScript im HTML ausgeführt. Somit wird die Logik vom Markup getrennt und es entsteht ein übersichtlicher, gut wartbarer Code.
Zudem bringt Handlebars.js neben den oben genannten Helpern noch viele weitere Build-In Helpers mit sich, jedoch besteht auch die Möglichkeit, selbst solche Helper-Funktionen zu implementieren, welche dann im HTML aufgerufen werden können.
Eine Übersicht über alle Build-In Helpers findet man auf folgender Seite: http://handlebarsjs.com

Anonyme Referenz
Referenz

Produkt-Echtzeitanalyse bei Maschinenbauunternehmen

Ein deutsches Maschninenbauunternehmen ermöglicht mit Hilfe von X-INTEGRATE und Industrie 4.0 Technologie ihren Kunden, den Status jedes Geräts visuell und in Echtzeit zu überwachen.

Headerbild zur AI Factory for Insurance
Service 05.07.21

AI Factory for Insurance

Die AI Factory for Insurance ist ein innovatives Organisationsmodell in Verbindung mit einer flexiblen, modularen IT-Architektur. Sie ist eine Innovations- und Umsetzungsfabrik, um KI-Modelle systematisch zu entwickeln, zu trainieren und in digitalen Geschäftsprozessen einzusetzen.

Branche 24.09.20

Versicherungsbranche

Versicherungsunternehmen leben davon, Menschen ein Versprechen zu geben – und dieses Versprechen ist Sicherheit.

Technologie 29.06.20

IBM

Wir sind IBM Platinum Business Partner und haben damit seit Jahren den höchsten Partnerstatus bei der IBM.

Headerbild zu Smart Insurance Workflows
Service

Smart Insurance Workflows

Mit einem Design Thinking Ansatz orientieren wir Arbeitsabläufe am Kundenerlebnis und gestalten kundenzentrische End-to-end-Prozesse.

Event

Webcast:RPA in Versicherungen: Effizienzstifter oder Chaot?

Schon seit Jahren setzen Versicherer RPA als Baustein für mehr Automation vor allem in den Bereichen Vertrieb, Kundenservice, Policierung, Schaden- und Leistungsmanagement ein.

Sep 22
Headerbild zur offenen und sicheren IT bei Versicherungen
Service

Offene und sichere IT

Noch vor einigen Jahren scheuten sich Versicherer, in die Cloud- oder Plattformwelt zu gehen. Häufig herrschten Bedenken bezüglich Sicherheit und Steuerung vor. Das Paradigma hat sich geändert.

Logo RedHat
Technologie 02.07.20

RedHat

Wir sind RedHat Advanced Partner. Mit RedHat als dem Marktführer in Open-Source-IT-Lösungen unterstützen wir unsere Kunden ihre Cloud Journey aktiv zu gestalten und umzusetzen.

Software & Application
Service

Software & Application

Agilität, Application Modernization, Fullstack Development und Requirement Engineering sind wichtige Aspekte der Business Application Development.

Technologie Übersicht

HCL

Als „HCL Platinum Business Partner“ haben wir seit Jahren Erfahrung mit diesen Tools und werden diese auch in Zukunft für Sie betreuen.

Commerce & Customer Experience, CRM
Service

Commerce & Customer Experience, CRM

Im Handel ist eine positive Kundenerfahrung (CX) von zentraler Bedeutung für den weiteren Erfolg eines Unternehmens.

Service 15.07.21

Open Insurance

Bei Open Insurance geht es darum neuartige, datengetriebene Dienstleistungen für Kunden zu erbringen – und zwar nicht allein, sondern indem man im Digitalen Ökosystem zusamnenarbeitet und Daten über Schnittstellen bezieht/bereitstellt.

News

IBM übergibt “Trusted AI” Projekte an Linux Foundation AI

Wir begrüßen es sehr, dass die Linux Foundation drei besonders leistungsfähige SW-Komponenten der IBM (z.T. bereits Open Source) in ihren Linux Foundation AI Canon aufgenommen hat.

News

ARS Event: KI meets Finance & Insurance

Am 20.11.2019 versammeln sich CxOs, Innovation Manager und Risk Manager zum ARS Event: KI meets Finance & Insurance 2019 in Nürnberg, um über die Zukunft der Finanzbranche zu diskutieren.

Standort

München

Finden Sie u.a. vor Ort in München: ARS Computer und Consulting GmbH; catworkx GmbH, novaCapta GmbH; TIMETOACT Software & Consulting GmbH

Standort 17.11.20

Unsere Standorte

Zur TIMETOACT GROUP gehören die elf IT-Unternehmen. Zusammen beschäftigen wir 1300 Mitarbeitende in 22 Städten in DACH.

Event

Webcast: Confidential Computing für Versicherer

Was ist Confidential Computing, und wie kann das bei der Verarbeitung von wirklich vertraulichen Daten in der Cloud helfen? Im Webcast geben wir Ihnen einen Überblick über die Technik und die notwendigen Komponenten.

Dec 17
Standort

Stuttgart

Finden Sie u.a. catworkx GmbH und novaCapta GmbH in Stuttgart; Friedrichstr. 9; 70174 Stuttgart; Tel: +49 711 77940 0; Fax: +49 711 77940 19: Mail: info.stuttgart@novacapta.de

Unternehmen

Anfahrt zur TIMETOACT GROUP in Köln

Egal ob mit dem Auto, mit dem Zug oder mit dem Flugzeug: Wir zeigen Ihnen, wie Sie am besten zu ins in den Mediaparkt nach Köln kommen.

Standort

Zürich

Finden Sie u.a. novaCapta Schweiz AG und TIMETOACT GROUP Schweiz GmbH in Zürich: Technoparkstraße 1, 8005 Zürich

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!