© best_vector/Shutterstock.com
Codegeneratoren mit Bordmitteln des Angular CLI

Alles an Bord


Im Inneren des Angular CLI schlummert seit einiger Zeit der Codegenerator Schematics, der zum Beispiel das Grundgerüst von Komponenten oder Services erzeugt. Diese Bibliothek lässt sich jedoch auch für eigene Zwecke nutzen, um wiederkehrende Programmieraufgaben zu automatisieren und uns lästige Arbeit abzunehmen.

Programmieren ist ein äußerst kreativer Job. Zumindest hat man uns das gesagt, als wir am Anfang unserer Ausbildung standen. Bis zu einem bestimmten Punkt stimmt das auch. Leider gibt es aber auch monotone Arbeiten, die einem die Freude an der Arbeit verderben: x-mal ein Grundgerüst für eine Komponente schreiben, x-mal eine Bibliothek einbinden und konfigurieren, x-mal ein Formular zum Verwalten von Stammdaten bereitstellen. Das sind nur einige Beispiele.

Um solche depressiven Episoden zu vermeiden, bietet es sich an, so viel wie möglich in wiederverwendbare Bibliotheken auszulagern. Was dann noch übrig bleibt, lässt sich mit Codegeneratoren herbeizaubern. Spätestens seit Ruby ist hier häufig auch von Scaffolding, frei übersetzt Gerüstbau, die Rede, weil der Generator häufig nur ein Grundgerüst erzeugt. Soweit ist das nichts Neues. Neu ist aber, dass das Angular CLI genau für diese Aufgabe eine Lösung bietet: Es nennt sich Schematics und kommt beim Generieren neuer Projekte, aber auch beim Generieren von Komponenten, Services oder Modulen zum Einsatz. Außerdem lassen sich damit auch benutzerdefinierte Codestrecken herbeizaubern. Alles, was es dazu braucht, ist ein wenig Code und – wenn es die Sache einfacher macht – ein Template. Die so entstehenden Codegeneratoren werden übrigens selbst auch Schematics genannt.

Ich starte mit einem Beispiel, das Angular-basierte CRUD-Formulare samt Services (Abb. 1) generiert. Der Quellcode, der hier aus Platzgründen nur auszugsweise abgedruckt wird, findet sich unter [1]. Wer das fertige Beispiel ausprobieren möchte, findet es daneben auch als npm-Paket [2].

steyer_angular_1.tif_fmt1.jpgAbb. 1: Generiertes CRUD-Formular

Schematics ist derzeit noch ein Angular-Labs-Projekt. Das bedeutet, dass es als experimentell eingestuft ist und sich das öffentliche API jederzeit ändern kann. Die Tatsache, dass sowohl das CLI als auch der Codegenerator Nx [3] aus der Feder von Core-Contributern darauf basieren, schafft hier jedoch ein wenig Mut, sich die Sache bereits heute schon anzusehen.

Grundgerüst für Codegenerator generieren

Auch das Grundgerüst für einen Codegenerator bereitzustellen, ist eine monotone Aufgabe. Es bietet sich an, dafür einen wei...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang