25 yıla yakın süredir profesyonel bir yazılımcı / bilgi işlemci / bilgisayar mühendisi olarak, bu soruya mühendislik yaklaşımı ile net bir cevap vermeye çalışacağım…
Microsoft .NET Core
teknolojisinin destek (support) süreleriyle ilgili bilgileri aşağıdaki adreste
(link) bulabilirsiniz:
https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core
Dikkat ederseniz,
çift rakamlı sürümlerin 3 yıllık desteği, tek rakamlı sürümlerin 1.5 yıllık
desteği mevcut ve Microsoft forumlarında, karşılaştığınız bir hatayla ilgili
soru sorup, destek istediğinizde, desteklenmeyen bir sürüm kullanıyorsanız, ilk
tavsiye ettikleri, desteklenen bir sürüme geçmeniz oluyor. Tabii, sürümler
arasında geçiş de maalesef çok rahat değil. Arada uyumsuzluklar mevcut.
Karşılaştırmak için
başka bir örnek verirsek, eski Microsoft .NET Framework teknolojisinin destek
süreleriyle ilgili bilgileri aşağıdaki adreste bulabilirsiniz:
https://learn.microsoft.com/en-us/lifecycle/products/microsoft-net-framework
.NET Framework 3.5 SP1’nın destek süresi neredeyse 21 yıl civarında ve bu yazının yazıldığı tarihte daha yaklaşık 4 yılı bulunmakta. Eski .NET Framework’ün en son sürümü olan 4.8.1’in ise destek başlangıcı 2022 yılı ve destek bitiş süresi belirtilmemiş. Burada ise bir sürpriz beklenmiyor ve en az 10 yıl, 2032’e kadar, hatta ötesine desteklenmesi bekleniyor. Bunun da sebebi, söylentilere göre, Microsoft kendi ürünlerinde (gerek kendi web siteleri ve SQL Server Management Studio gibi masaüstü uygulamalarda) yoğun olarak hala .NET Framework'u kullanmaya devam etmesi gösterilebilir.
.NET Framework’un
değil ama .NET Core’un direkt rakibi olan Java’nın destek süreleriyle ilgili
bilgileri aşağıdaki adreste bulabilirsiniz:
https://www.oracle.com/java/technologies/java-se-support-roadmap.html
Java’nın uzun
süreli destek (LTS – Long Term Support) sürümlerinin, .NET Framework kadar
olmasa da, 5 yıl gibi yeterli bir süreye sahip olduklarını görebiliyoruz. Java
sürümleri arası geçişlerin ise nispeten sorunsuz olduğu da bilinen bir gerçektir.
Yukarıdaki bilgiler ışığında, eğer ki elimde başlangıcından sonuna, 1 yıl ya da daha fazla sürecek, bir proje varsa, kesinlikle projenin sonunda tekrardan yükseltme gerekeceği ve sürümler arası uyumsuzluklar olduğu için, 1.5 yıl desteği olan tek rakamlı .NET Core sürümlerini tercih etmem. 3 yıl desteği olan çift rakamlı .NET Core sürümleri de daha uzun (2 – 2.5 yıl gibi) projeler için aynı sebeple uygun olmayacaktır. Bu konuda ise önerilerim aşağıdaki gibidir:
1.) Eğer ki uygulamalarınızı Windows ortamında çalıştıracaksanız, ilk tercihiniz .NET Framework 4.8.1 olmalı. 2032 yılına kadar, hatta ötesine Microsoft destek veriyor.
2.) Eğer ki uygulamalarınızın multi-platform olarak çalışmasını istiyorsanız, son tercihiniz .NET Core olmalı, çünkü Java en baştan beri .NET Core’dan farklı olarak multi-platform olarak tasarlanmıştır, sorunsuz bir şekilde birçok platformda çalışır. .NET Core ise .NET Framework baz alınarak multi-platform olması için geliştirmeye (yamanmaya da denebilir) başlanılmıştır. Ne kadar bu konuda başarılı olduğu ise, benim görüşüme göre, biraz tartışmalıdır.
Hiç yorum yok:
Yorum Gönder