.Net Core

.NET Core, Microsoft tarafından sağlanan en son genel amaçlı geliştirme platformudur. 90’ların sonlarında .NET çerçevesi üzerine çalışmaya başlayan Microsoft, o dönemden bu yana muazzam bir dönüşüm gerçekleştirmiştir. Orijinal çerçeveyi bu denli tercih edilebilir kılan; geliştiricilere C#, C++ da dahil olmak üzere herhangi bir dilde uygulama yazma seçeneği sunan sınıf kitaplığının dahil edilmesidir.

.NET’de yazılan programlar, Common Language Runtime (CLR) adı verilen bir ekosistemde yürütülür. Bu bellek yönetimi, güvenlik ve özel bir yönetim sunan uygulama sanal makinesidir. Bu ekosistem .NET Framework ile çalışır. Ancak Microsoft, .NET Framework’te birçok değişiklik yaparak, .NET Core’u tanıtmıştır. .NET Framework’te bulunan ve yukarıda bahsedilen temel kavramların hepsi bu geliştirme platformunda da mevcuttur. Ancak, .NET Core ile gelen en büyük yenilik, kodun platformlar arasında paylaşılabilir olmasıdır.

.NET. Core, çeşitli platformlara dağıtılabilen bir kütüphane sağlar. Ayrıca, geliştiricilerin projeleri için gerekli olan araçları içe aktarmaya da olanak tanır. .NET Core Runtime, geliştiricilerin platformu geliştirmelerine yardımcı olur. Kod geliştiricilere sunucu ve bulut uygulamaları oluşturmaya yönelik tam destekli, açık kaynaklı, platformlar arası bir .NET yığını sağlar. Bu, derleyiciler, CLR ve çekirdek .NET temel sınıf kitaplıklarının yanı sıra üst düzey .NET web, API çerçeve ve verilerinden oluşur.

.NET Core Ne İşe Yarar?

Genel amaçlı bir yazılım geliştirme çerçevesi olduğunda .NET Core; web, masaüstü, bulut, oyun, IoT da dahil olmak üzere çok sayıda yazılım geliştirmeye yarar. Bu çerçeveyi kullanarak geliştirilen uygulamalar Linux, macOS ve Windows tarafından desteklenir. Aşağıda .NET Core’da yapabileceklerinin örneklerini bulabilirsin.

  • Mobil Uygulamalar: Xamarin, C# kullanarak platformlar arası mobil uygulamalar oluşturmaya yönelik bir dizi araç ve kitaplıktır. .NET Core ile paylaşılan bir .NET kod tabanında Xamarin’den de faydalanarak mobil uygulamalar oluşturabilirsin.
  • Web Uygulamaları: ASP.NET Core, .NET Core ekosisteminin temel bir bileşenidir. ASP.NET Core, web sayfalarını oluşturmaya yönelik bir çerçevedir. Bu çerçeve, MVC mimarisini temel alır ve Web’i oluşturmak için ortak kitaplıklar sağlar. Razor da C# ve TypeScript kullanarak dinamik web sayfaları oluşturmaya yönelik çalışan diğer bir çerçevedir. Bu çerçeveleri kullanarak .NET Core ile web uygulamaları geliştirebilirsin.
  • Masaüstü Uygulamalar: .NET Core, masaüstü uygulamaları oluşturmak için çeşitli çerçeve ve araçlar sağlar. Windows Forms, WPF, UWP ve Xamarin, bu platformun sunduğu dört ana çerçevedir. Ayrıca .NET Core, bu çerçevelerin birlikte çalışmasını da destekler.
  • Nesnelerin İnterneti: .NET Core, IoT Core çalıştırılan IoT cihazları için UWP çerçevesi aracılığıyla IoT geliştirmeyi destekler. UWP; Raspberry Pi, MinnowBoard MAX, DragonBoard 410c ve diğerleri tarafından desteklenen ve IoT üzerinden çalışan uygulamalar oluşturmak için kullanılabilir.
  • Bulut Uygulamalar: Bulut uygulamaların popülaritesi gittikçe artar. Azure de tüm bulut uygulamalarını destekler. .NET Core ve C# uygulamaları, Visual Studio aracılığıyla Azure’de dağıtılabilir.
  • Oyunlar: .NET Core’da kullanabileceğin Unity en popüler oyun geliştirme çerçevelerinden biridir. C# ve UWP mobil, masaüstü, konsol, TV, VR, AR ve Web oyunları geliştirmek için kullanılır.

.NET Core Avantajları Nelerdir?

.NET Core’un en büyük avantajı gerçek anlamda açık kaynaklı olması ve platformlar arası destek vermesidir. Bu platform, Microsoft’un ilk gerçek platformlar arası hizmeti olarak görülür. Dolayısıyla .NET Core’da yazılan kodun aynısının Windows ile birlikte Linux veya macOS’ta da çalışabiliyor olması geliştiricilere zaman ve kolaylık kazandırır. Aynı zamanda bu özellik, dağıtım ve ölçeklendirilebilirliği de kolaylaştırır. Bunların yanı sıra bu geliştirme platformu aşağıdaki avantajları da sağlar:

  • .NET Core’un performansı oldukça yüksektir. Özellikle Framework ile karşılaştırıldığında oldukça hızlı bir kullanım sunar. Birçok test, bu geliştirme platformunun diğerlerinden 8 kata kadar daha hızlı olduğunu söyler.
  • Eski çerçevelerden uzaklaşan .NET Core, günümüzün modern ihtiyaçlarını karşılamak üzere tasarlanmıştır. Önceki çerçevelerin aksine mobil uyumluluğu, bir kez oluşturulup tüm platformlarda çalıştırılabilmesi, ölçeklenebilir olmasıyla kolaylık sağlar.
  • Toplulukların katkısıyla sürekli olarak geliştirilmiştir. Bu da geliştiricilerin ihtiyacını tam anlamıyla karşılayan bir platform olmasını sağlamıştır. Öyle ki, GitHub’da farklı Microsoft depolarına 10.000’den fazla geliştirici katkıda bulunmuştur. İlginç olan da bunlardan sadece 105’inin Microsoft çalışanı olmasıdır.
  • Hem .NET Framework hem de .NET Core, mikro hizmet geliştirmeyi destekler.
  • Taşınabilirlik de Net.Core avantajları arasında sayılabilen bir özelliktir. Geliştirilen API veya uygulama başka bir konteynere hatta birkaç platforma taşınsa da sorunsuz çalışmaya devam eder. Bu sayede, geliştiriciler projelerinin üzerinde mekandan bağımsız olarak çalışmaya devam edebilir.

Referanslar
https://learn.microsoft.com/en-us/dotnet/core/introduction

4 thoughts on “.Net Core Nedir?

  1. .net core ile ilgili kafamda hiçbir soru işareti kalmadı, çok teşekkürler Fuat Bey, harika açıklamalarda bulunmuşsunuz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir