ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş SüreciSinan Bozkuş
BilgeAdam İzmir'de "ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci" ile ilgili verdiğim seminerin sunumu.
Kaynak kodları: https://github.com/sinanbozkus/BilgeAdam_Izmir_AspNetCore_Workshop
.Net Core Kurulumu.
.Net Core Hakkında bilinmesi gerekenler.
.Net Standart Hakkında bilgilendirme.
.Net Core & EF Core ile Örnek Uygulama.
Bazı önemli uyarılar.
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş SüreciSinan Bozkuş
BilgeAdam İzmir'de "ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci" ile ilgili verdiğim seminerin sunumu.
Kaynak kodları: https://github.com/sinanbozkus/BilgeAdam_Izmir_AspNetCore_Workshop
.Net Core Kurulumu.
.Net Core Hakkında bilinmesi gerekenler.
.Net Standart Hakkında bilgilendirme.
.Net Core & EF Core ile Örnek Uygulama.
Bazı önemli uyarılar.
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik DesteğiAli İhsan Çalışkan
ASP.NET MVC 2 Mimarisi üzerinde Uygulama Geliştirme ve ASP.NET'in sunduğu Uygulama Yönetim ve Güvenlik altyapısı hakkında yeni başlayanlara özel giriş niteliğinde anlatım.
Visual Studio .NET, Windows ve Web uygulamalarını geliştirmek için bir ortamdır.En büyük özelliklerinden birisi IDE (Integrated Development Environment-Tümleşik Geliştirme Ortamı) dediğimiz ortak bir uygulama geliştirme platformu sunmasıdır. Visual Basic .NET, uygulamalarınız için kullanacağınız dillerden sadece biridir. Gerçekte Visual Studio .NET birçok dile ev sahipliği yapacak şekilde tasarlandı ve birçok firma, Visual Studio .NET içerisindeki tümleşik birçok dille çalışıyor. İster C#, J#, C++ ile uygulama geliştirin, ister Visual Basic .NET ile; kullanacağınız en etkin ve ortak uygulama geliştirme platformu Visual Studio .NET olacaktır.Öyleyse Visual Studio. NET ile diğer programlama dilleri arasındaki fark nedir?
Performans karşılaştırması Java vs NodeJS
Paypal analizleri
NodeJS in gücü adına
Hızlı ve Sade bir şekilde nodejs rest-servisleri ile eski yöntem rest-servis yazmak artık tarih oldu
AngularJS, ağırlıklı olarak Google vasıtasıyla sürdürülen ve çeşitli geliştirici grupları ve şirketler tarafından desteklenen, Javascript tabanlı, açık kaynak kodlu bir web uygulaması geliştirme çatısıdır (framework). Sunumda AngularJS'nin de temel aldığı ModelViewController/ModelViewViewModel uygulama mimarileri ve prensipleri ile birlikte temel AngularJS bileşenleri üzerinde kısaca durulmakta ve tek sayfa web uygulamaları geliştirme üzerine örnekler verilmektedir.
PHP ile etkileşimli programlar oluşturmak istiyorsak web sunucu ve yorumlayıcıya ihtiyaç vardır. Birinin olmaması durumunda program çalışmaz.
Üye kaydı, ürün bilgisi gibi verilerin kullanılacağı bir web sayfasında ise veri tabanı sunucu gerekir. Veri tabanı sunucusunu daha kolay kontrol etmek ve verileri düzenlemek için de yardımcı veri tabanı programı yönetimi programları ( PhpMyAdmin vb.) kullanılabilir.
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik DesteğiAli İhsan Çalışkan
ASP.NET MVC 2 Mimarisi üzerinde Uygulama Geliştirme ve ASP.NET'in sunduğu Uygulama Yönetim ve Güvenlik altyapısı hakkında yeni başlayanlara özel giriş niteliğinde anlatım.
Visual Studio .NET, Windows ve Web uygulamalarını geliştirmek için bir ortamdır.En büyük özelliklerinden birisi IDE (Integrated Development Environment-Tümleşik Geliştirme Ortamı) dediğimiz ortak bir uygulama geliştirme platformu sunmasıdır. Visual Basic .NET, uygulamalarınız için kullanacağınız dillerden sadece biridir. Gerçekte Visual Studio .NET birçok dile ev sahipliği yapacak şekilde tasarlandı ve birçok firma, Visual Studio .NET içerisindeki tümleşik birçok dille çalışıyor. İster C#, J#, C++ ile uygulama geliştirin, ister Visual Basic .NET ile; kullanacağınız en etkin ve ortak uygulama geliştirme platformu Visual Studio .NET olacaktır.Öyleyse Visual Studio. NET ile diğer programlama dilleri arasındaki fark nedir?
Performans karşılaştırması Java vs NodeJS
Paypal analizleri
NodeJS in gücü adına
Hızlı ve Sade bir şekilde nodejs rest-servisleri ile eski yöntem rest-servis yazmak artık tarih oldu
AngularJS, ağırlıklı olarak Google vasıtasıyla sürdürülen ve çeşitli geliştirici grupları ve şirketler tarafından desteklenen, Javascript tabanlı, açık kaynak kodlu bir web uygulaması geliştirme çatısıdır (framework). Sunumda AngularJS'nin de temel aldığı ModelViewController/ModelViewViewModel uygulama mimarileri ve prensipleri ile birlikte temel AngularJS bileşenleri üzerinde kısaca durulmakta ve tek sayfa web uygulamaları geliştirme üzerine örnekler verilmektedir.
PHP ile etkileşimli programlar oluşturmak istiyorsak web sunucu ve yorumlayıcıya ihtiyaç vardır. Birinin olmaması durumunda program çalışmaz.
Üye kaydı, ürün bilgisi gibi verilerin kullanılacağı bir web sayfasında ise veri tabanı sunucu gerekir. Veri tabanı sunucusunu daha kolay kontrol etmek ve verileri düzenlemek için de yardımcı veri tabanı programı yönetimi programları ( PhpMyAdmin vb.) kullanılabilir.
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 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?
4. - 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 katkıda bulunabiliriz.
https://github.com/aspnet
ASP.NET Core Nedir?
5. - 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
6. - 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.
8. - 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.
- Projemizde bir database kullanacaksak ilgili Context’in kayıt işlemi de buradan yapılır.
- Dependency Injection tanımlamaları bu metot içerisinde yapılır.
Startup.cs - 1
9. - 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
10. 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.
11. 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.
12. 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.
13. 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.
14. AppSettings
- Web.config dosyasına benzer yapıdadır.
- Web.config sadece IIS (Windows) ü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.
15. Dependency Injection
- ASP.NET Core kendi içerisinde basit bir Dependency Injection
mekanizmasıyla birlikte gelir.
- Dependency Injection kısaca bir sınıf (class) içerisinde başka bir
sınıfın nesnesini kullanacaksanız new anahtar sözcüğüyle
oluşturmamanız gerektiğini söyleyen bir yaklaşımdır. Gereken
nesnenin ya Constructor’dan ya da Setter metoduyla parametre
olarak alınması gerektiğini vurgulamaktadır. Böylece iki sınıf
birbirinden izole edilmiş şekilde çalışacaktır.