.Net Core Nedir ?

Selamlar,
Bu makalede son zamanlarda geçişlerin çok olduğu ve geliştiricilerin hayatına hızlı bir giriş yapan .Net Core teknolojisi hakkında konuşuyor olacağız.

.Net Core Nedir ?


.Net Core platformdan bağımsız olarak geliştirilebilen ve platform bağımsız olarak host edilebilen, Microsoft tarafından geliştirilen açık kaynak kodlu uygulama geliştirme patformudur.Platform bağımsız olmasından kasıt .Net Framework ile geliştirilen bir uygulama sadece Windows işletim sistemiüzerinden çalıştırılabiliyorken .Net Core ile geliştirilen uygulamar Windows ,MAC ,Linux işletim sistemlerinde de çalıştırılabilme imkanı sunmaktadır.Galiba bu hızlı geçişlerin önemli nedenlerinden birini şuan keşfetmiş olduk. Devam edelim 🙂
Hali hazırda .Net Framework ile uygulama geliştirmekte olan bir geliştiricinin“Neden .Net Framework’a geçmeliyim?”gibi bir soru sorması gayet normaldir.Gelin .Net Framework’a geçiş ile bizi .Net Framework’den geçişe ikna eden sebeblerimize bakalım.

.Net Core ve Özellikleri

  • Platform bağımsız olması
  • Açık kaynak olması
  • Net Core, cross platformdur.Bu da Net Core kullanılarak geliştirilen uygulamaların Windows dışındaki diğer işletim sistemlerinde de uygulamaları çalıştırabilme imkanı sunmaktadır
  • Uygulamalarda yüksek performans kazançları(EF Core üzerinde performans üzerinde ciddi çalışmaların yapılmış olması gözle görülen bir fark diyebilirim)
  • Modüler bir geliştirme yapısı sunması
  • React.js , Angular gibi teknolojiler ile uyumlu bir şekilde çalışması
  • Projenin derlenmesi,oluşturulması ve çalıştırması gibi bir çok işlemin
  • “Command Prompt” ile yapılabilmesi

MVC Nedir?


MCV ,ister Asp.Net Framework olsun ister Asp.Net Core iki teknolojide de çalıştırabileceğimiz, yönetimi kolay hale getiren modüler bir mimari desendir.
MVC ile projemizi Model,View ve Controller olarak katmanlara ayırmış oluruz.Böylelikle geliştirilmesi,yönetilmesi,test edilmesi daha kolay hale gelmiş olur.
.Net Core’un yukarıdaki saydığımız avantajları ile MVC‘nin yönetilebilirliği ve sürdürebilirliğini bir araya getirdiğimizde herkes çok daha mutlu 🙂

Model


Model ,MVC uygulamalarında veri katmanı olarak kullanılır. Uygulamanın verileri bu katmanda tutularak diğer katmanlardan ayrılır ve uygulama ilk parçaya bölünmüş olur. Bu katman genellikle ORM araçları (Entity Framework, Nhibernate vs ) ile oluşturulur.

View


View ,MVC projelerinde kullanıcının görmüş olduğu arayüz kısmıdır. Kullanıcı internet tarayıcısı üzerinden bir istek de bulunduğu anda kullanıcının karşısına çıkan sayfanın kodlamasıdır. sayfası buna bir örnektir.

Controller


Controller, MVC projelerinin merkez katmanıdır diyebiliriz.Sunucu taraflı kodlamaların tamamı bu katmanda gerçekleştirilir.
Bu katman View ve Model arasında köprü olarak görev yapar. Kullanıcı taleplerini alır ve Model katmanı ile iletişime geçerek gerekli Action’ı(Method ) çalıştırılır ve işlem sonucu View’a(Site Arayüzü) geri döndürülür.

Geliştirme Ortamları


MAC:Visual Studio Code,Visual Studio Enterprise,Visual Studio Community,Visual Studio Professional
Linux:Visual Studio Code
Windows:Visual Studio Code,Visual Studio Enterprise,Visual Studio Community,Visual Studio Professional

NOT:Kullandığınız Visual Studio sürümüne bağlı olarak.Net Core SDK’sını yüklemeniz gerekmektedir.

Şimdi gelin bir adet Asp.Net Core Mvc projesi oluşturalım ve proje yapısını inceleyelim.

Projede yapısını incelediğimizde JSON formatındaki dosyalar dikkat çekiyor. .NET Framework’ten aşina olduğumuz XML tabanlı web.config dosyası ve türevleri, Core projelerinde hem yapısal olarak, hem de içerik olarak değişmiş durumda.

Connected Service:Bu bölümde Azure servicelerine,WCF servislerine vs bağlanabiliriz.
wwwwroot:CSS,JS gibi kodlarımızın,statik resim ve dosyalarımızın bulunduğu yerdir.
Dependencies:Burada projemizin bağımlılıkları yer almaktadır.Birçok DLL Asp.Net Core içinde hazır olarak gelmektedir.
Properties:İçerinde launchSettings dosyası içerinde projemiz ile ilgili bilgileri barındırır.

appsettings:Projemizin settings dosyasıdır.Asp.Net Mvc projelerindeki Webconfig yerine gelmiştir.

Program.cs:Projemizin başladığı Main metodunun olduğu yerdir.

Startup

ConfigureServices:.Net Core içersinde herşey bir services mantığı ile çalışmaktadır.ConfigureServices metodunu kullanarak bu servis çağırımlarını yaparız.Örnek vermek gerekirse MCV’yi projemizde kullanmak için AddMvc();, session kullanmak için AddSession(); servislerini çağırıp projemizde bu servislerin ayağa kalkmasını sağlıyoruz. Bunun gibi bir çok servis çağırım söz konusu ilerleyen makalelerde detaylı bir giriş yapacağız.
Configure:Middleware çağırımlarını yapıyoruz.Örneğin UseAuthorization(); çağırımı request ve response arasında bir authentication kontrolünü devreye sokabilmemize yardımcı olan çağırımdır.
Middleware:Asp.net Core içerisinde request-response pipeline’ını handle etmemizi sağlayan bir çeşit interceptor görevi gören sınıflardır. Bu sınıfları kullanarak Controller metodunuza gelen request’leri veya response’ları modify edebilir, header check yapabilir yada authorization kontrollerini kolayca entegre edebiliriz.

NOT:Filter yapıları Asp.Net Core teknolojisinde de aynı Asp.Net Mvc projelerinde olduğunu gibi kullanılmaya devem edilmektedir.

Geldik bir makalenin daha sonuna. Bu makalemizde .Net Core üzerinde konuştuk avantajlarını ve proje yapısını incelemeye çalıştık.
Yeni bir makalede görüşmek üzere hoşçakalın.

BUNLAR DA HOŞUNUZA GİDEBİLİR...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir