NestJS
# NestJS

NestJS ist ein progressives Node.js Framework für den Bau von effizienten und skalierbaren serverseitigen Anwendungen. Es basiert vollständig auf TypeScript und verwendet stark die Prinzipien von objektorientierter Programmierung (OOP), funktionaler Programmierung (FP) und reaktiver Programmierung (FRP).

## Geschichte

NestJS wurde von Kamil Myśliwiec entwickelt und zuerst im Jahr 2017 veröffentlicht. Es zielt darauf ab, Entwicklern eine Plattform zu bieten, die die Vorteile moderner Technologien nutzt und dabei die Prinzipien bester Softwareentwicklungspraktiken befolgt.

## Merkmale

NestJS zeichnet sich durch seine modulare Architektur aus, die es ermöglicht, die Anwendungsstruktur systematisch zu organisieren. Features von NestJS umfassen:
* Extensive Nutzung von TypeScript für verbesserte Codequalität und -sicherheit
* Dekoratoren, die Metadaten hinzufügen und die Lesbarkeit erhöhen
* Dependency Injection, die lose Kopplung und bessere Testbarkeit ermöglicht
* Auf Erweiterbarkeit ausgelegt
* Integration mit anderen Bibliotheken wie Express.js und Fastify
* Integration von Mikroservices wie WebSocket, Apache Kafka, Redis, RabbitMQ und weiteren.
* Einfache Erstellung von Controllern für REST API mit Generierung der Spezifikation in OpenAPI

## Beispiel

Hier ist ein einfaches Hello World Beispiel in NestJS, das auf einen GET-Request den Text Hello World! zurück sendet: