Merhaba arkadaşlar,
Sizlere bugün uzun zamandır araştırdığım ve ilgi duyduğum bir konudan, .Net Core’dan bahsetmek istiyorum. Hitap ettiğim kitle şuan için başlangıç seviyesi olduğu için kodlama tarafına çok fazla girmeden genel yapısı , avantajları gibi konulardan bahsetmek istiyorum.
Bu arada .net Core ile yaptığım proje örneklerini incelemek isterseniz, buyurun linkler;
-AWS S3 ve .Net Core :
https://github.com/EnesAys/AwsS3-NetCore
-.Net core Web api- web client ile mongo db crud işlemleri : https://github.com/EnesAys/CoreAndMongoDB
-.Net core ile Gİthub Simple OAuth Authentication : https://github.com/EnesAys/OAuthExample
.Net Core son zamanlarda en popüler teknolojilerden birisi ve açıkçası bende bunu hak ettiğini düşünüyorum. Hem open source olarak çıkması hem en büyük avantajı olan cross platform destekli olması gibi özelliklerden dolayı günümüzde kullanımı hızla yükselmekte.Kısaca avantajlarından bahsetmem gerekirse;
- En büyük avantajı tabi ki cross platform olarak windows harici işletim sistemlerinde de çalışması.
- Open Source olması
- Mikroservis mimarisine kolay uyumu
- Docker gibi containerlar ile uyumlu olması
- Hızlı ve sürekli gelişen bir teknoloji olması
- Entity Framework Core
- RazorPage yapısı (Kısaca bir cshtml ve kodlama yapılan code behind dosyası. Onget/Onpost gibi methotlarla backend işlemleri yapılabiliyor. )
- .Net Core CLI
- Grunt, TypeScript, React.js, Angular.js gibi teknolojilerle entegrasyonu
- .Net Core Pipeline ve Middleware yapısı
- Konfigürasyon yapısı
Evet avantajları başlıca sıraladık fakat bu avantajlarla beraber .Net Standart teknolojisinden bahsetmezsek olmaz. .Net Standart, kısaca paketlerin ortak olarak sunulduğu bir api olarak tanımlanabilir. Asp .net Core 1.0 da geçişlerden en büyük sorun paketlerin uyumsuzluğuydu fakat .Net Standart 2.0 ile beraber
Nuget paketlerinin %70’i .Net Core uyumlu hale getirildi. Yani halihazırda olan projenizi .Net Core teknolojisine geçirmeye çalışırken artık muhtemelen paket problemi yaşamayacaksınız.
Şimdi .Net core hakkında biraz daha derinlemesine bilgiler vermek istiyorum. .Net Core’un yüksek performanslı ve hızlı olduğundan bahsetmiştik. Performans testlerimde .Net Framework 7’ye göre 2 ila 600 kat arasında daha hızlı olduğu tespit edilmiştir. (Collections, LINQ, Compression, Cryptograpgy, Math, Serialization, Text Processing, File System, Networking ve Concurrency gibi alanlarda testler gerçekleştirilmiş.)
Entity Framework Core içinde bazı özelliklerin eksik olması ile beraber projelerde kullanılan genel özellikleri karşıladığını ve gayet hızlı bir kullanım sunduğunu söyleyebilirim.
.Net Core CLI ise bize command line üzerinde visual studio da bulunan proje templatelerini oluşturmamızı sağlıyor. Genel olarak Visual Studio Code kullananlar için hızlı ve ideal bir yöntem. Örnek olarak ;
dotnet new console
code .
bu komut ile size bir .Net Core Console uygulaması oluşturulur ve VS Code içerisinde açılır.
.Net Core da paket yönetimi ve konfigürasyonlar json formatında yazılır buda hız ve esneklik anlamında bize yarar sağlayan özelliklerdendir.
Şimdi biraz daha kodlama yapısından bahsetmek istiyorum. Net Core’da sunucu ayarları, bağlantı limiti, port ayarı, ııs yada kestrel kullanımı gibi özellikler Program.cs sınıfı içinde yapılır.
Startup sınıfında ise kullanılacak servis ve yapılar belirtilerek, kullanım ayarları programa gösterilir. App.use, app. run gibi komutlarla middleware yapısı kullanılabilir.
Yararlı Linkler ve Kaynaklar
https://stackify.com/net-core-vs-net-framework/
https://pogsdotnet.blogspot.com/2017/11/microservices-picking-net-run-time-for.html
https://medium.com/codefiction/net-core-2-0-net-d%C3%BCnyas%C4%B1-k%C3%B6k%C3%BCnden-de%C4%9Fi%C5%9Fmeye-haz%C4%B1r-m%C4%B1-35e27e0c6e6a
https://www.tektutorialshub.com/middleware-request-pipeline-asp-net-core/
https://www.c-sharpcorner.com/article/difference-between-net-framework-and-net-core/
Evet arkadaşlar bir yazımın daha sonuna geldim. Size benim en heyecan duyduğum teknolojilerden birinden bahsetmeye, elimden geldiğince kısa tutmaya ve basitleştirmeye çalıştım, umarım faydası olmuştur. Yazılarım hakkında eleştirilerinizi her zaman bekliyorum. Bu arada unutmadan hepinize hayırlı bayramlar diliyorum. Kalın Sağlıcakla 😀