Blog
.NET 5 ve .NET 6 birbirine oldukça yakın tarihilerde yayınlanmıştır. Bu yazımızda, .Net sistem geliştirmeleri ve yeni özelliklerini vurgulayacağız.
.NET 5 İyileştirmeleri ve Yeni Özellikler
Konuya .NET 5 ile başlayalım.
Birleştirilmiş Platformlar
Microsoft her zaman birleşik bir .NET ekosistemi vizyonuna sahip olmuştur. Bu, daha geniş bir uygulama türleri kümesini hedeflemek için bir API kümesi veya araç kullanabileceğiniz anlamına gelir. .NET 5 ile başka şişirilmiş .NET özelliklerini yüklemeye gerek kalmadan, yalnızca .NET platformunun kullanmak istediğiniz kısımlarını seçmeniz gerekir.
C#9 Değişiklikleri (C# – Logical Patterns)
.NET 5, F# 5’in yanı sıra C# 9’u da içerir. İşte .NET 5’ten itibaren dahil olan birkaç C# 9 özelliği:
C# – Mantıklı Örüntüler
C# 9 ile kalıpları mantıksal operatörlerle birleştirebilirsiniz. Ne demek istediğimize dair bir örnek:
Student s when s.Age switch
{
>= 18 and <= 80
},
Yukarıdaki örnekte öğrenci bir sınıftır ve Age onun bir özelliğidir. Burada kod, iki ilişkisel kalıbı birleştirir.
.NET 5.0 Target Framework
.NET 5’i hedefleyen bir proje, aşağıdakine benzer proje dosyasına sahip olacaktır:
Yerel Kod iyileştirmeleri
.NET 5’te yerel kodla çalışma konusunda pek çok iyileştirme vardır. Bunlardan birkaçı şöyledir:
ComWrapper’lar
.NET 5, üçüncü tarafların özel wrapper’lar oluşturması için bir yol olarak ComWrappers’ı sunar.
İşlev İşaretçileri ile Yönetilmeyen Anahtar Kelime
C# 9.0’daki işlev işaretçileri, yalnızca yönetilmeyen anahtar sözcüğü kullanarak yönetilmeyen bir çağrı kuralıyla bildirimler oluşturmaya izin verir.
delegate* unmanaged<int, int>;
COM Nesnelerinde Dinamik Anahtar Kelime Desteği
.NET 5, dinamik anahtar sözcük ve COM nesneleri için destek içerir.
- Logging
Konsol çıktısının biçimlendirilmesi ve renklendirilmesi üzerinde daha fazla kontrol için Microsoft.Extensions.Logging kitaplığı içinde özel bir ConsoleFormatter uygulanabilir. .NET 5 ayrıca konsolda yapılandırılmış JSON günlükleri için yerleşik bir JSON biçimlendirici içerir.
- dotnet-runtimeinfo
dotnet-runtimeinfo ile ortam bilgilerini yazdırabilirsiniz. Yüklemek için Developer Command Prompt penceresini açın ve şunu girin:
dotnet tool install -g dotnet-runtimeinfo
Aracı çalıştırmak için şunu girin:
dotnet-runtimeinfo
- Clickonce Desteği
.NET Core 3.1 ve .NET 5.0 Windows uygulamalarına ClickOnce desteği eklendi. Visual Studio’da tanıdık bir görünüme ve hisse sahiptir ve MSBuild veya Mage aracıyla komut satırı akışlarıyla ClickOnce yayınlama için modern bir CI/CD’ye sahiptir.
.NET 6 İyileştirmeleri ve Yeni Özellikler
.NET 6’daki önemli geliştirmeler nelerdir? Detaylı bir şekilde inceleyelim:
.NET Çoklu Platform Uygulaması Kullanıcı Arayüzü
.NET 6, .NET Multi-platform App UI’nin ilk iki platformunu tanıtır ve bunlar Android ve iOS’tur. .NET 6’nın gelecekteki versiyonlarına, macOS ve Windows masaüstü için destek ekleyecektir.
Örnek projelere ve kurulum talimatlarına göz atmak için buraya bir göz atın.
Arm64
Windows için Microsoft, Önizleme 1’de ilk destekle birlikte Windows Presentation Framework ve Windows Forms uygulamaları için destek ekledi.
Portable Thread Havuzu (Portatif İş Parçacığı Havuzu)
.NET thread (iş parçacığı) havuzu, .NET 6’da yönetilen bir uygulama olarak yeniden uygulandı. Bu, artık .NET 6’daki varsayılan thread (iş parçacığı) havuzu ve bundan sonraki .NET standardıdır.
Crossgen2
Crossgen2, eski crossgen aracının yerini alır. Crossgen2, işletim sistemleri ve mimari boyutları arasında çapraz derlemeye olanak tanır. Bu da tüm hedefler için yerel kod oluşturmak üzere tek bir yapı makinesi kullanabileceğiniz anlamına gelir.
Donanım Hızlandıran Yapılar
.NET 5 ve .NET 6’da Microsoft, yapıların CPU kayıtlarına yüklenebilmesi ve bunlara erişilebilmesi için performansı iyileştirmektedir. Aşağıdaki yapı değişiklikleri Önizleme 1’e dahil edilmiştir:
Blazor Masaüstü Uygulamaları
Blazor, Blazor masaüstü uygulamaları yazmanıza olanak sağlayacak şekilde genişletildi. Bu da geliştiricilere web ve yerel kullanıcı arabirimini yerel bir istemci uygulamasında birleştiren hibrit istemci uygulamaları oluşturma yetkisi verir.
Yeni Matematiksel API’ler
.NET 6, System.Math ad alanında performans odaklı yeni matematik API’leri içerecektir. Yeni System.Math API’leri şunlardır:
- SinCos
- ReciprocalEstimate
- ReciprocalSqrtEstimate
Her birine daha yakından bakalım.
SinCos
Sin ve Cos’un genellikle birlikte hesaplanması gerektiğinden SinCos, Sin ve Cos’u aynı anda hesaplamanıza olanak tanır.
System.Math’deki işareti şöyle görünür:
public (double Sin, double Cos) SinCos(double x);
System.MathF ‘deki işareti şöyle görünür:
public (float Sin, float Cos) SinCos(float x);
ReciprocalEstimate
ReciprocalEstimate, 1 / x’lik bir yaklaşıklık hesaplar.
ReciprocalSqrtEstimate
ReciprocalSqrtEstimate 1 / Sqrt(x)’lik bir yaklaşıklık hesaplar.
Fast Inner Loop
Fast Inner Loop projesinin amacı; derlemenin daha hızlı çalışmasını, derlemeyi tamamen atlayacak sistemler oluşturmak ve yeniden başlatmaya gerek kalmadan (Hot Reload) canlı bir sürece uygulanacak kod düzenlemelerini sağlamaktır.
.NET Developer – Yazılım ve Veritabanı Uzmanlığı eğitimimizi detaylı incelemek için tıklayınız…
Güncel eğitim takvimimiz için tıklayınız…