Safer TypeScript: Datenvalidierungsbibliotheken im Vergleich – Zod, TypeBox & Co.

Durch TypeScript ist die Entwicklung großer JavaScript-Anwendungen leichter möglich geworden. Zur Laufzeit gibt es dennoch keine Typen und damit keine automatische Validierung.

Dieser Vortrag erläutert, warum und wann wir in TypeScript Daten zur Laufzeit validieren sollten und einen Überblick über Datenvalidierungs-Bibliotheken geben, die uns dabei unterstützen. Insbesondere werden Zod, TypeBox und class-validator genauer vorgestellt.

Schließlich wird in einer Livedemo gezeigt, wie Zod das Typsystem von TypeScript elegant nutzt, um uns einfache und leichtgewichtige Datenvalidierung zu bieten, die ohne duplizierte Typdefinitionen auskommt.

Vorkenntnisse

  • Kentnisse in TypeScript
  • Aufbau von typischen Client-Server-Anwendungen (z. B. React-Express) sollte klar sein; in der Livedemo wird tRPC im Backend verwendet, aber auch kurz erklärt.
  • Zod wird genauer vorgestellt, man muss es vorher aber noch nicht kennen.

Lernziele

  • kurze Erinnerung, dass TypeScript zur Laufzeit nur JavaScript ist
  • Erfahrungsbeispiele aus Projekten (häufig Frontends), wenn eingehende Daten nicht systematisch validiert werden: Validierung verstreut sich über den ganzen Code, Verlässlichkeit der Typen schwindet, erodierendes TypSystem, Laufzeitfehler.
  • Einschätzung, wann wir Daten validieren sollten: an Systemgrenzen (eingehend), nicht die ganze Zeit.
  • Vergleich der Bibliotheken.
  • Zod-Livedemo

Speaker

 

Michael Speitelsbach
Michael Speitelsbach studierte Informatik am KIT und ist seit 2017 Softwareentwickler bei andrena objects. Er schätzt TypeScript für seine Plattformunabhängigkeit und die Balance zwischen schneller, pragmatischer Entwicklung und langfristig wartbarem Code.
LinkedIn

enterJS-Newsletter

Du möchtest über die enterJS
auf dem Laufenden gehalten werden?

 

Anmelden