ASP.NET Web FORMS -> MVC FRAMEWORK

Slides:



Advertisements
Benzer bir sunumlar
Web uygulamalarında yeni bir yaklaşım AJAX
Advertisements

ASP.NET MVC Nedir ? Neden Gereksinim Duyulmuştur ?
.NET FRAMEWORK -MASAÜSTÜ VE SUNUCU YAZILIMLARI
MIT504 İnternet ve Web Programlama: Javascript programlama devam Yrd. Doç. Dr. Yuriy Mishchenko.
Silverlight Daron Yöndem INETA Türkiye Başkanı
Websitelerinde Standartlar Açısından Dikkat Edilmesi Gereken Noktalar 1 Websitelerinde Standartlar Açısından Dikkat Edilmesi Gereken Noktalar Eser SAHiLLiOĞLU.tr.
1 BTME: Mobil Peer-to-Peer Uygulamalar İçin Bluetooth Uygulama Çatısı.
İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar)
.NET FRAMEWORK.
İÇİNDEKİLER Hakkında Kod Editörü Hata Ayıklayıcı Tasarımcı
WEB Tasarımı & .NET Bolum 1
YZM Yazılım Doğrulama ve Geçerlileme
WEB TASARIMI HTML.
Örnek Web Sitesi Tasarım Dökümanı
04/02/10 Django Web Uygulamaları Geliştirmede Çağdaş bir Yaklaşım.
MÜŞTERİ İLİŞKİLERİ YÖNETİMİ
ANDROID işletim sistemi
BTEP 203 – İnternet ProgramcIlIğI - I
FRAMEWORK.
Çevre ve Orman Bakanlığı Bilgi İşlem Dairesi Başkanlığı
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ğı.
IT 504 İnternet ve Web Programlama Tanıtım Yrd. Doç. Yuriy Mishchenko.
HTML (HYPER TEXT MARKUP LANGUAGE) TEMEL ETİKETLERİ
İ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.
İSİM UZAYLARI (NAMESPACE)
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.
Net Class Framework ’ ün en üst yapısına İsim Uzayı denir. İsim uzayları ; pascal programlama dilinde 1990 ve hatta öncesinden beri varolmuş, C’de yer.
CONTENT MANAGEMENT SYSTEM (İÇERİK YÖNETİM SİSTEMLERİ)
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
Kan Bağış Web Uygulaması
İnternet. İnternet...  dünya çapında bir bilgisayar ağı  bilgi süper otoyolu (information super highway)
Cascading Style Sheets (Stil Şablonları)
Quest Atlantis Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel Bir Bilgisayar Oyununun Teknik Yapısı.
Yavuz Seyhan Adem Ertaş Mustafa Tanış Zekai Çalışkan.
 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,
İNTERNET TARAYICI (WEB BROWSER) PROGRAMLARI
Görsel Programlama III Ders 8 Öğr.Gör. Mustafa KARABULUT.
ALİ FINDIK Galatasaray Ünİversİtesİ 2015
HAZIRLAYAN:SEMİH KÜRTÜNCÜ
WEB PROGRAMCILIĞI.
Hazırlayan: Yrys Moidin kyzy. 1) html; 1. html (hypertext markup language ): hipermetin işaretleme dili. 2) Bu tag wep sayfasında bulunan ilk tagdır.
ENTEGRASYON SUNUCUSU OLARAK
Microsoft Windows Server 2003 © Yenilikler ERCAN SAPMAZ.
Programlama Dilleri Visual Basic C# C++ Pascal Delphi.
Ç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ı.
BIL MOBiL PROGRAMLAMA TEKNiKLERi
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.
Bu kurs ne değildir? Neyi amaç edinmiştir? Bilgisayar Mühendisi? Bilgisayar Programcısı? Web Tasarımcısı? Web Programcısı? Neler öğreneceğiz? Kurs sonunda.
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.
Mobil Uygulama Geliştirme Teknikleri
PHP on Windows Muammer Benzeş
Basic Application Software © 2013 The McGraw-Hill Companies, Inc. All rights reserved.Computing Essentials 2013.
HTML HTML Nedir? HTML Ne İşe Yarar?. HTML (HyperText Markup Language / Hareketli-Metin İşaretleme Dili) basitçe, tarayıcılarla görebileceğimiz, internet.
TUANA BİLİŞİM GURURLA SUNAR inceleyin ve Gominisite Yeni Nesil Web Sitesidir Gominisite ile web sitenizi kendiniz yönetebilir ve güncelleyebilirsiniz.
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.
Partnership for the Future United Nations Development Programme Programme funded by the European Union UNDP-PFF Nasıl Web Sitesi Sahibi.
Muharrem Taç
ASP.NET DURUM YÖNETİMİ (State Management)
Web Tasarımı Giriş.
Server Yönetim Programları
WEB TASARIMI BOOTSTRAP KULLANIMI SAVAŞ TUNÇER
İNTERNET PROGRAMCILIĞI 2
J-guar Uyarlama Aracı Arif BATTAL Uyarlama Araçları Danışmanı.
Tasarım: Ali Topal.
Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel
Genel PHP Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan
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.
MADDE VE YAPISI TEST.
Web Teknolojileri 2.Hafta.
Sunum transkripti:

