.NET CORE 3 ÇIKIYOR - YENİLİKLER NELER

15 Ara 2018 Ahmet Selçuk Özyurt / Yorumlar

Teknoloji gelişiyor, teknoloji geliştirme araçları da gelişiyor ve bazen sadece haberlerini bile takip etmekte zorlanacağınız bir hıza ulaşıyor. .Net Core nispeten yeni bir teknoloji ve yeni yeni yaygınlaşıyor diyebiliriz. Ancak gelişim hızı baş döndürüyor.

Ortamlara alışıyoruz ve en etkili şekilde kullanmaya çalışıyoruz. Yeni özelliklerden de işimize yarayanı alıp yolumuza devam edeceğiz.

Microsoft konuyla ilgili uzunca bir blog girmiş, ben de önemli gördüğüm bölümleri burada özet olarak anlatmaya çalışacağım.

Windows Desktop Desteği

.Net Core un bundan önceki versiyonlarında ana hedef web uygulamaları ve web api ları idi. Bu versiyon ile birlikte Desktop desteği de eklenmiş oluyor. Fakat bu yalnızca Windows geliştiricilerine hitap ettiğinden şu ana kadar .NetCore u web projeleri için kullanan bizim gibilerde pek heyecan yaratacağını düşünmüyorum.

Teknolojik bir yenilik olarak tanımlayamayız ama cesur bir adımla WPF, WinForms ve WinUI ın açık kaynak hale geliyor. Microsoft un açık kaynak yazılıma son yıllarda bu denli katkı vermesi sevindirici ve şaşırtıcı gerçekten.

Build Sonrası Exe Çıktısı

Şimdiye kadar proje derlenmesi sonrası yalnızca dll üretiliyordu (self-contained harici tiplerde), artık varsayılan olarak tüm uygulamalarda build çıktısına exe ekleniyor.

Referanslar Artık Build Klasörüne Kopyalanıyor

Şimdiye kadar yalnızca Publish ile kopyalanan projeye eklediğimiz dll ler artık build ile kopyalanır hale geliyor. Build klasörünü Publish klasörü olarak kullanan arkadaşlar için güzel kolaylık. (Yani duyuyoruz, yaptığımızdan değil)

In-Box Json Reader

Bu versiyon ile birlikte System.Text namespace i altına Json.Utf8JsonReader geliyor. Json.Net in reader ına göre 2 kat daha hızlı olacağı söyleniyor. İlk aşamada Json okuma (sequential access) desteği sunulacak, sonraki versiyonlarda Json yazma, DOM (random access), poco serializer, poco deserializer eklenecekmiş.

Bizler Newtonsoft ve Json.Net ile devam edeceğiz. Bu güncelleme web server tarafına özelleştirilmiş parser ve deserializer yazanlara hitap ediyor.

Index ve Range Sınıfları

Tatlı bir özellik. C# 8.0 ın yeniliklerinden bir tanesi.

İsimleri gayet açık ama kısaca bahsedelim. Genellikle int olarak tuttuğumuz index değerlerini artık Index tipinde tutabiliyoruz, dizinin başından veya sonundan başlayacak şekilde index tanımı yapabiliyoruz.

^ ile index değerinin sondan itibaren başlandığını belirtebiliyoruz.

Range ise iki Index kullanarak dizinin belirli bir kısmını ifade edebileceğiniz bir yapı. slice işlemi için örnek aşağıdaki gibi. a dizisi içerisinde i1 ve i2 Index leri arasını range ile alabiliyoruz.

Tiered Compilation

.NetCore 2.1 ile gelen ancak performans sorunları nedeniyle 2.2 de varsayılan olmaktan çıkarılan bu özellik şimdi tekrar varsayılan hale geliyor. Yapılan testler başlangıç zamanı ve uygulama performansının önemli ölçüde artırıldığını gösteriyor.

İstatistik İstatistik

Peki nedir Tiered Compilation?

Tiered Compilation, yazdığınız metotların .Net Framework ü tarafından farklı optimizasyon seviyelerinde derlenmesi demektir. Uygulama açılışında ve uygulama çalışırken metotların en performanslı olabilecek versiyonu Framework tarafından belirlenir ve çalıştırılır.

Kaynak

https://blogs.msdn.microsoft.com/dotnet/2018/12/04/announcing-net-core-3-preview-1-and-open-sourcing-windows-desktop-frameworks/

.Net Core, .NetCore 3, Development, Teknoloji