SlideShare une entreprise Scribd logo
1  sur  14
ASP.NET MVC => ASP.NET CORE MVC
Lightweight, Cross Platform, Open Source and more...
Sinan BOZKUŞ
sinan.bozkus@bilgeadam.com
- Microsoft tarafından geliştirilmiş, 27 Haziran 2016 tarihinde resmi olarak yayınlanmıştır.
- Windows, Linux ve Mac üzerinde çalışabilecek platform bağımsız (cross platform) uygulamalar geliştirebiliriz.
- Geliştirme ortamı için Visual Studio, Visual Studio Code veya Visual Studio for Mac tercih edebiliriz. Editör
bağımlılığı olmadığından istersek notepad üzerinde dahi geliştirme yapabiliriz.
- .NET Framework, Xamarin ve Mono ile uyumluluk (compatible) içerisindedir.
- Ücretsiz ve açık kaynaktır. Github üzerinden siz de katkıda bulunabiliriz.
https://github.com/dotnet
- .NET Foundation .NET’in gelişmesini ve yayılmasını sağlamak amacıyla
kurulan bir vakıftır. .NET Core’un çıkışıyla birlikte üyeleri arasında
Google, Samsung, Redhat gibi dev kuruluşlar da yer almaya başlamıştır.
.NET Core Nedir?
- Microsoft tarafından geliştirilen web framework’üdür. .NET Core alt yapısı üzerinde çalışır.
- Windows, Linux ve Mac üzerinde çalışabilecek platform bağımsız (cross platform) modern web uygulamaları
ve web servisler geliştirebiliriz.
- Geliştirme ortamı için Visual Studio, Visual Studio Code veya Visual Studio for Mac tercih edebiliriz. Editör
bağımlılığı olmadığından istersek notepad üzerinde dahi geliştirme yapabiliriz.
- Geliştirme esnasında .Net Framework (Full Framework) veya .NET Core alt yapısını tercih edebiliriz.
- Ücretsiz ve açık kaynaktır. Github üzerinden siz de katkıda bulunabiliriz.
https://github.com/aspnet
ASP.NET Core Nedir?
- Web uygulamamızdaki statik dosyalarımız wwwroot klasörü altında yer almaktadır.
- Dependencies altında uygulamamızın çalışması için gerekli olan bağımlılıklar yer
almaktadır. Bower ile client-side (bower.json), Nuget ile server-side paketlerin
(.csproj) kurulumu yapılmaktadır.
- Program.cs uygulamamızın başlangıç noktasıdır, uygulama buradan çalışmaya
başlar.
- Startup.cs uygulamamız ile ilgili konfigürasyonlar içerir.
- Bundleconfig.json içerisinde sıkıştırma (minify) yapacağımız css ve js dosyaları
tanımlanır.
Proje Dosyaları, Yapılandırma
- Projemizin başlangıç noktasıdır.
- WebHostBuilder nesnesine uygulamamızın
ihtiyacı olan en temel bileşenler eklenir ve
uygulama bu nesne üzerinden çalıştırılır.
Program.cs (.Net Core 2.0 öncesi)
.UseKestrel()
Uygulamanın Kestrel üzerinde çalışacağı belirtilmiştir.
.UseContentRoot(Directory.GetCurrentDirectory())
Uygulamanın çalışacağı dizin belirtilmiştir, GetCurentDirectory() ile
uygulamanın bulunduğu mevcut dizin alınmıştır.
.UseIISIntegration()
Uygulamanın Windows sunucusu üzerinde barındırılacağı ve IIS desteğinin
gerektiği belirtilmiştir.
.UseStartup<Startup>()
Uygulamanın çalışmaya başlaması için gerekli yapılandırmalar ve
çalıştıktan sonraki http isteklerinin işlenmesindeki yapılandırmalar
bu sınıf içerisinde (startup.cs) yapılır.
Program.cs (.Net Core 2.0 ve sonrası)
https://github.com/aspnet/Identity/blob/3008f76c0
37e683cbf95d4c3b0e11a9381800f25/samples/Iden
tityOIDCWebApplicationSample/MetaPackage/Web
Host.cs
- Uygulamamızda kullanacağımız servislerin kayıt edildiği metottur.
Çalışma zamanında (runtime) çalışır.
- Projemize ASP.NET MVC’yi burada kayıt ederiz.
- Dependency Injection tanımlamaları bu metot içerisinde yapılır.
Startup.cs - 1
- Uygulamamıza yapılacak HTTP istekleriyle ilgili
yapılandırmaların yapıldığı metottur.
- ConfigureServices içerisinde kayıt ettiğimiz ASP.NET
MVC’nin çalışmasını bu metot içerisinde sağlarız.
- Loglama, hata yakalama ve routing gibi
yapılandırmalar da bu metot içerisinden yapılır.
Startup.cs - 2
Html Helpers
- View içerisinde HTML içeriği oluşturmak için
kullanılan yardımcı metotlardır. Bu metotlar
çoğu zaman bir string döndürür.
- Razor yapısına uygun şekilde yazılır.
Tag Helpers
- Tag Helper desteği ASP.NET Core ile birlikte gelmiştir.
- Karmaşık yazımlar yerine Html’e basit bir şekilde uyum
sağlar.
Partial Views
- Bir kere yazıp tekrar tekrar kullanabiliriz.
- Partial Viewler kendi başlarına çalışamazlar. Sadece bir
View içerisinen çağırıldıkları zaman çalışabilirler.
- Kendilerine ait Controller vb. server-side bir kod blokları
yoktur.
- View dosyaları “Shared” klasörü altında tanımlanır.
View Components
- ASP.NET Core ile birlikte gelmiştir. ASP.NET Core içerisinde gelen
ViewComponent sınıfından miras alırlar.
- Partial View benzeri bir şekilde bir kez yazılıp tekrar tekrar
kullanılabilir. Partial View’e ek olarak kendi server-side kod blokları
vardır.
- Tanımlanırken adının sonuna “ViewComponent” eki eklenerek
tanımlanır.
- View dosyaları “/Shared/Components/
ComponentAdi/Default.cshtml” şeklinde tanımlanır.
- View ler içerisinde @Component.InvokeAsync(“ComponentAdi”
şeklinde çağırılırlar.
AppSettings
- Web.config dosyasına benzer yapıdadır.
- Web.config sadece Windows sunucu üzerinde çalışırken
appsettings dosyaları tüm platformlarda desteklenir.
- Başta connection string olmak üzere bir çok ayar
tanımlamalarımızı bu dosyalar üzerinde yapabiliriz.
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci

Contenu connexe

Similaire à ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci

Osman kurt & zahide aytar
Osman kurt & zahide aytarOsman kurt & zahide aytar
Osman kurt & zahide aytarOsman Kurt
 
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik Desteği
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik DesteğiASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik Desteği
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik DesteğiAli İhsan Çalışkan
 
Temel Düzeyde Visual Studio Eğitimleri
Temel Düzeyde Visual Studio EğitimleriTemel Düzeyde Visual Studio Eğitimleri
Temel Düzeyde Visual Studio EğitimleriUniverist
 
Java Web Uygulama Geliştirme
Java Web Uygulama GeliştirmeJava Web Uygulama Geliştirme
Java Web Uygulama Geliştirmeahmetdemirelli
 
İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21Cihan Özhan
 
Windows Azure ile Cloud Computing Uygulamaları - 6
Windows Azure ile Cloud Computing Uygulamaları - 6Windows Azure ile Cloud Computing Uygulamaları - 6
Windows Azure ile Cloud Computing Uygulamaları - 6İbrahim ATAY
 
Windows Azure ile Cloud Computing Uygulamaları - 4
Windows Azure ile Cloud Computing Uygulamaları - 4Windows Azure ile Cloud Computing Uygulamaları - 4
Windows Azure ile Cloud Computing Uygulamaları - 4İbrahim ATAY
 
Developer Tools
Developer ToolsDeveloper Tools
Developer ToolsBurak Erol
 
Javascript - from past to present
Javascript - from past to present Javascript - from past to present
Javascript - from past to present Kubilay TURAL
 
Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010bykezza
 
F5 dergisi
F5 dergisiF5 dergisi
F5 dergisifatos11
 
Neden Backbone.js'ten AngularJS'e Geçtik?
Neden Backbone.js'ten AngularJS'e Geçtik?Neden Backbone.js'ten AngularJS'e Geçtik?
Neden Backbone.js'ten AngularJS'e Geçtik?Omer Buyukoglu
 

Similaire à ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci (20)

sunu (Asp.net -1)
sunu (Asp.net -1)sunu (Asp.net -1)
sunu (Asp.net -1)
 
Osman kurt & zahide aytar
Osman kurt & zahide aytarOsman kurt & zahide aytar
Osman kurt & zahide aytar
 
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik Desteği
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik DesteğiASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik Desteği
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik Desteği
 
Temel Düzeyde Visual Studio Eğitimleri
Temel Düzeyde Visual Studio EğitimleriTemel Düzeyde Visual Studio Eğitimleri
Temel Düzeyde Visual Studio Eğitimleri
 
Primeface
PrimefacePrimeface
Primeface
 
Node js giriş (intro)
Node js giriş (intro)Node js giriş (intro)
Node js giriş (intro)
 
12factor apps
12factor apps12factor apps
12factor apps
 
Java Web Uygulama Geliştirme
Java Web Uygulama GeliştirmeJava Web Uygulama Geliştirme
Java Web Uygulama Geliştirme
 
İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21
 
Windows Azure ile Cloud Computing Uygulamaları - 6
Windows Azure ile Cloud Computing Uygulamaları - 6Windows Azure ile Cloud Computing Uygulamaları - 6
Windows Azure ile Cloud Computing Uygulamaları - 6
 
Windows Azure ile Cloud Computing Uygulamaları - 4
Windows Azure ile Cloud Computing Uygulamaları - 4Windows Azure ile Cloud Computing Uygulamaları - 4
Windows Azure ile Cloud Computing Uygulamaları - 4
 
Liferay
LiferayLiferay
Liferay
 
Tizen
TizenTizen
Tizen
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Developer Tools
Developer ToolsDeveloper Tools
Developer Tools
 
Javascript - from past to present
Javascript - from past to present Javascript - from past to present
Javascript - from past to present
 
Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010
 
F5 dergisi
F5 dergisiF5 dergisi
F5 dergisi
 
Web development
Web developmentWeb development
Web development
 
Neden Backbone.js'ten AngularJS'e Geçtik?
Neden Backbone.js'ten AngularJS'e Geçtik?Neden Backbone.js'ten AngularJS'e Geçtik?
Neden Backbone.js'ten AngularJS'e Geçtik?
 

ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci

  • 1. ASP.NET MVC => ASP.NET CORE MVC Lightweight, Cross Platform, Open Source and more... Sinan BOZKUŞ sinan.bozkus@bilgeadam.com
  • 2. - Microsoft tarafından geliştirilmiş, 27 Haziran 2016 tarihinde resmi olarak yayınlanmıştır. - Windows, Linux ve Mac üzerinde çalışabilecek platform bağımsız (cross platform) uygulamalar geliştirebiliriz. - Geliştirme ortamı için Visual Studio, Visual Studio Code veya Visual Studio for Mac tercih edebiliriz. Editör bağımlılığı olmadığından istersek notepad üzerinde dahi geliştirme yapabiliriz. - .NET Framework, Xamarin ve Mono ile uyumluluk (compatible) içerisindedir. - Ücretsiz ve açık kaynaktır. Github üzerinden siz de katkıda bulunabiliriz. https://github.com/dotnet - .NET Foundation .NET’in gelişmesini ve yayılmasını sağlamak amacıyla kurulan bir vakıftır. .NET Core’un çıkışıyla birlikte üyeleri arasında Google, Samsung, Redhat gibi dev kuruluşlar da yer almaya başlamıştır. .NET Core Nedir?
  • 3. - Microsoft tarafından geliştirilen web framework’üdür. .NET Core alt yapısı üzerinde çalışır. - Windows, Linux ve Mac üzerinde çalışabilecek platform bağımsız (cross platform) modern web uygulamaları ve web servisler geliştirebiliriz. - Geliştirme ortamı için Visual Studio, Visual Studio Code veya Visual Studio for Mac tercih edebiliriz. Editör bağımlılığı olmadığından istersek notepad üzerinde dahi geliştirme yapabiliriz. - Geliştirme esnasında .Net Framework (Full Framework) veya .NET Core alt yapısını tercih edebiliriz. - Ücretsiz ve açık kaynaktır. Github üzerinden siz de katkıda bulunabiliriz. https://github.com/aspnet ASP.NET Core Nedir?
  • 4. - Web uygulamamızdaki statik dosyalarımız wwwroot klasörü altında yer almaktadır. - Dependencies altında uygulamamızın çalışması için gerekli olan bağımlılıklar yer almaktadır. Bower ile client-side (bower.json), Nuget ile server-side paketlerin (.csproj) kurulumu yapılmaktadır. - Program.cs uygulamamızın başlangıç noktasıdır, uygulama buradan çalışmaya başlar. - Startup.cs uygulamamız ile ilgili konfigürasyonlar içerir. - Bundleconfig.json içerisinde sıkıştırma (minify) yapacağımız css ve js dosyaları tanımlanır. Proje Dosyaları, Yapılandırma
  • 5. - Projemizin başlangıç noktasıdır. - WebHostBuilder nesnesine uygulamamızın ihtiyacı olan en temel bileşenler eklenir ve uygulama bu nesne üzerinden çalıştırılır. Program.cs (.Net Core 2.0 öncesi) .UseKestrel() Uygulamanın Kestrel üzerinde çalışacağı belirtilmiştir. .UseContentRoot(Directory.GetCurrentDirectory()) Uygulamanın çalışacağı dizin belirtilmiştir, GetCurentDirectory() ile uygulamanın bulunduğu mevcut dizin alınmıştır. .UseIISIntegration() Uygulamanın Windows sunucusu üzerinde barındırılacağı ve IIS desteğinin gerektiği belirtilmiştir. .UseStartup<Startup>() Uygulamanın çalışmaya başlaması için gerekli yapılandırmalar ve çalıştıktan sonraki http isteklerinin işlenmesindeki yapılandırmalar bu sınıf içerisinde (startup.cs) yapılır.
  • 6. Program.cs (.Net Core 2.0 ve sonrası) https://github.com/aspnet/Identity/blob/3008f76c0 37e683cbf95d4c3b0e11a9381800f25/samples/Iden tityOIDCWebApplicationSample/MetaPackage/Web Host.cs
  • 7. - Uygulamamızda kullanacağımız servislerin kayıt edildiği metottur. Çalışma zamanında (runtime) çalışır. - Projemize ASP.NET MVC’yi burada kayıt ederiz. - Dependency Injection tanımlamaları bu metot içerisinde yapılır. Startup.cs - 1
  • 8. - Uygulamamıza yapılacak HTTP istekleriyle ilgili yapılandırmaların yapıldığı metottur. - ConfigureServices içerisinde kayıt ettiğimiz ASP.NET MVC’nin çalışmasını bu metot içerisinde sağlarız. - Loglama, hata yakalama ve routing gibi yapılandırmalar da bu metot içerisinden yapılır. Startup.cs - 2
  • 9. Html Helpers - View içerisinde HTML içeriği oluşturmak için kullanılan yardımcı metotlardır. Bu metotlar çoğu zaman bir string döndürür. - Razor yapısına uygun şekilde yazılır.
  • 10. Tag Helpers - Tag Helper desteği ASP.NET Core ile birlikte gelmiştir. - Karmaşık yazımlar yerine Html’e basit bir şekilde uyum sağlar.
  • 11. Partial Views - Bir kere yazıp tekrar tekrar kullanabiliriz. - Partial Viewler kendi başlarına çalışamazlar. Sadece bir View içerisinen çağırıldıkları zaman çalışabilirler. - Kendilerine ait Controller vb. server-side bir kod blokları yoktur. - View dosyaları “Shared” klasörü altında tanımlanır.
  • 12. View Components - ASP.NET Core ile birlikte gelmiştir. ASP.NET Core içerisinde gelen ViewComponent sınıfından miras alırlar. - Partial View benzeri bir şekilde bir kez yazılıp tekrar tekrar kullanılabilir. Partial View’e ek olarak kendi server-side kod blokları vardır. - Tanımlanırken adının sonuna “ViewComponent” eki eklenerek tanımlanır. - View dosyaları “/Shared/Components/ ComponentAdi/Default.cshtml” şeklinde tanımlanır. - View ler içerisinde @Component.InvokeAsync(“ComponentAdi” şeklinde çağırılırlar.
  • 13. AppSettings - Web.config dosyasına benzer yapıdadır. - Web.config sadece Windows sunucu üzerinde çalışırken appsettings dosyaları tüm platformlarda desteklenir. - Başta connection string olmak üzere bir çok ayar tanımlamalarımızı bu dosyalar üzerinde yapabiliriz.