Dotnet core microsoft ve .net yazılımcı toplulukları tarafından geliştirilen açık kaynak kodlu, genel amaçlı bir uygulama geliştirme platformudur. Çapraz platform desteği vardır: Windows, macOS ve Linux platformlarında ayrıca da cihaz, bulut ve gömülü sistemlerde kullanılabilmektedir.
Dotnet core sıfırdan tasarlanıp geliştirilmiş bir geliştirme platformudur.
Yazımızda microsoft’un yeni uygulama geliştirme platformunun uzun zamandır varolan klasik dotnet framework ile karşılaştırmasını yapacağız.
Dotnet Core’un Avantajları, Artıları
Dotnet core platformunun dotnet framework’e nazaran çeşitli güçlü yönleri bulunmaktadır.
Çapraz Platform (Cross-Platform):
Yazdığınız bir servis veya web uygulamasının farklı ortamlarda çalışabilmesini istiyorsanız, dotnet core’u seçmelisiniz. Uygulamanızın farklı işletim sistemlerde çalışmasını istemenizin pek çok sebebi olabilir. Daha çok kullanıcıya erişmek, sunucu performans ve maliyetleri, lisans maliyetleri gibi pek çok etken cross platform yazılım ve çatıları avantajlı hale getiriyor.
Her halukarda düşük geliştirme maliyeti ile bu özelliği desteklemesi dotnet core’u cazip kılan bir faktör.
Performans ve Ölçeklenebilirlik:
Dotnet core çatısında framework’e göre önemli oranda performans iyileştirmeleri yapıldı. Performans konusu ile ilgili olarak yapılan benchmarklara göz atılabilir.
Farklı geliştirme sitilleriyle yazılım geliştirilebilmesi:
Geliştiriciler, linux kullanıcılarının alışkın olduğu komut satırı araçlarını kullanarak kod derleyebilme, her türlü işlemi yapabilme, istediği scripti çalıştırabilme gibi becerilerini artık dotnet core’da da uygulayabilirler. .Net core, CLI dediğimiz komut satırı arayüzü ile çalışmaya uyumlu olacak şekilde tasarlanmış bir platform olması sayesinde sadece komut satırı kullanarak ve visual studio code gibi daha az kaynak harcayan editörler (IDE) ile kod yazma imkanı sunmaktadır.
Yazılımın Dağıtılması Konusunda Esneklik:
Dotnet core kurulum yapılan makinada mevcut olmasına gerek yok. Uygulama ile birlikte paketlenebilir. Kurulum yapılan makinada başka sürümler varsa da herhangi bir çakışma ve sorun olmadan çalışır.
Günümüz Microservice Yapılarına Daha Uygun Olması:
Microservice yapılarıyla birlikte kullanılan taşıyıcı (container) teknolojileriyle daha uyumlu olması. Dotnet Framework ile de container uyumlu uygulamalar geliştirilebilir fakat dotnet core’un daha modüler ve az kaynak kullanan bir yapısı olduğu için microservice mimarisine daha elverişli olduğu söylenebilir.
Dotnet Core’un Dezavantajları, Eksiklikleri
Geliştirmek istediğiniz uygulamanın özelliklerine göre bazı dezavantajlarından bahsetmek gerekebilir:
Kullandığınız üçüncü parti kütüphanelerin henüz dotnet core versiyonu üretilmemiş olabilir:
.Net core görece daha yeni bir çatı olduğu için, üçüncü parti kütüphane eksikliği olabilir. Kullandığınız ve olmazsa olmaz dediğiniz bir kütüphanenin core uyumlu versiyonu yoksa mecburen framework kullanmanız gerekebilecektir.
Masaüstü (desktop) uygulaması geliştirme imkanı henüz bulunmamaktadır:
.Net core ile windows forms veya wpf tabanlı bir masaüstü uygulaması geliştirilememektedir. Çapraz platform desteği olan bir gui çatısı oluşturmak çetrefilli bir iş olduğu için henüz bu işe destek verilememektedir. Bu konuyla ilgilenenler çapraz platfom desteği olan bir gui (graphical user interface) geliştirme kütüphanesi olan Avaloniaui isimli projeye bakabilirler.
Onun dışında bir web uygulaması (web sitesi, wcf, web api (rest)) veya bir konsol uygulamanız varsa, dotnet core ile pekala geliştirebilirsiniz.
Sonuç
Microsoft yeni platformuna büyük destek vermekte ve ben de şahsen geleceğinin parlak olduğunu düşünmekteyim.
C# gibi güzel bir dil ile çoklu platform desteği olan uygulamalar ve servisler geliştirmek yazılımcılara çok cazip gelmektedir..Net core sayesinde dotnet geliştiricileri artık herhangi bir platforma ve geliştirme ortamına bağımlı olmadan yazılım geliştirebileceklerdir.
merhaba içeriğinizi beğendim. teşekkür ederim. bu arada bilgileri değişen şartlara göre değerlendirip güncellerseniz harika olur.
Teşekkürler