Blog
Sürekli gelişen ve değişen yazılım teknolojilerinin son örneklerinden biri .NET platformudur. Microsoft tarafından geliştirilerek, yazılım geliştiricilerinin kullanımına sunulan .NET platformu 6.0’a versiyonuna yükseltilerek birçok değişikliği de beraberinde getirmiştir. Son olarak .NET 5 sürümü kullanarak geliştirmeler yapan .NET yazılım geliştiricileri artık .NET 6 ile gelen yenilikleri projelerine ekleyerek çeşitli avantajlardan yararlanabileceklerdir. İşte .NET 6 ile gelen yeniliklerden bazıları:
1. System.Text.Json
Newton.Json kütüphanesi, .NET platformunda Json işlemleri yapılmak istendiğinde ilk başvurulan kütüphanelerden biridir. .NET platformu kapsamınca built-in olarak gelen bir kütüphane olan Newton.Json, çok fazla kullanılmaktadır. 3.x sürümleriyle birlikte değişikliğe uğrayan bu kütüphane zaman içerisinde bağımlılıktan kurtulma amacı da taşınarak yeni yapılara evrilmeye başlanmıştır. Bağımlılıktan kurtulma senaryosu ise System.Text.Json kütüphanesiyle birlikte mümkün olmuştur. Bu işlemin birincil nedeni ise işlem performansıdır. Newton.Json kütüphanesine göre System.Text.Json kütüphanesi çok daha işlevsel ve performansı yüksek biçimde çalışan, API’ler üzerinde ciddi performans iyileştirmeleri yapan bir kütüphane olarak yazılım geliştiricilerinin karşısına çıkmaktadır.
2. IAsyncEnumerable
IAsyncEnumerable desteği de yine .NET 6 ile gelen yeniliklerden biridir. Bu sayede asenkron bir kaynak üzerinden gelen veri serialize ve deserialize edilmektedir.
3. System.Linq
.NET 6 ile birlikte LİNQ sorgularında da birçok yeni özellik mevcuttur.
4. MaxBy/MinBy
MaxBy ya da MinBy kullanılarak, selector yardımıyla birlikte nesne içerisinde yer alan parametrenin belirtilmesiyle maksimum ya da minimum değerler alınabilir.
5. Chunk
Chunk, sıralanabilir kaynakları eşit parçalara bölünmesi için kullanılan bir metottur.
ASP.NET Core tarafında da yine yazılım geliştiricilerini heyecanlandıran gelişmeler mevcuttur. Özellikle de yazılım sistemlerindeki performans iyileştirmeleri ASP.NET Core tarafındaki yeniliklerle birlikte gelmiştir.
6. MinApi
Mini projeler yaparak hafta sonunu geçirmek isteyen ya da micro-service mimarisi kullanarak küçük çaplı servisler yazmak isteyen geliştiricilerin daha az middleware ile çalışmak istedikleri bilinmektedir. Preview 4 güncellemesi ile birlikte gelen MinApi, yazılım geliştiricilerin bu noktada en büyük destekçisi olacaktır. MinApi desteğiyle birlikte küçük boyutlu servisler yazmanız mümkün olacaktır.
7. Routing
.NET platformunda routing yapısı, API isteklerinin herhangi bir action üzerine yönlendirilmesiyle oluşan yapılardır. .NET 6 ile birlikte routing yapısında da güncellemeler ve yeni formatlar meydana getirilmiştir. .NET 6 versiyonundaki routing yapısının eski sürümlerdeki yapılara göre daha performanslı olduğunu söylemek mümkündür.
8. Entity Framework Core
.NET 6 ile EF Core tarafında da performansı yükseltecek şekilde güncellemeler getirilmiştir. Yazılım geliştiricilerinin bu noktada karşılaştıkları en iyi özellikler genel olarak şunlardır:
- EF Core 6.0, EF Core 5.0’a göre %70 oranında iyileştirilmiştir. Yalnızca target framework değerinin değiştirilmesi ve paketlerin güncellenmesiyle dahi %70 oranında hızlı bir uygulamaya sahip olma şansınız vardır.
- Runtime bazlı olarak da yapılan geliştirmeler yüksek performans özelliklerine sahiptir.
- EF Core 6.0 ile birlikte database sorgularının %31 oranında daha hızlı olduğu gösterilmiştir.
- Heap allocation ise %43 oranında azaltılmıştır.
9. HTTP Logging Middleware
.NET 6 sürümünden önce bilgilerin loglanması custom middleware yazılmasıyla mümkün hale getiriliyordu. Preview 4 ile birlikte built-in olarak güncelleştirilen HTTP logging moddleware, request ve response bilgilerinin loglanması üzerinde işlerin çok kolay olmasını sağlamaktadır. Bu sayede .NET 6 platformnda loglama işlemleri daha yönetilebilir ve esnek hale getirilmiştir.
10. Free-Text Search
Json tipindeki dataların ilişkisel veri tabanı içerisinde saklanması gereken durumlar oluşabilmektedir. Kullanılan servislerin verilerini saklamak istendiğinde servisten dönen her alan için tanımlama yapmak doğru bir yöntem olmayabilir. Bu yöntem yerine string tipindeki bir alan içerisinde bu verinin json formatındaki hali saklanabilir. Bu alanların sorgulanması için genellikle EF.Functions içerisinde yer alan FreeText yapısı kullanılmaktadır.
Bu sayede veri tipinde string yer almasa dahi Contains ya da FreeText ile sorgu atabilme imkanı oluşmaktadır. Bunun yanı sıra DbContext içerisindeki System.Text.Json kullanarak da objelerin okuma ve yazma sırasındaki Serialize ya da deserialize işlemleri gerçekleştirilebilir.
.NET Developer – Yazılım ve Veritabanı Uzmanlığı eğitimimiz hakkında detaylı bilgi almak için tıklayınız…
Güncel eğitim takvimimiz için tıklayınız…