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" zu JS. Es bietet strenge Typisierung, Autovervollständigung, Refactoring ohne Angst, alles zu zerstören, und natürlich Open Source-Code, den man (und sollte) studieren kann.
\n\nIn diesem Artikel erklären wir nicht, wie man TypeScript installiert. Stattdessen begeben wir uns auf GitHub und analysieren 7 der besten Repositories, die nicht nur elegante Lösungen zeigen, sondern Ihnen auch helfen, saubereren, sichereren und skalierbareren Code zu schreiben. Jedes Projekt ist ein Lehrbuch, geschrieben in echtem Code.
\n\nWas suchen wir in den 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 strenge Typisierung – wo TS sich zu 100% entfaltet. \n
- Echten Nutzen – Bibliotheken, die Sie sofort einsetzen können. \n
Los geht's!
\n\n1. NestJS – Framework für ernsthafte Anwendungen
\n\nRepository: github.com/nestjs/nest
\n\nNestJS ist wohl das eleganteste Framework in TypeScript. Es entlehnt Ideen von Angular (Module, Decorators, DI) und verwandelt Servercode in ein Kunstwerk.
\n\nWarum es sich lohnt, es zu studieren:
\n- \n
- Klare Aufteilung in Module. \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 Decorators @Controller, @Get und das strenge Interface Cat. Das ist nicht nur Code – es ist eine Vorlage, nach der Hunderttausende von Projekten gebaut werden.
2. Prisma – ORM, das nicht nervt
\n\nRepository: github.com/prisma/prisma
\n\nPrisma ist ein modernes ORM (Object-Relational Mapping) für TypeScript und Node.js. Es generiert automatisch Typen basierend auf Ihrem Datenbankschema. Das bedeutet, dass ein Fehler wie "Feld existiert nicht" bereits zur Kompilierzeit abgefangen wird, nicht erst zur Laufzeit.
\n\nWas Sie mitnehmen: den "Schema-first"-Ansatz und die 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