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

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
1 of 14

Recommended

ASP.NET MVC'den ASP.NET Core'a Geçiş by
ASP.NET MVC'den ASP.NET Core'a GeçişASP.NET MVC'den ASP.NET Core'a Geçiş
ASP.NET MVC'den ASP.NET Core'a GeçişSinan Bozkuş
331 views17 slides
Funda gürbüz ceit 418 by
Funda gürbüz ceit 418Funda gürbüz ceit 418
Funda gürbüz ceit 418fundagurbuz
244 views16 slides
Funda gürbüz ceit 418 by
Funda gürbüz ceit 418Funda gürbüz ceit 418
Funda gürbüz ceit 418fundagurbuz
196 views16 slides
Gradle ile Proje Insası by
Gradle ile Proje InsasıGradle ile Proje Insası
Gradle ile Proje InsasıÖmer ÖZKAN
7K views27 slides
Kurumsal Java & Web Teknolojileri by
Kurumsal Java & Web Teknolojileri Kurumsal Java & Web Teknolojileri
Kurumsal Java & Web Teknolojileri Ömer ÖZKAN
3.5K views27 slides
Git ile Sürüm Takibi by
Git ile Sürüm TakibiGit ile Sürüm Takibi
Git ile Sürüm TakibiÖmer ÖZKAN
9.6K views53 slides

More Related Content

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

sunu (Asp.net -1) by
sunu (Asp.net -1)sunu (Asp.net -1)
sunu (Asp.net -1)Merve Aydın
1.2K views33 slides
Osman kurt & zahide aytar by
Osman kurt & zahide aytarOsman kurt & zahide aytar
Osman kurt & zahide aytarOsman Kurt
489 views39 slides
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik Desteği by
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
1.3K views22 slides
Temel Düzeyde Visual Studio Eğitimleri by
Temel Düzeyde Visual Studio EğitimleriTemel Düzeyde Visual Studio Eğitimleri
Temel Düzeyde Visual Studio EğitimleriUniverist
5.1K views64 slides
Primeface by
PrimefacePrimeface
Primefaceserserox
1.5K views12 slides
Node js giriş (intro) by
Node js giriş (intro)Node js giriş (intro)
Node js giriş (intro)Hasan Sungur Bilgen
420 views11 slides

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

sunu (Asp.net -1) by Merve Aydın
sunu (Asp.net -1)sunu (Asp.net -1)
sunu (Asp.net -1)
Merve Aydın1.2K views
Osman kurt & zahide aytar by Osman Kurt
Osman kurt & zahide aytarOsman kurt & zahide aytar
Osman kurt & zahide aytar
Osman Kurt489 views
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik Desteği by Ali İhsan Çalışkan
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 by Univerist
Temel Düzeyde Visual Studio EğitimleriTemel Düzeyde Visual Studio Eğitimleri
Temel Düzeyde Visual Studio Eğitimleri
Univerist5.1K views
Primeface by serserox
PrimefacePrimeface
Primeface
serserox1.5K views
Java Web Uygulama Geliştirme by ahmetdemirelli
Java Web Uygulama GeliştirmeJava Web Uygulama Geliştirme
Java Web Uygulama Geliştirme
ahmetdemirelli14.4K views
İleri Seviye T-SQL Programlama - Chapter 21 by Cihan Özhan
İleri Seviye T-SQL Programlama - Chapter 21İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21
Cihan Özhan1.5K views
Windows Azure ile Cloud Computing Uygulamaları - 6 by İbrahim ATAY
Windows Azure ile Cloud Computing Uygulamaları - 6Windows Azure ile Cloud Computing Uygulamaları - 6
Windows Azure ile Cloud Computing Uygulamaları - 6
İbrahim ATAY372 views
Windows Azure ile Cloud Computing Uygulamaları - 4 by İbrahim ATAY
Windows Azure ile Cloud Computing Uygulamaları - 4Windows Azure ile Cloud Computing Uygulamaları - 4
Windows Azure ile Cloud Computing Uygulamaları - 4
İbrahim ATAY391 views
Developer Tools by Burak Erol
Developer ToolsDeveloper Tools
Developer Tools
Burak Erol48 views
Javascript - from past to present by Kubilay TURAL
Javascript - from past to present Javascript - from past to present
Javascript - from past to present
Kubilay TURAL113 views
Visual studio 2010 by bykezza
Visual studio 2010Visual studio 2010
Visual studio 2010
bykezza1.8K views
F5 dergisi by fatos11
F5 dergisiF5 dergisi
F5 dergisi
fatos11796 views
Neden Backbone.js'ten AngularJS'e Geçtik? by Omer Buyukoglu
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 Buyukoglu2.9K views

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.