ASP.NET Web FORMS -> MVC FRAMEWORK Hazırlayan Koray KIRDİNLİ www.koraykirdinli.net

Index ASP.NET Web Forms MVC hakkında ön bilgi MVC’nin avantaj ve dezavantajları Routing mekanizması Razor View Engine

Microsoft Web Forms Vizyonu 2002 yılında 1.0 versiyonu piyasaya sürüldü. Amacı kolay web uygulamaları geliştirilebilmesi sağlamaktı. Event Base Mimari Viewstate, Postback ve Page Life cycle kavramları

ASP.NET Form sayfası

Sayfanın HTML çıktısı __doPostBack(eventTarget, eventArgument) javascript fonksiyonu otomatik olarak oluşturuldu. Bu fonksiyon sayesinde aspx sayfalarında postback yapılabiliniyor.Bu metod 2 tane parametre alıyor. 1. parametre'de tıklanılan kontrolün id'si, 2. parametrede varsa bu tıklamaya ilişkin ek bilgiler bulunuyor. Bu javascript metodu çalıştığında birinci parametdeki değer __EVENTTARGET adındaki gizli form alanına yazılıyor. 2. parametredeki alan __EVENTARGUMENT gizli alanına yazılıyor. Daha sonra tüm form sunucuya (aynı sayfa üzerine) submit ediliyor. Formda bulunan gizli bu form alanları sayesinde (form submit yapıldığından) ASP.NET hangi kontrolün tıklandığını ve bu kontrole ait ek argumanları bilmektedir ayrıca bu kontrole ait Event Handler metodları var ise (olay yakalayıcı) o metodları çalıştırmaktadır.

Web Formun Eksileri (-) Viewstate’in giden gelen verinin büyük olması Page Life Cycle ‘ın karmaşık olması (bkz:page life cycle) Server kontrollerin html çıktılarına müdahale edilemez. Id lerle uğraşmak zordur. Tasarım ile kod birbirinden mantıksal olarak ayırması zordur. Codebehind koda müsaittir. Test edilmesi çok zor.

MVC hakkında ön bilgi MVC bir programlama dili değil bir programlama modelidir. Web Forms’da olduğu gibi ASP.NET framework altyapısı kullanılır. Veri ve gösterimi birbirinden soyutlamayı sağlar. Japonya’da geliştirilen Ruby dilinden ilham almıştır. Japonya’da geliştirilen Ruby isimli bir programlama dili MVC’nin altyapısına ilham kaynağı oldu . Ruby platform bağımsız her yerde çalışabildiği için bir çok web programcısı bu dili projelerinde kullanılır oldu ve bir anda çok popüler hale geldi. Sinatra isimli bir kütüphane ile Ruby ile kod yazmak kolaylaştırılmış. Bir diğer konu ise Node.js(Javascriptin server tarafında çalışan versiyonu). Bunun sayesinde sistem kaynakları verimli çalışabiliyor. Client’dan istek alınıyor ve gönderiliyor. Server tarafında iş bittiği anda cevap dönüyor böylece thread beklemiyor. (Javascript callback) Özgür Yazılım mentalitesinin .NET dünyasında oturmasıyla birlikte Java dünyasından esinlenilerek geliştirilmiş projeler ve kod yazarken kolaylık sağlayan yardımcı programlar zaten günlük olarak kullandığımız ürünler

