.NET 8 LTS Resmi Sürümü: 3 Yıl Destek Garantisi ile Neler Geliyor?
Merhaba,
Uzun zamandır beklenen .NET 8 nihayet Kasım 2023'te resmi olarak yayımlandı. Ve bu sürüm LTS (Long-Term Support) — yani 3 yıl boyunca güvenlik yamaları ve kritik düzeltmeler gelecek. Kurumsal projeler için bu çok önemli. Bu yazımda .NET 8'in getirdiklerini özetlemek istedim.
Neden .NET 8 Önemli ?
Preview sürecinde anlattığım özelliklerin büyük çoğunluğu production-ready hale geldi. Ama LTS olması ayrıca önemli. .NET 6 LTS Kasım 2024'te destek ömrünü tamamlıyor. Yani .NET 6 projeleriniz için geçiş zamanı yaklaşıyor. .NET 8 en sağlıklı hedef.
Blazor'da Büyük Değişim
.NET 8 ile Blazor mimarisi kökten yenilendi. Yeni "Blazor United" yaklaşımıyla artık tek bir uygulama içinde birden fazla render modu kullanılabiliyor:
- Static Server Rendering: Klasik SSR, JavaScript yok, en hızlı ilk yüklenme
- Interactive Server: SignalR üzerinden server-side interaktivite
- Interactive WebAssembly: Tarayıcıda .NET çalıştırma
- Interactive Auto: İlk yükleme server-side, sonra WebAssembly'a geçiş
Bu esneklik kurumsal iç uygulamalar için çok değerli. Hızlı ilk yükleme ile zengin interaktivite artık birlikte mümkün.
Native AOT Artık Gerçek
.NET 8 ile Native AOT Minimal API'ler için resmi destek aldı. Bunu daha önce preview yazısında anlattım ama şimdi production'da kullanılabilir hale geldi.
Containerized microservice'ler için somut kazanımlar:
- Container imaj boyutu dramatik biçimde küçülüyor (runtime dahil değil)
- Başlangıç süresi milisaniyelere iniyor
- Bellek kullanımı %50-70 düşüyor
Serverless ve yüksek yoğunluklu container ortamları için bu özellikler gerçek maliyet tasarrufu anlamına geliyor.
Performance Kazanımları
Microsoft'un resmi benchmark'larına göre .NET 8, .NET 7'ye kıyasla:
- TechEmpower Plaintext'te %23 daha fazla throughput
- JSON serialization'da belirgin hızlanma
- LINQ operasyonlarında ortalama %15 iyileşme
- Garbage Collector'da daha düşük pause time
C# 12 Özellikleri
.NET 8 ile birlikte C# 12 geliyor. En işe yarar özellikler:
- Primary Constructors: Artık sınıf parametrelerini doğrudan sınıf tanımında yazabiliyorsunuz. Boilerplate'i ciddi oranda azaltıyor.
- Collection Expressions:
[1, 2, 3]sözdizimi ile array, list, span oluşturmak artık tek tip yazımla mümkün. - Alias Any Type: using ile herhangi bir türe kısa ad verebiliyorsunuz, sadece namespace değil.
Geçiş Tavsiyesi
Yeni projeleri doğrudan .NET 8 ile başlatın. .NET 6 LTS projeleriniz için 2024 içinde geçiş planı yapın — Kasım 2024'te destek bitiyor. .NET 7 üzerindeyseniz daha acil, mümkün olan en kısa sürede .NET 8'e geçin.
Geçiş genellikle düşündüğünüzden kolay. Microsoft'un migration rehberini takip edin, breaking changes listesini inceleyin.
İyi Günler Dilerim,
Bu yazıyı paylaş: