Altbilgi içeriğine atla
Iron Academy Logo
C# Çerçevesi

.NET Sürümlerini Anlamak: .NET Core, .NET Standard, .NET Framework ve Daha Fazlası

Tim Corey
1h 25s

.NET ekosisteminde .NET, .NET SDK, .NET Core, .NET Standard, ve .NET Framework gibi terimlerle gezinmek kafa karıştırıcı olabilir. Bunların her biri, Visual Studio 2022 kullanarak C# geliştirme ortamında benzersiz bir rol oynar ve projeleriniz için doğru hedef çerçeveyi seçmek önemlidir.

Tim Corey'nin ".NET Sürümünü Anlamak - .NET, .NET Core, .NET Standard, .NET Framework ve daha fazlası" videosuna dayanan bu makale, bu terimleri basitleştirmeyi ve ne zaman ve ne kullanılması gerektiği konusunda net rehberlik sağlamayı amaçlıyor.

Niçin .NET Core Var Olmalıydı

.NET Framework, genellikle sadece .NET olarak adlandırılır ve yazılım geliştirme ile masaüstü uygulamaları çalıştırma konusunda yirmi yıldan fazla bir süredir temel oluşturmuştur. Ancak, sınırlamaları .NET Core'un oluşturulmasını gerektirdi. Tim Corey, birkaç anahtar nedeni vurguluyor:

  1. Yamalar ve Geçici Çözümler: Zamanla, .NET Çerçevesi sayısız yama ve geçici çözüm biriktirdi, bu da onu önemli ölçüde yavaşlattı (1:35).

  2. Windows Bağımlılığı: .NET Çerçevesi, Windows ile derinden entegre olmuştur, bu da diğer platformlarda kullanımı zorlaştırır. Bu bağımlılık, platformlar arası geliştirmeyi engelledi (2:03).

  3. Monolitik Tasarım: .NET Framework, her şeyi tek bir pakette içerecek şekilde tasarlandı, bu kullanışlı olsa da şişkin ve daha az verimli bir sistemle sonuçlandı (2:25).

  4. Eski Konsept: .NET Framework, modern internet ve mobil kullanımı göz önünde bulundurularak tasarlanmadığı için, 20 yıldan fazla bir süre önce geliştirildi (3:20).

.NET Uygulamalarının Yapısı

.NET Core'un faydalarını anlamak için, bir .NET uygulamasının nasıl yapılandırıldığını kavramak önemlidir.

Understanding Dotnet Versions 1 related to .NET Uygulamalarının Yapısı

Tim Corey şöyle açıklıyor:

  1. C# Kaynak Kodu: C# kodunuz ilk olarak Ara Dil (IL) koduna derlenir (5:49).

  2. Ortak Dil Çalıştırma Ortamı (CLR): Ardından IL kodu CLR tarafından yürütülür. .NET Framework ve .NET Core farklı CLR'lere sahiptir, ancak IL kodunu benzer şekilde işlerler, bu da kaynak kodunuzun büyük bir kısmının her iki platformda da aynı kalmasını sağlar (6:42).

.NET Framework Üzerinde .NET Core'un Avantajları

.NET Core çalışma zamanı, .NET Framework'ün eksikliklerini gidermek için geliştirilmiş bir üretim çerçevesidir. Tim Corey, temel faydalarını vurguluyor:

  1. Çoklu Platform Uyumu: .NET Framework'ün aksine, .NET Core, Windows, Mac, Linux, Android, iOS, Xbox, IoT ve daha fazlası dahil olmak üzere birden fazla platformda çalışacak şekilde tasarlanmıştır.

  2. Performans: .NET Core, önemli performans iyileştirmeleri sunar. Eski yamaları ortadan kaldırır ve modern donanım ve yazılım uygulamalarını destekler, bu da .NET Framework'ten daha hızlı olmasını sağlar.

  3. Modülerlik: .NET Core, geliştiricilere yalnızca gerekli bileşenleri dahil etme imkanı sunarak yükü azaltır ve verimliliği artırır.

  4. Modern Özellikler: .NET Core, kutudan çıkan daha modern özelliklerle gelir, bunlar arasında dahili bağımlılık enjeksiyonu ve günlük kaydı gibi, geliştirmede en iyi uygulamaları teşvik eden özellikler bulunur.

  5. Açık Kaynak: .NET Core açık kaynaktır, bu da topluluk katkılarını ve geliştirmede şeffaflığı teşvik eder.

  6. Endüstri Standartlarıyla Uyumlu: .NET Core, modern teknolojilerle uyumlu ve entegrasyon sağlayan endüstri standartlarına uyar. .NET Framework ise sadece Windows ortamlarıyla sınırlıdır.

  7. Kolay Yükseltilebilir: .NET Core'un yükseltilmesi genellikle oldukça basittir, genellikle sadece sürüm numaralarında yapılan değişiklikler ve NuGet paketlerinin güncellenmesi yeterlidir. Microsoft'un yükseltme sürecindeki kısmı ise basitleştirilmiştir, .NET Framework ile kıyaslandığında daha az kırılma değişikliği içerir, tarihi olarak daha karmaşık ve sorunlu yükseltmeleri içerir.

.NET Standard

Tim, .NET Standard'ın, tüm .NET platformlarının uygulaması gereken bir grup API'yi tanımlayan bir spesifikasyon olduğunu ve sadece bir çalışma zamanı olmadığını açıklar. Bu, farklı .NET uygulamaları arasında kod uyumluluğunu sağlayarak tek tip bir API sunar. Bu, hem .NET Core hem de .NET Framework ile çalışan kütüphaneler yazabileceğiniz anlamına gelir. 33:35'te, Tim, .NET Standard'ın şu ana kadar olan tüm sürümlerini tartışır. Özet, ekran görüntüsünde aşağıda verilmiştir:

Understanding Dotnet Versions 2 related to .NET Standard

.NET Sürümlerinin Detaylı Açılımı

.NET Framework Zaman Çizelgesi

.NET Framework, 2000'lerin başından beri var ve Windows ile sıkı bir şekilde entegre edilmiştir. Windows masaüstü ve web uygulamaları inşa etmek için uygundur ancak çoklu platform yetenekleri açısından sınırlıdır.

.NET Framework 1.0 (Ocak 2002)

Tim Corey, .NET Framework 1.0'ın ilk sürümünü, farklı programlama dillerinin birlikte çalışabilmesine imkan tanıyan ortak bir ara dil konseptini tanıtarak devrim niteliğinde olduğunu tanımlıyor (40:07). Bu temel sürüm, çeşitli diller için birleşik bir platform sunarak gelecekteki gelişim için zemin hazırladı.

.NET Framework 2.0 (Ekim 2005)

Üç yıl sonra piyasaya sürülen .NET Framework 2.0, önemli iyileştirmeler ve yeni özellikler getirerek platformun büyümesini sürdürdü (41:40). Bu sürüm, geliştirilmiş dil özellikleri ve daha geniş bir uygulama yelpazesi için destek sağlamasıyla dikkat çekti.

Önemli Güncellemeler:

  • Kasım 2006: .NET Framework 3.0 tanıtıldı (41:43).

  • Kasım 2007: Önemli bir dönüm noktası olan .NET Framework 3.5 piyasaya sürüldü (41:49).

  • Nisan 2010: Son büyük sürüm olan .NET Framework 4.0 çıktı (42:13).

  • Ağustos 2012: .NET Framework 4.5 piyasaya sürüldü (42:50).

  • Nisan 2019: Son küçük sürüm olan .NET Framework 4.8 piyasaya sürüldü (47:17).

.NET Core Sürümleri

.NET Core 1.0 (Haziran 2016)

Tim Corey, .NET Core 1.0'ı sınırlı işlevsellikte bir kavram kanıtı olarak tanımlar, .NET Core'un potansiyelini göstermek amacıyla geliştirilmiştir (43:32). Bu ilk sürüm temel atarken, sınırlı özellikleri nedeniyle geniş çapta benimsenmemiştir.

.NET Core 2.0 (Ağustos 2017)

Daha fazla özellikli bir güncelleme olarak piyasaya sürülen .NET Core 2.0, özellikle web uygulama geliştirme alanında önemli ilerlemeler içerdi (45:23). Ancak, bir LTS sürümü değildi ve Tim, daha sonra daha istikrarlı bir sürümün piyasaya sürülmesine neden olan kırılma değişiklikleri içerdiğini vurgular.

