ASP.NET MVC Nedir ? Neden Gereksinim Duyulmuştur ?

Slides:



Advertisements
Benzer bir sunumlar
HTML.
Advertisements

Web uygulamalarında yeni bir yaklaşım AJAX
.NET FRAMEWORK -MASAÜSTÜ VE SUNUCU YAZILIMLARI
Kurumsal Talep Yönetim Sistemi İstemci Uygulaması
SGB.NET’İN TEKNİK ALTYAPISI
VERİTABANI YÖNETİM SİSTEMLERİ
Yazılım Geliştirme ve Java
SİSTEM YÖNETİMİ KOORDİNATÖRÜ
/ Tel: (216) Ayrıntılı bilgi için lütfen bize ulaşınız. / Tel: (216)
BOLOGNA SÜRECİ - EĞİTİM ÖĞRETİM GÜNCELLEME
.NET FRAMEWORK.
İÇİNDEKİLER Hakkında Kod Editörü Hata Ayıklayıcı Tasarımcı
A. Betül Oktay Elif Edoğan Zeliha Çetin
WEB Tasarımı & .NET Bolum 1
İSİM UZAYLARI.
Bilgisayar Ağlarına Giriş
ÖMÜR BİLGİLİ
FRAMEWORK.
Çevre ve Orman Bakanlığı Bilgi İşlem Dairesi Başkanlığı
AĞ PROTOKOLÜ.
BTP 108 BİLGİSAYAR AĞ SİSTEMLERİ AĞ KAVRAMI Birden çok bilgisayarın birbirine bağlı olarak kullanılmasıyla oluşturulan çalışma biçimine bilgisayar ağı.
JavaScript Javascript , Netscape firması tarafından C dilinden esinlenilerek yazılmıştır Yazılma amacı Html'in sahip olmadığı bazı özelliklerin web sayfalarında.
İSİM UZAYLARI (NAMESPACE).
Framework, yazılımın iskeletini oluşturan, fonksiyon ve sınıflardan oluşan geniş çaplı bir kütüphaneye sahip uygulama çatısıdır. Framework proje sürecini.
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
Yazılım Gelişimi. Donanım gelişimine paralel olarak süren yazılım gelişimi, son on yılda kayda değer bir ivmelenme ile bilgisayarları, herhangi bir uzmanlık.
İnternet Teknolojisi Temel Kavramlar
Microsoft’ta Devrim Visual Studio 2010 Kariyer Üstü Prestij.
WINDOWS NT GENEL YAPISI
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
İSİM UZAYI Bir programın organizasyonu ve erişebilirliği üzerinde size daha fazla kontrol sağlayan C# özelliğidir.”Namescapes” olarak da bilinir.
FREMEWORK.
Microsoft® WPF- Silverlight
KOBİ – ŞİRKET PORTALI BİTİRME PROJESİ EMRE UYUMAZ & ANIL GÜR.
Cascading Style Sheets (Stil Şablonları)
BULUT BİLİŞİM SERVİS MODELLERİ
Quest Atlantis Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel Bir Bilgisayar Oyununun Teknik Yapısı.
 Yazılım geliştiriciler framework 'ün sunduğu kütüphaneyi kullanarak; Daha kısa zamanda daha fazla iş üretebiliyor, Daha düzenli bir yapı ortaya çıkarabiliyor,
