NestJS

Backend & API Teknolojileri
NestJS
NestJS; ölçeklenebilir, test edilebilir ve sürdürülebilir sunucu tarafı uygulamalar geliştirmek için aşamalı (progressive) bir Node.js framework'üdür. TypeScript, dependency injection ve Angular'dan esinlenmiş modül sistemini birleştirerek JavaScript backend'lerine kurumsal düzey yapı getirir.
Nedir?
NestJS; Express veya Fastify üzerine inşa edilmiş, görüş bildiren (opinionated) bir Node.js backend framework'üdür. Node'un ilkel yapılarını TypeScript dekoratörleri, modüller, sağlayıcılar ve güçlü bir dependency-injection container'ı ile sarar; Angular ve Spring'den desenler ödünç alarak büyük backend'leri gezilebilir hâle getirir.
Ne işe yarar?
NestJS; HTTP yönlendirme, doğrulama, kimlik doğrulama, WebSocket, gRPC, GraphQL, kuyruklar, zamanlanmış işler ve mikroservis mesajlaşmasını tek tutarlı programlama modelinde yönetir. Guard'lar, interceptor'lar ve pipe'lar çapraz kesen endişeleri (cross-cutting concerns) besteler; yerleşik test koşum düzeni birim ve e2e testlerini kolaylaştırır.
Nerede kullanılır?
NestJS; Adidas, Capgemini, Roche, Autodesk ve binlerce startup'ın üretim backend'lerini besler. Node'un ekosistem hızını isteyen ancak kurumsal yapı da isteyen — katmanlı servisler, sıkı tipleme ve controller'dan repository'ye kadar her endişe için net bir yer — ekiplerin varsayılan tercihidir.
Ne zaman ve neden ortaya çıktı?
NestJS, Node.js backend'lerinin Yabanıl Batı'sına yapı getirmek için 2017'de Kamil Myśliwiec tarafından yayımlandı. Express size sadece bir router verir; oyuncak uygulamanın ötesindeki her şey, ekiplerin aynı desenleri yeniden icat etmesini gerektirir. NestJS, bu desenleri belirli bir HTTP adaptörüne kilitlemeden pil-dahil bir framework'te kodladı.
Internative'de neden kullanıyoruz?
3+ mühendisten oluşan bir ekibin 3+ yıl sürdüreceği backend'ler için NestJS'i seçiyoruz. DI container'ı, modül sınırları ve ekosistemi (Prisma, TypeORM, BullMQ, Mongoose adaptörleri) teslim ettiğimiz domain-driven tasarımlara temiz şekilde haritalanır. Müşteri 'Express'ten daha yapılı, Java kadar da değil' dediğinde TypeScript + NestJS varsayılanımızdır.