.NET Core 2.1 (Mayıs 2018)

.NET Core 2.1, kuruluşlar için istikrar ve uzun süreli destek ihtiyacı olan işletmeler için önemlidir (45:42). Tam üretim kullanımı için uygun hale getirilmiş önemli bir güncellemeydi.

.NET Core 3.0 (Eylül 2019)

.NET Core 3.0, WinForms ve WPF gibi masaüstü uygulamalarına destek getirdi, web uygulamaları dışında kullanımını genişletti (53:04). Bu sürüm, .NET Core'un daha kapsamlı bir platform olmasını sağlayarak işletmeleri .NET Framework'ten geçiş yapmaya teşvik etti.

.NET Core 3.1 (Aralık 2019)

3.0'in üzerine inşa edilen .NET Core 3.1, masaüstü ve web uygulamaları için sürekli destek ve istikrar sağlayan bir diğer LTS sürümüydü (53:16). Tim, bu sürümün .NET Core'un iş kullanımı için yeterli ve güvenilir kabul edildiği bir nokta olarak olduğunu ifade eder.

.NET 5 ve Sonrası

.NET 5.0 (Kasım 2020)

.NET 5'in piyasaya sürülmesiyle, Microsoft, isimdeki 'Core' kelimesini çıkararak markalaşmayı basitleştirdi (58:03). Tim, bu değişikliğin .NET Framework ve .NET Core arasındaki kafa karışıklığını azaltmayı hedeflediğini açıklar. .NET 5, .NET ekosistemini tek bir isim altında birleştirme yönünde büyük bir adımı temsil eder.

.NET 6.0 (Kasım 2021)

.NET 6, .NET 5 ile başlatılan yıllık sürüm döngüsünü sürdürdü (59:56). Tim, .NET 6 dahil olmak üzere her yeni sürümün yıllık güncelleme ritminin bir parçası olduğunu ve bu sayede düzenli iyileştirmeler ve özellik eklemelerinin sağlandığını not eder.

.NET 7.0 (Kasım 2022)

.NET 7 yıllık sürüm düzenini takip ederek platformu daha da geliştirerek küçük güncellemeler ve iyileştirmeler sundu (59:56). Tim, bu sürümün ve seleflerinin, Microsoft'un .NET ekosisteminde sürekli geliştirme ve yenilik taahhüdünü nasıl yansıttığını tartışıyor.

Understanding Dotnet Versions 3 related to .NET 5 ve Sonrası

.NET Sürümlerini ve Destek Döngüsünü Anlamak

Tim Corey (1:01:27) itibarıyla .NET sürümleri ve onların destek döngüsü hakkında detaylı bir açıklama yapar. İşlenen ana noktaların özeti aşağıda verilmiştir:

Destek Döngüsü: STS vs. LTS

Tim Corey, iki tür destek penceresi arasındaki farkı açıklar: Standart Süreli Destek (STS) ve Uzun Süreli Destek (LTS).

  • STS (Standart Süreli Destek): 18 aylık bir destek penceresi sağlar. Örneğin, Kasım 2020'de piyasaya sürülen .NET 5, Mayıs 2022'ye kadar desteklendi. Kasım 2022'de piyasaya sürülen .NET 7, Mayıs 2024'te sona eren benzer bir 18 aylık destek penceresine sahiptir.

  • LTS (Uzun Süreli Destek): 3 yıllık daha uzun bir destek penceresi sunar. Kasım 2021'de çıkan .NET 6, Kasım 2024'e kadar desteklenir. Kasım 2023'te piyasaya sürülmesi planlanan .NET 8, Kasım 2026'ya kadar destek sağlayacak bir sonraki LTS sürümü olacak.

Tim, hızlı hareket eden uygulama geliştiricilerinin en son özelliklere erişmek için STS sürümlerini tercih edebileceğini ancak şirketlerin istikrar ve daha uzun destek için genellikle LTS sürümlerini tercih ettiğini belirtir.

Yükseltme Yolu ve Sürüm Çıkışları

