ASP.NET tarafında uzun zamandır büyük bir değişiklik var, Web Forms’un yanına MVC kalıbının gelmesi, .NET Framework’ün yeni versiyonları çıktıkça MVC’nin daha popülerleşmesi, OWIN, WebAPI, SignalR falan derken, ASP.NET kavramı ilk çıktığı zamankinden çok farklı bir hal aldı. .NET Framework’ün açık kaynak olabilmesi için, ondan ortaya çıkan .NET Core ile ASP.NET 5 duyurulmuştu. Bulut için uygun, performans açısından daha gelişmiş ama aynı zamanda alt yapıdaki karmaşıklığın basitleştirildiği, WebAPI, MVC gibi kavramların tekilleştiği ve içerisinde daha bir çok geliştirmeyi barındıran bir alt yapı olarak kısa zamanda çok sık konuşulmaya başlandı. Bu arada .NET Core != .NET Framework yazımı hatırlatmak isterim. Yeni nesil .NET Core alt yapısının ne olduğu öğrenmek ya da hatırlamak isteyenler göz atabilir.

mass_confusionKısa zamanda, acaba geleneksel ASP.NET ölüyor mu, .NET Framework ne olacak gibi karmaşıklıklarda gündemde oldu. Komple yeni bir alt yapının, mevcut versiyon ağacından ASP.NET 5 diye ortaya çıkması bunun en büyük sebebi. Aynı şey Entity Framework 7 ile de olmuştu. EF 6’dan sonra, tüm alt yapıyı değiştirdik, *.edmx alt yapısını kaldırdık diye EF 7’yi duyurunca da kısa bir şaşkınlık olmuştu. Kısaca Microsoft bunu hep yapıyor… Ama hangimiz yapmıyor ki…

Hem bu kafa karmaşıklıklarını yok etmek, hem de gerçekten yeni bir alt yapı olduğu için Microsoft’daki meslektaşlarımız ASP.NET 5’in artık ASP.NET Core 1.0 olduğunu geçen ay duyurdu. Bununla ilgili Scott Hanselman‘nın duyurusundaki ilk giriş cümlesi de aslında olayı özetliyor. “Naming is hard”

Neyse…Bu isim değişikliğinden sonra yeni isimler aşağıdaki gibi oldu;

  • ASP.NET 5 –> ASP.NET Core 1.0.
  • .NET Core –> .NET Core 1.0.
  • Entity Framework 7 –> Entity Framework Core 1.0

Şu an mevcut Github içeriklerinde ya da tüm resmi sayfalarda da bu değişiklikler yayınlanmaya başladı. Bu isimlendirme değişikliğinden dolayı RTM tarihlerinde biraz değişiklik oldu dolayısıyla. Son tarihleri bilemiyoruz ama buradan roadmap’i takip edebilirsiniz.

aspnet-core

Bu isimlendirme değişikliklerinden önce, aslında paralel demek kafa karışıklığını biraz azaltır; dnx tarafında da bir değişiklik oldu. Yine DNX, DNVM,DNU neydi hatırlamak isteyenlere bu konuyla alakalı önceki yazımı tavsiye ederim. Yeni nesil .NET Core uygulamaları ve ASP.NET 5’i geliştirmek ve çalıştırmak için gerekli olan runtime ve bileşenleri(dnx,dnvm…) .NET Core Command-line şeklinde değişti ve tek dotnet komutu ile yeni nesil .NET Core uygulamaları çalıştırılabilir oldu. .NET Core Command-line(Core CLI) araçları olarak yeniden düzenlenen komutlar ASP.NET Core 1.0 RC2 ile dnx tarafının yerini alacak. Şimdilik öncesinde GitHub sitesinden de indirip kurabilirsiniz. Ya da http://dotnet.github.io/getting-started/ adresinden de ayrıntılı olarak başka bilgilere hatta docker imajına ulaşabilirsiniz.

Kısacası değişiklikler artarak devam ediyor. Bütün bu değişim içerisinde, bu yeni şeyleri kavramak, denemek oldukça zahmetli olabiliyor. Daha tam oturmamış olması, .NET Framework tarafında olup .NET Core tarafında desteklenmeyen namespace’ler olması biraz uğraştırıyor. Ama işin keyifli ve güzel yanlarından biri de bu değil mi? Son durumun özeti olması adına faydalı olduğunu düşünüyorum. Bir sonraki kafa karışıklığında görüşmek üzere 🙂