MVC’nin Artıları (+) Viewstate kullanmadığı için giden-gelen mesajların boyutu küçüktür. Uygulama Model-View-Controller şeklinde mantıksal olarak bölündüğü için kod karmaşasının önüne geçilir. FrontController tasarım deseni sayesinde bütün istekler merkezi bir controller tarafından yönlendirilebilir. Test Driven Development desteği hat safhadadır. Tasarımcı ve developer'ın ayrı çalışabilmesine olanak sağlar. Güçlü routing yapısı sayesinde arama motorları tarafından kolayca indekslenebilir ayrıca daha anlaşılır bir url çıktısı elde edilir. Open Source (Bir çok community tarafından da destekleniyor.)(ALT.NET David Laribee) FrontController : Aynı datayı kullanan farklı view’lerin aynı controller tarafından karşılanması

MVC’nin Eksileri (-) HTML ile daha çok uğraşı gerektirir Hazır bileşen olmadığı için Spagetti kod yazılmak zorunda kalınır Geliştirme web forms’a göre daha zor FrontController : Aynı datayı kullanan farklı view’lerin aynı controller tarafından karşılanması

Standart Kütüphaneler

“Model”, “View”, “Controller” Controller post ve get işlemleri yapar. View den datayı alıp model’e post edebilir veya modelden veriyi alıp view de gösterilmesini sağlar. Model: Uygulamaya logic olarak eklenecek veri katmanını oluşturduğumuz bölümdür. Veri tabanı işlemlerimiz için tablolarımızı ve saklı yordamlarımızı (store procedure) Ado.Net Entity model veya LinQ model yardımı ile kullanabileceğimiz katman olarak tanımlayabiliriz.  View: Kullanıcı kontrollerinin, bileşenlerin gösterildiği ve son kullanıcının gördüğü katmandır. Genel olarak model katman üzerinde yer alan tablo kolonlarına göre oluşturulur. Genel yapısı dışında Asp.Net uygulamalarında da yapabildiğimiz gibi tasarımsal öğeleri ekleyerek (css, resim, animasyonlar (Flash, Silverlight, v.b. ) gibi) daha zengin web uygulamaları da oluşturabilmemiz mümkündür. Controller: View katman üzerinde yapılan işlemler sonucunda sayfanın hangi sayfaya yönleneceğine, ya da veri tabanı üzerinde işlem mi yapacağına ilişkin işlemlerin tutulduğu katmandır. 

Routing Mekanizması MVC Routing modülü browserdan gelen istekleri ilgili controller sınıfına yönlendirmekle yükümlüdür. Global.asax dosyasında Application_Start metodunda bir route table initialize edilir. URL /Home/Index/3 : HomeController.Index(3)

Razor View Engine MVC 3.0 ile gelen bir görüntüleme biçimidir. <% %> yerine @ işareti Daha anlaşılır ve esnek Asp.Net Mvc 3  teknolojisiyle birlikte gelen razor view engine görüntüleme biçimidir. Razor syntaxaracılıyla ana makine kısmında ( server side ) çalışacak kodların ayrımını ‘ @ ’ işareti aracılıyla yapmaktayız.  

MVC kullanan bazı siteler Msn.com Bing.com Dell.com Stackoverflow.com Marketwatch.com Codeplex.com Starbuck.com …

Sonuç olarak MVC Forms, Web Forms’un yerine geçmeyecek sadece web forms’a bir alternatif. Web Forms = Rapid Application Development, zengin kontrol kütüphanesi (Intranet) MVC Forms = Daha performanslı (Internet)

Teşekkürler