Tim Corey, .NET sürümleri için yükseltme yolunu özetler:

  • .NET 5'ten .NET 6'ya: Her iki sürümün de desteklendiği bir yıllık bir örtüşme süreniz var.

  • .NET 6'dan .NET 8'e: .NET 6'nın desteği bitmeden önce .NET 8'e yükseltmek için tam bir yıla sahip olacaksınız.

  • Gelecek Yükseltmeler: Bu düzeni takip ederek, .NET 8 (şu anda en son sürümü) .NET 10 gelene kadar desteklenecek, size yükseltmek için bolca zaman sunacak.

Tim, bu öngörülebilir sürüm döngüsünün firmaların yükseltme planlarını oluşturmasına güvenle olanak tanıdığını vurgular.

Understanding Dotnet Versions 4 related to Yükseltme Yolu ve Sürüm Çıkışları

Microsoft'un Destek Stratejisi

Tim, Microsoft'un destek ve geliştirme yaklaşımını tartışır:

  • Maliyet ve Karmaşıklık: Eski sürümler için desteği uzatmak, birden fazla sürümde güvenlik güncellemelerini sürdürme ihtiyacı nedeniyle pahalıya ve karmaşık hale gelebilir. Bu nedenle, Microsoft daha öngörülebilir ve yönetilebilir bir destek stratejisi benimsemiştir.

  • Modüler Çerçeve: .NET Core ve .NET'in modüler yaklaşımı, hızlı özellik güncellemeleri ve daha yönetilebilir bir destek döngüsü sağlar.

.NET Framework ve .NET Core Arasında Seçim Yapmak

Tim Corey, farklı .NET sürümlerini ne zaman kullanmaları gerektiği konusunda tavsiye verir:

  • .NET Framework: Mevcut projeler için veya Windows XP gibi eski işletim sistemlerini desteklemek gerektiğinde kullanın.

  • .NET Core (şimdi .NET): Yeni projeler için, .NET'in en son sürümü ile başlayın. .NET Framework'ün eski sürümlerinden .NET'e yükseltme yapmak önemli performans iyileştirmeleri sunabilir.

ASP.NET ve ASP.NET Core

Tim, ASP.NET ve ASP.NET Core arasındaki farkları açıklar:

  • ASP.NET: .NET Framework üzerine kurulu ve Web Forms, MVC ve Web API'yi destekler. Özellikle Web Forms, ASP.NET Core içinde yer almaz.

  • ASP.NET Core: .NET Core üzerinde web uygulamaları geliştirmek için modüler bir çerçevedir. Razor Pages, MVC, API, Blazor Server ve Blazor WebAssembly içerir. ASP.NET Core, selefine göre daha esnek ve modern olacak şekilde tasarlanmıştır.

Tim, 1:21:00'de ASP.NET Core'un yeni özellikler ve daha fazla modülerlikle web geliştirmeye destek vermeye devam ettiğini, ASP.NET (Framework)'in ise daha geleneksel olduğunu ve daha eski .NET sürümleriyle sınırlı olduğunu açıklıyor.

Sonuç

Tim Corey, .NET Framework'ün tarihi bağlamından .NET Core'un modern yeteneklerine ve ötesine kadar uzanan .NET ekosisteminde gezinmek için açık ve içgörülü bir rehber sunar. Onun videosu, .NET sürümlerinin evrimini, .NET Core'un gerekliliğini ve modülerlik ve platformlar arası uyumluluğun faydalarını açıklıyor. .NET Framework ve .NET Core arasında seçim yaparken veya çeşitli .NET sürümlerinin destek yaşam döngüsünü anlamaya çalışırken, Tim'in açıklamaları bilgilendirilmiş geliştirme kararları vermek için değerli bir yol haritası sunar.

Daha derinlemesine tartışmalar ve pratik kodlama örnekleri için, Tim Corey'nin YouTube kanalını, IAmTimCorey ziyaret ettiğinizden emin olun.

Hero Worlddot related to .NET Sürümlerini Anlamak: .NET Core, .NET Standard, .NET Framework ve Daha Fazlası
Hero Affiliate related to .NET Sürümlerini Anlamak: .NET Core, .NET Standard, .NET Framework ve Daha Fazlası

Sevdiğiniz Şeyleri Paylaşarak Daha Fazla Kazanın

.NET, C#, Java, Python veya Node.js üzerinde çalışan geliştiriciler için içerik oluşturuyor musunuz? Uzmanlığınızı ek gelire dönüştürün!

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara