Mahmut Can S¶zeri Yaz±l±m Eitmeni, Dan±man mcs@

download Mahmut Can S¶zeri Yaz±l±m Eitmeni, Dan±man mcs@

of 21

  • date post

    23-Feb-2016
  • Category

    Documents

  • view

    72
  • download

    0

Embed Size (px)

description

Mahmut Can Sözeri Yazılım Eğitmeni, Danışman mcs@mcansozeri.com http://mcansozeri.com. ASP.NET MVC 4 Razor. 28/09/2012. Ajanda. MVC Nedir? ASP.NET MVC Nedir? View Engine Nedir? Razor Nedir? Örnek Siteler Demo Avantajları – Dezavantajları ASP.NET MVC’nin Tarihsel Gelişimi Soru-Cevap. - PowerPoint PPT Presentation

Transcript of Mahmut Can S¶zeri Yaz±l±m Eitmeni, Dan±man mcs@

PowerPoint Presentation

Mahmut Can SzeriYazlm Eitmeni, Danmanmcs@mcansozeri.comhttp://mcansozeri.comASP.NET MVC 4 Razor

28/09/20121MVC Nedir? ASP.NET MVC Nedir? View Engine Nedir? Razor Nedir?rnek SitelerDemoAvantajlar DezavantajlarASP.NET MVCnin Tarihsel GeliimiSoru-CevapAjanda

21979 ylnda Trygve Reenskaug

Model View Controller

Katmanl Mimari

MVCye Genel Bak

Ortaya atld ilk yllarda ad thing-model-view-controller di sonrada bugnk halini ald. nemli bir mimari patterndir.

MVCde bir uygulamann kullanc arayz 3 ana blme ayrlr:Model: Data ilemlerinin ve i kurallarnn tanmlanr, classlar oluturulurView: Kullanc arayznn nasl gsterilecei tanmlanrController: Kullanc arayzndeki ilemler ile data ve/veya spesifik katman arasndaki iletiim salanr.

MVC tipik bir framework olmasna ramen, zellikle bir mimaridir. Bunun anlam spesifik class hiyerari veya object-oriented bir dil olmasa bile implement edilebilir.

3ASP.NET System.Web.UISystem.Web

ASP.NET MVC ModelViewControllerASP.NET MVC

2002 ylnda ilk defa yaynladnda(release), ASP.NET ve Web Formlar bir btn gibi ve ayn ey olarak dnlyordu. ASP.NET daima 2 katman destekledi:

System.Web.UI:Web Form katman, server kontrolleri, view state vbSystem.Web:modller, handlerlar, HTTP Stack buna benzerASP.NET ierisinde gelitirilmi hazr server kontrollerini srkle-brak yntemi ile sayfalarmza atp, otomatik olarak bizim iin oluturulmu HTML ktlarna sahip oluruz. almasn istediimiz sayfadaki ilemleri handlerlar, moduller vastasyla altrrz. ASP.NET yerleik olarak bir paterne sahip deildir. Bu yazlm dnyas iin byk bir eksiklikti. ASP.NET MVC 2007 ylnda duyuruluncaya kadar bu etkinlik hissedildi.

MVC paterni web uygulamalarnda sklkla kullanyor, ASP.NET MVC ierisindeki kullanm genel hatlaryla:Models: Kullanacanz classlar bulunur. Bu katmanda databasee eriim yollarnz ve metotlarnz yer almaktadr. Bu katman data eriim katman(access layer) olarak Entity Framework, NHibernate, ADO.NET ile database zerinde veri ilemleri yaplmas iin kullanlr.View: Dinamik olarak HTML kodlar generate edilir.Controller: View ve Model arasnda ki iletiimi salar. Kullanc girilerini yantlar, model ile haberleir, hangi viewin render edileceine karar verir.

ubat 2007 ylnda, Microsofttan Scott Guthrie(ScottGu) tarafndan ABDnin dou yakasndaki bir konferansa giderken uakta ASP.NET MVCnin ekirdeini/temelini tasarlamtr. Bir ka yz satr koddan oluan basit bir uygulamayd fakat salondakileri heyecanlandran ve potansiyeli yksek bir teknoloji olduunu o zamandan hissettirmitir.Release olana kadar 9 preview release olmutur. Sonunda ASP.NET MVC 1.0, 13 Mart 2009 ylnda release oldu. 4alma YapsControllerModelView12345TARAYICIMVCde bir uygulamann kullanc arayz 3 ana blme ayrlr:Model: Data ilemlerinin ve i kurallarnn tanmlanr, classlar oluturulurView: Kullanc arayznn nasl gsterilecei tanmlanrController: Kullanc arayzndeki ilemler ile data ve/veya spesifik katman arasndaki iletiim salanr.MVC tipik bir framework olmasna ramen, zellikle bir mimaridir. Bunun anlam spesifik class hiyerari veya object-oriented bir dil olmasa bile implement edilebilir.

Yllardr javada, C++Ta ve phpde kullanlmaktadr.5

ViewView Engine Nedir?View Engine

Viewlerinizi HTML kts olarak render etmek iin kullanlan bir mekanizma/teknolojidir.

6ASP.NET MVC Site rnekleri

ASP.NET MVC Site rnekleri

ASP.NET MVC Site rnekleri

ASP.NET MVC Site rnekleri

ASP.NET MVC Site rnekleri

ASP.NET MVC Site rnekleri

DEMO

Ksa/zl, anlaml ve akcrenmesi kolay Yeni bir dil deildirHerhangi bir text editor ile alrMkemmel intellisenseTest edilebilirRazorun zellikleri

Ksa/zl, Anlaml ve Akc Razor karakter saysn ve tklayacanz tu saysn en aza indirir ve kodun akn akc yapar, hzlandrr.Bir ok template szdiziliminin aksine, HTMLiniz ierisinde server blogunu ayrca belirtmenize gerek yoktur. Derleyici kodunuzdan anlam karak zekidir. Kodunuz temizdir. Razor ile hzl ve elenceli yazn.renmesi Kolay Min kod gereksinime sahip olduu iin renmesi son derece kolaydr. Sahip olduunuz dili ve HTML bilginizi kullanrsnz.Yeni Bir Dil Deildir Yeni bir dili renmeyi zorunlu klmann yerine var olan C#/VB dillerinindeki becelerinizi kullanmasn salar.Herhangi Bir Text Editor le alr Razor herhangi bir zel ara(tool)a ihtiya duymaz. Herhangi bir text editoru kullanabilirsiniz. Notepad bile olabilir.Mkemmel Intellisense Yukardaki madde de herhangi bir editorde yazabilirsiniz dedim. imdi de gelmi intellisense diyorum. Evet diyorum nk Visual Studio 2010 updatei ile tamamen Razoru destekleyen bir text editore sahip olursunuz.Test Edilebilir Yeni View Engine uyarlamas Test Uniteleri araclyla test edilmesini destekler.

14BrailNDjangoNhamlNvelocitySharpTilesSparkStringTemplateXSLTRazordan Baka?

15Temiz HTML Katmanl mimariTest UnitView Engine desteiJavaScript ktphaneleri ile uyumstee bal URL haritasSEO dostu URLView State ve PostBack yokTemel ASP.NET zelliklerini desteklerSayfa boyutlar Mobil Template

Avantajlar Nelerdir?

Provides fine control over rendered HTMLCleaner generation of HTML (well as clean as you keep it)Clear separation of concernsProvides application layer unit testingCan support multiple view engines, such as Brail, NHaml, NVelocity, XSLT, etc.Easy integration with JavaScript frameworks like jQuery or Yahoo UI frameworksAbility to map URLs logically and dynamically, depending on your useRESTful interfaces are used by default (this helps out with SEO)No ViewState and PostBack modelSupports all the core ASP.NET features, such as authentication, caching, membership, etc.Size of the pages generated typically much smaller because of the lack of the ViewState

16Event kullanlmyorTemel HTML , CSS, JS bilgisi3.parti ktphanelerin uyumuWeb Forms dan dorudan upgradeView State ve PostBack yok

Dezavantajlar Nelerdir?

Not event driven by the framework, so it maybe more difficult for ASP.NET Web Form developers to understandRequires the need to understand, at least at the basic level, HTTP, HTML, CSS, and JavaScriptThird party library support is not as strongNo direct upgrade path from Web FormsNo ViewState and PostBack model (makes it more difficult to preserve state)

17ASP.NET MVCnin Tarihsel GeliimiDateVersion10 December 2007ASP.NET MVCCTP13 March 2009ASP.NET MVC 1.016 December 2009ASP.NET MVC 2 RC4 February 2010ASP.NET MVC 2 RC 210 March 2010ASP.NET MVC 26 October 2010ASP.NET MVC 3 Beta9 November 2010ASP.NET MVC 3 RC10 December 2010ASP.NET MVC 3 RC 213 January 2011ASP.NET MVC 320 September 2011ASP.NET MVC 4 Developer Preview15 February 2012ASP.NET MVC 4 Beta31 May 2012ASP.NET MVC 4 RC15 Aug 2012ASP.NET MVC 4http://en.wikipedia.org/wiki/ASP.NET_MVC_Framework Community Technology Preview18Sorularnz

ngilizcehttp://www.asp.net/mvc/mvc4http://msdn.microsoft.com/en-us/library/gg416514(v=vs.98).aspxhttp://weblogs.asp.net/scottgu/ ASP.NET MVC 4, Wrox ASP.NET MVC 4, ApressTrkehttp://mcansozeri.com/blog/Kaynaklar

TeekkrlerMahmut Can SzeriYazlm Eitmeni, Danmanmcs@mcansozeri.comhttp://mcansozeri.com