Warum TypeScript der neue Standard ist – und wo Sie den besten Code finden
\n\nWenn Sie in JavaScript schreiben und noch nicht auf TypeScript umgestiegen sind, verschwenden Sie Zeit. Ernsthaft. TypeScript (oder TS) ist nicht nur ein „Add-on" für JS. Es bringt strikte Typisierung, Autovervollständigung, Refactoring ohne Angst, alles zu zerstören, und natürlich Open-Source-Code, den Sie studieren können (und sollten).
\n\nIn diesem Artikel erklären wir nicht, wie man TypeScript installiert. Stattdessen gehen wir zu GitHub und analysieren 7 hervorragende Repositories, die Ihnen nicht nur elegante Lösungen zeigen, sondern auch helfen, saubereren, sichereren und skalierbareren Code zu schreiben. Jedes Projekt ist ein Tutorial in echtem Code.
\n\nWonach suchen wir in Repositories?
\n\n- \n
- Architekturmuster – wie man ein Projekt aufbaut, damit man es nicht nach einem Monat löschen möchte. \n
- Beispiele für strikte Typisierung – wo TS zu 100% glänzt. \n
- Praktischer Nutzen – Bibliotheken, die Sie sofort anwenden können. \n
Los geht's!
\n\n1. NestJS – Ein Framework für ernsthafte Anwendungen
\n\nRepository: github.com/nestjs/nest
\n\nNestJS ist wohl das eleganteste TypeScript-Framework. Es übernimmt Ideen von Angular (Module, Dekorateure, DI) und verwandelt serverseitigen Code in ein Kunstwerk.
\n\nWarum es studieren:
\n- \n
- Klare Modultrennung. \n
- Integrierte Unterstützung für GraphQL, WebSockets, RabbitMQ. \n
- Dokumentation – ein Vorbild. \n
Codebeispiel aus dem Repository (Controller und Service):
\n\n// cats.controller.ts\nimport { Controller, Get, Post, Body } from '@nestjs/common';\nimport { CatsService } from './cats.service';\nimport { CreateCatDto } from './dto/create-cat.dto';\nimport { Cat } from './interfaces/cat.interface';\n\n@Controller('cats')\nexport class CatsController {\n constructor(private catsService: CatsService) {}\n\n @Post()\n async create(@Body() createCatDto: CreateCatDto) {\n this.catsService.create(createCatDto);\n }\n\n @Get()\n async findAll(): Promise<Cat[]> {\n return this.catsService.findAll();\n }\n}\n\n\nBeachten Sie die @Controller- und @Get-Dekorateure sowie das strikte Cat-Interface. Das ist nicht nur Code – es ist eine Vorlage, die von Hunderttausenden Projekten verwendet wird.
2. Prisma – Ein ORM, das nicht nervt
\n\nRepository: github.com/prisma/prisma
\n\nPrisma ist ein modernes ORM (Objektrelationales Mapping) für TypeScript und Node.js. Es generiert automatisch Typen basierend auf Ihrem Datenbankschema. Das bedeutet, Fehler wie „Feld existiert nicht" werden zur Kompilierzeit abgefangen, nicht zur Laufzeit.
\n\nWas Sie mitnehmen: der „Schema-first"-Ansatz und automatische Typgenerierung.
\n\nBeispiel aus der Dokumentation:
\n\n// schema.prisma\nmodel User {\n id Int @id @default(autoincrement())\n email String @unique\n name String?\n posts Post[]\n}\n\nmodel Post {\n id Int @id @default(autoincrement())\n title String\n content String?\n author User @relation(fields: [authorId], references: [id])\n authorId Int\n}\n\n// usage.ts\nimport { PrismaClient } from '@prisma/client';\n\nconst prisma = new PrismaClient();\n\nasync function main() {\n const user = await prisma.user.create({\n data: {\n email: 'alice@prisma.io',\n name: 'Alice',\n posts: {\n create: { title: 'Hello World' },\n },\n },\n });\n console.log(user);\n}\n\n\nPrisma ist ein perfektes Beispiel dafür, wie TypeScript die Arbeit mit Daten sicher und schnell machen kann.
\n\n