Zum Inhalt springen
Akinware
Schreibtisch mit Laptop, Notizen und Skizzen einer Oberfläche

NestJS-Entwicklung in NRW

NestJS ist ein Framework für Server, das dem Backend eine feste Struktur gibt. Jedes Projekt sieht dadurch ähnlich aus, und neue Entwickler finden sich schneller zurecht.

Backend in TypeScriptSchnittstellen schreiben wir mit denselben Typen wie die Oberfläche, so passen beide Seiten zusammen.

Was wir mit NestJS bauen

  • Bildschirm mit einem Dashboard voller Diagramme und Kennzahlen

    Webanwendungen

    Werkzeuge, die im Browser laufen. Für Abläufe, die bisher in Excel-Tabellen und E-Mails hängen.
  • Hände halten ein Smartphone mit einer geöffneten App

    Apps

    Anwendungen fürs Handy. Für iOS und Android, oder als Progressive Web App ohne Umweg über den Store.
  • Schaubild mit einem Wolkensymbol, das mit Servern und Geräten verbunden ist

    Cloud

    Anwendungen und Daten in der Cloud betreiben, statt einen Server im Haus zu pflegen.
  • Schaubild mit einem Vorhängeschloss vor einem Schutzschild

    IT-Sicherheit

    Zugänge, Sicherungen und Updates so einrichten, dass ein Ausfall kein Notfall wird.

Was ist NestJS

NestJS ist ein quelloffenes Backend-Framework für Node.js, 2017 von Kamil Mysliwiec veröffentlicht und in TypeScript geschrieben. Es gibt vor, wie ein Projekt aufgebaut wird: Module fassen Fachbereiche zusammen, Controller nehmen Anfragen entgegen, Services enthalten die Logik. Abhängigkeiten werden nicht von Hand verdrahtet, sondern vom Framework eingesetzt.

Diese Struktur erinnert an Angular und an Java-Frameworks wie Spring, und genau das ist der Zweck: Ein NestJS-Projekt ist auch nach Jahren noch lesbar, weil die Ordnung nicht vom Geschmack des Entwicklers abhängt. Anmeldung, Rechte, Validierung, Aufgabenplanung und die Anbindung von Datenbanken sind als offizielle Bausteine vorhanden. Für Schnittstellen entsteht die Dokumentation aus dem Code.

Ein Fahrzeugvermieter braucht ein Backend, an dem drei Dinge hängen: die Weboberfläche der Zentrale, die App der Fahrer und die Schnittstelle eines Buchungsportals. Jede Rolle darf etwas anderes sehen, der Fahrer nur seine Fahrzeuge, die Zentrale alles, das Portal nur Verfügbarkeiten. In NestJS liegen diese Regeln an einer Stelle statt verstreut in einzelnen Abfragen, und jede neue Schnittstelle erbt sie automatisch.

Entwickelt von
Kamil Mysliwiec und Gemeinschaft
Erschienen
2017
Sprache
TypeScript, läuft auf Node.js
Lizenz
MIT, kostenfrei nutzbar
Typische Einsätze
REST- und GraphQL-Schnittstellen, Portale, App-Backends

Welches Framework passt zu euch

Fünf Fragen, keine Eingabe von Daten. Am Ende steht eine Empfehlung, auch wenn sie auf eine andere Seite führt als diese.

Laptop auf einem Schreibtisch mit einer geöffneten Webseite

Frage 1 von 5

Was baut ihr?

  1. Was baut ihr?
  2. Was ist bei euch schon im Einsatz?
  3. Sollen Suchmaschinen die Inhalte lesen?
  4. Braucht ihr auch den Teil auf dem Server?
  5. Wer arbeitet später damit?

Womit wir arbeiten

Wir bauen mit aktueller Technik, nicht mit einem Baukasten. Das ist der Unterschied, den man erst merkt, wenn etwas geändert werden soll, das der Baukasten nicht vorgesehen hat.

Fragen zu NestJS

Wann lohnt sich NestJS?

Wenn das Backend länger lebt und mehr als eine Handvoll Endpunkte hat. Sobald Rollen, Rechte, Validierung und mehrere angeschlossene Systeme dazukommen, zahlt sich die feste Struktur aus. Sie hilft auch beim Personalwechsel, weil jedes NestJS-Projekt gleich aufgebaut ist. Und wenn die Oberfläche in TypeScript geschrieben ist, teilen sich beide Seiten die Typen.

Wann lohnt es sich nicht?

Für eine Schnittstelle mit drei Endpunkten oder einen kleinen Dienst, der eine Datei entgegennimmt. Dort ist der Aufbau von NestJS mehr Gerüst als Nutzen, und Express oder eine einzelne Funktion in der Cloud reichen. Auch wenn euer Team kein TypeScript kann und es auch nicht lernen will, wird es unangenehm. Dann ist Laravel oder Symfony die ehrlichere Empfehlung.

Warum nicht einfach Express?

Express gibt nichts vor, jedes Projekt sieht anders aus. Das ist bei kleinen Diensten angenehm und bei großen ein Problem, weil sich Struktur und Fehlerbehandlung von Ordner zu Ordner unterscheiden. NestJS legt diese Entscheidungen einmal fest. Intern kann es weiterhin auf Express aufsetzen.

Welche Datenbanken lassen sich anbinden?

PostgreSQL, MySQL, MariaDB, SQL Server, MongoDB und weitere, über Prisma, TypeORM oder direkte Treiber. Wir wählen nach eurem Bestand und danach, wer die Datenbank betreibt. Bestehende Datenbanken binden wir an, ohne ihre Struktur umzubauen.

Bekommen wir eine Dokumentation der Schnittstelle?

Ja. NestJS erzeugt aus dem Code eine OpenAPI-Beschreibung samt Oberfläche zum Ausprobieren. Damit kann ein anderer Dienstleister eure Schnittstelle nutzen, ohne uns zu fragen. Die Beschreibung veraltet nicht, weil sie aus dem Code entsteht statt aus einem separaten Dokument.

Kontakt und kostenlose Beratung

Hände tippen auf einer Laptop-Tastatur, daneben eine Tasse Kaffee
Telefon0208 78015410E-Mailinfo@akinware.com
Adresse
Huyssenstraße 6G, 46119 Oberhausen
Worum geht es