BİLGİSAYAR AĞLARINA GİRİŞ
LINQtoSQL Silverligth Uygulamalarında LinqtoSql. LINQ (Language Integrated Query) özellikle dil içerisinde, Sql tarzı sorgular yazabilmemizi ve bunları.
BİLGİSAYAR AĞLARINA GİRİŞ
İNTERNET TARAYICI (WEB BROWSER) PROGRAMLARI
İnternet Teknolojisi Temel Kavramlar
BTÖ 306 Bilgisayar Ağlarına Giriş Dr. Şirin Karadeniz Çelebi Uluyol.
HAZIRLAYAN:SEMİH KÜRTÜNCÜ
PHP Programlama Dili GİRİŞ.
ASP.NET Web FORMS -> MVC FRAMEWORK
Ağlar ve Veri İletişimi
ÇOK KATMANLI MİMARİLER. Katman: Ortak işi yapan kodların bir yerde toplanması Örneğin hemen hemen her projemizde veri tabanı kullanırız, bunun için veritabanı.
WEB2.0 ARAÇLARI Gökçe Hanım EMİR K ONULAR : ajax, rss, css, vidcast, podcast podcast.
Dersi Özeti Kursun içeriğini özeti Alt başlıkları Proje Kurs esnasında kullanmayı planladığımı editörler HTMLe giriş Temel etiketler Notepad+’da.
Modül 1: Giriş. Genel Bakış Temel.NET kavramları Geliştirme ortamında gezinti Bir C# projesi oluştur Use Visual Studio.NET Veriye eriş Hata ayıkla ve.
Veritabanı Yönetim Sistemleri - I
BTÖ 306 Bilgisayar Ağlarına Giriş. BTÖ 306 Tarihsel Gelişim Main- frame OS yoktu Batch Systems (Toplu İşlem) Birden fazla işin arka.
İSİM UZAYLARI. İSİM UZAYI Bir programın organizasyonu ve erişebilirliği üzerinde size daha fazla kontrol sağlayan C# özelliğidir.”Namescapes”
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Mobil Uygulama Geliştirme Teknikleri
İÇERİK YÖNETİM SİSTEMİ Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu.
XML ve XML WEB SERVİSLERİ Volkan ALTINTAŞ. XML Bağımsız bir kuruluş olan W3C tarafından tasarlanmıştır. Herhangi bir kurumun tekelinde değildir. Kişilerin.
WEB KULLANICI KONTROLLERİ ve ANASAYFA KULLANMA(Master Page)
Asp.Net Veritabanı İşlemleri
haZIRLAYAN: ELİF KARAOĞLU
Bilgisayar Ağlarına Giriş
WEB TASARIMI BOOTSTRAP KULLANIMI SAVAŞ TUNÇER
İNTERNET PROGRAMCILIĞI 2
Amazon Web Servisleri ve Javascript Dilinin Birlikte Kullanımı
C# ve Veri tabanı İşlemleri
YAZILIM KOD ÜRETEÇLERİ
Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel
PHP FRAMEWORKLERİN KARŞILAŞTIRILMASI ve LARAVEL FRAMEWORKÜN İNCELENMESİ Hakan KÖR1, Hasan ERBAY2 1Hitit Üniversitesi, Uzaktan Eğitim Merkezi, Çorum 2Kırıkkale.
Sunum transkripti:

ASP.NET MVC Nedir ? Neden Gereksinim Duyulmuştur ? WebForms’a Göre Avantaj ve Dezavantajları Neler? Nerelerde ve Neden Tercih Edilmelidir ? Sunum Volkan Dal tarafından hazırlanmış. Konu ile ilgili detaylı bilgi için http://www.volkandal.com adresinden ulaşabilirsiniz…

Asp.Net MVC Nedir ? Model – View – Controller kelimelerin baş harflerinden oluşan MVC Frameworkü Asp.Net teknolojisi üzerine geliştirilmiş bir programlama sitilidir. MVC Framework , Webformsdaki gibi textbox,button gibi componentlerin bulunmadığı tüm bunların Html taglarıyla oluşturulduğu aynı zamanda da Asp.net Runtime’da çalışan bir yazılım mimari desenidir.

Model – View - Controller Bunu aslında üç katmanlı mimariye benzetebiliriz. Model : veriye ulaşan , View : veriyi sunan, Controller : Veriyi işleyen katman gibi düşünebiliriz. Tüm kontroller html taglarıyla oluşturulduğu için daha anlamlı sayfalar ortaya çıkmakta ve buda günümüz trendlerine daha uygun olmaktadır.

Asp.Net MVC Klasik Asp.net sayfasının çıktısını düşünün.Sayfadaki bir Datagrid kontrolü göz önüne getirin tabloların içinde satırları sutunları düşünün.Otomatik üretilmiş her kodu bir yere kadar düzenleyebiliyoruz buda sıkıntı yaratıyor. Asp.net MVC’de ise bunun tam tersine geliştirme süresi uzarken çıktı nasıl istenirse developer tarafından öyle ayarlanabiliyor.

Model Modellar, iletimde kullanılan yada veritabanındaki bir veriyi temsil eden sınıflardır. View ile Controller arasında veri iletimi Modellar sağlar. LINQ to SQL ile Entity Framework dosyaları veya Datatable , Dataset , Datareader gibi nesnelerle veri taşıyan tiplerimiz bu katmanda yer almaktadır.

View View, istemcilerin gördüğü taraftır. Yani web programlama için html sayfadır. Viewlar , Razor ve Aspx görünüm motoru olmak üzere iki farklı şekilde tasarlanabilir.Razor seçildiğinde dosya uzantısı “.cshtml” , eğer Aspx görünüm motoru kullanılıyorsa uzantı “.aspx” olacaktır.

Controller Uygulamaya gelen talepleri yöneten katmandır. Controller nesnelerinde Action metodları bulunur ve bu metodlar gelen talepleri uygun View ve Model üzerindenden değerlendir. View katmanının kullanıcıya gösterilmesi için gerekli işlemleri controller gerçekleştirir. Örneğin , form verilerini veritabanına ekleyen ya da formun istediklerini veritabanından çeken bir sınıf olabilir.

Asp.Net MVC Asp.net MVC hiçbir zaman Webforms’un rakibi değil bir alternatifi olarak düşünülmelidir.Genelde veri odaklı uygulamalarda tercih edilmelidir. Büyük veri kaynaklı internet projelerinde MVC kullanmak hem sayfa hızlarında , hem de server kaynakları kullanımında önemli bir performans artışı sağlar.

Asp.Net MVC MVC Framework’ünün çıkmasının asıl nedeni User Interface ve Data katmanlarının birbirinden ayrılmasını zorunlu kılmaktır. Bu sayede geleceğe dönük uygulamanın geliştirilebilirliği de artacaktır. Daha rahat ve kısa sürede değişiklikler yapılabilecektir.

Bir Örnek; Controller beynimiz , Model sinirlerimiz , View ise kas, burun, göz, kulak vb. dış Dünya ile fiziksel ilişkisi olan her şeyimizdir. Sevdiğimiz insanı gördüğümüzde gözümüz bu veriyi beynimize yollar (V->C) beynimiz buna bir tepki vererek yüz sinirlerine emir gönderir (C->M) , sinirlerimiz beyinden gelen emri işleyerek kasları gerer ve gülümsememizi sağlar (M->V). Tüm MVC süreci bunula özetlenebilir.

Neden Gereksinim Duyuldu ? Webforms’daki kontrollerin istenildiği gibi yönetilememesi ve karmaşık sayfa çıktıları . Asp.net Webforms projelerinde Postback sonrasında da sayfadaki verilerin tutulması için kullanılan Viewstate büyük ölçekli projelerde kullanıldığında boyutu giderek artmakta ve sayfaların geç açılmasının yanısıra Servera da ayrıca yük bindirmektedir. Asp.Net MVC de Viewstate ve Postback yoktur. Bu işleri çok daha doğal yollar ile gerçekleştiriyor.

MVC’nin Avantajları Nelerdir ? Uygulamayı Model, View ve Controller bileşenlerine bölerek karmaşıklığı önler. Viewstate ve sunucu taraflı form kullanmaz. Uygulamanın bütün evrelerine müdahale etmek ve hakim olmak isteyen geliştiriciler için idealdir. Front Controller deseni kullanır. Bütün istekleri (request) tek bir Controller tarafından karşılanıyor. Bu sayede MVC, çok esnek bir yönlendirme (Routing) altyapısına sahiptir. Geniş bir takım tarafından geliştirilen, uygulama davranışları üzerinde daha fazla kontrol gerektiren web uygulamaları için ideal bir yapıdır.

MVC’nin Avantajları Nelerdir ? Browser Uyumluluğu önemli bir avantajıdır. İlerleyen zamanlarda MVC projesi üzerinde geliştirmeler yapmak çok daha kolaydır. Kontrol compodentleri yoktur (şuanda geliştirilme sürecinde). Bunun yerine genelde Jquery kontrolleri kullanılır. Kontroller html tagları ile oluşturulduğu için sayfa çıktıları çok daha düzenli olur. SEO optimizasyonu ve güvenlik çok daha gelişmiştir. MVC’de Spagetti kod dediğimiz iç içe geçmiş kodlamadan ve kontrol arkasına yazılmış yüzlerce satırlık kodlardan kurtuluruz.

Webforms’un Avantajları Nelerdir ? Olay modeli ile geliştirme yapmaya olanak sağlar. Yüzlerce sunucu kontrolü üzerinden binlerce olay vardır. Bir sayfaya özel işlevsellikler ekleyebilen Page Controller desenini kullanır. Viewstate ve sunucu tabanlı formlar yardımıyla sayfanın durum bilgisi kolaylıkla yönetilebilir. Hızlı uygulama geliştirme yapmaya müsait olduğundan küçük gruplarla yapılacak karmaşık olmayan web projelerinde iyi çalışır. MVC modeline göre daha az kod gerektirir.

Asp.Net MVC Nerelerde Tercih Edilmelidir? SEO ve Sayfa hızının önemli olduğu Data Centric uygulamalarda MVC kullanmak daha avantajlıdır. Arama motorları sayfa çıktılarını daha kolay anlıyacaktır ve MVC’nin mükemmel yönlendirme sistemi sayesinde urlyi daha temiz ve hem kullanıcılar hem de SEO için daha uygun bir şekle zahmetsizce çevrilebilir.

MVC 4 de Neler Gelecek Varsayılan proje şablonu geliştiriliyor. Yani default olarak açılan sayfa artık daha modern ve güzel görünecek. Jquery ile entegre olacak. Compodentler geliştiriliyor. Geliştirilmiş proje şablonunun mobil versiyonu da olacak. Windows Azure SDK'i destekleyecek. Eylül 2011 1.5 versiyonu. Asenkron kontroller için görev desteği. Visual Studio için kod tarifleri (Ufak kütüphaneler gibi kullanımı kolay ve paylaşılabilir paketler).

SON Hazırlayan : Volkan Dal ( Microsoft Certificated Professional Developer ) http://www.volkandal.com