Microsoftí technologie  pro webový vývoj Borek Bernard  www.borber.com Aleš Roubíček www.rarous.net
ASP.NET =  webová technologie Microsoftu
Prototyp „XSP“ naprogramoval  Scott Guthrie  přes vánoční svátky pomocí  Javy   1997
První beta verze Přejmenováno na  ASP+ …  a po vytvoření marketingové značky .NET na  ASP.NET 1997 2000
ASP.NET 1.0 ScottGu se stává Product Unit Managerem 1997 2000 2002
Vlastnosti ASP.NET: model  web forms ASMX  web services silná podpora OOP výkon 1997 2000 2002
ASP.NET 1.1 Visual Studio .NET 2003 dolaďuje se řada základních věcí 1997 2000 2002 2003
ASP.NET 2.0 Významné změny v .NET frameworku CLR 2.0 tvoří základ dodnes 1997 2000 2002 2003 2005
novinky v ASP.NET 2.0: Master Pages, Web Parts Automatická kompilace P odpora XHTML Themes, Skins Navigace, SiteMap Membership, Profiles 1997 2000 2002 2003 2005
ASP.NET 3.5 Visual Studio 2008 C# 3.0, VB9 ScottGu vice president 1997 2000 2002 2003 2005 2007/8
ASP.NET 3.5: AJAX integrace s IIS7 nové controly (ListView) Agilní vývoj 1997 2000 2002 2003 2005 2007/8
ASP.NET 3.5 SP1 Dynamic Data URL routing Podpora Entity Frameworku 1997 2000 2002 2003 2005 2008
 
ASP.NET Konfigurace Membership API IIS Přístup k datům Visual Studio Deployment Debugging Cachování
ASP.NET WPF WCF WF LINQ Languages lambda výrazy Ruby var (type inference) extension methods anonymní typy LINQ XML literály Python System.AddIn JSON serialization System.Diagnostics.Eventing Core
Komponentový přístup k tvorbě aplikací
HTML Flex WPF ASP.NET
komponenty jsou inteligentní samy si určují, jak se vyrenderují mohou generovat různý výstup pro různé klienty komponenty jsou znovupoužitelné žádný „spaghetti-code“ událostmi řízené programování schovávají bezstavovost HTTP silná podpora v nástrojích
Je jich celá řada   O nich později
Ukázka
Oživujeme nejen komponenty
OpenAJAX Serverová a klientská část Snadné navázání na serverové komponenty Konzumace a tvorba webových služeb
Klientské komponenty Podpora šablonování DataBinding Deklarativní skriptování (xmlns) CSS selektory Integrace jQuery Integrální součást ASP.NET Plná podpora ve Visual Studiu (Intellisense) Patche od MS, Support
< body xmlns : sys =&quot;javascript:Sys&quot;  xmlns : dv =&quot;javascript:Sys.UI.DataView&quot;> < div  id =&quot;tripList&quot;  sys : attach =&quot;dv&quot;  dv : data =&quot;{{myData}}&quot;  dv : template =&quot;{{$get('template2')}}&quot;></ div > < div  id =&quot;template2&quot;  class =&quot;sys-template&quot;  xmlns : ac =&quot;javascript:Sys.UI.AutoComplete&quot;  xmlns : wm =&quot;javascript:Sys.UI.Watermark&quot;  xmlns : dp =&quot;javascript:Sys.UI.DatePicker&quot;> < input  type =&quot;text&quot;  value =&quot;{Binding airport, mode=twoWay}&quot; sys : id =&quot;{{ 'airport' + $index }}&quot;  sys : attach =&quot;ac,wm&quot;  ac : serviceUrl =&quot;airportList.asmx&quot;  ac : minimumPrefixLength =&quot;{{1}}&quot;  wm : text =&quot;Type the name of an airport&quot; /> < input  type =&quot;text&quot;  value =&quot;{Binding flight, mode=twoWay}&quot; sys : id =&quot;{{ 'flight' + $index }}&quot; /> < input  type =&quot;text&quot;  value =&quot;{Binding date, mode=twoWay}&quot;  sys : id =&quot;{{ 'date' + $index }}&quot;  sys : attach =&quot;dp&quot;  dp : lowerBound =&quot;{{ new Date(1970, 4, 21) }}&quot;  dp : upperBound =&quot;{{ new Date(2050, 1, 1) }}&quot; /> </ div > </ body >
Přístup k datům pomocí REST služeb
Patří do rodiny ADO.NET - přístup k datům Framework pro snadnou tvorbu REST služeb Primárně staví nad Entity Frameworkem a WCF Podpora JSON a ATOM
Dotazování GET parametr $filter /Orders?$filter=Customers/CustomerID eq 'ALFKI' or Customers/CustomerID eq 'WOLZA'
Klientské knihovny MS AJAX MS Silverlight Service Reference ve Visual Studiu Snadná konzumace REST XmlHttpRequest HttpWebRequest
Ukázka
Rychlá tvorba administračních rozhraní
Čerstvý přírůstek do rodiny ASP.NET .NET 3.5 SP1 Pro tvorbu „data-driven“ webů typicky administrační rozhraní pro databázi
Ukázka
Zjednodušený model stránky
Komplikovaný sled událostí („page lifecycle“) PostBack model závislý na JavaScriptu ViewState Generovaná klientská ID „ Leaky abstraction“    ASP.NET MVC
Ruší událostmi řízený model stránky Přináší: Starý známý Model-View-Controller Dokonalá kontrola nad odesílaným HTML URL routing Volitelné ViewEngines Mockovatelné třídy Snazší testovatelnost …  při zachování většiny výhod ASP.NET
Větší pracnost Nulový ekosystém komponent Riziko spaghetti kódu
Microsoft vyvíjí a podporuje oba modely Každý si může vybrat, co mu vyhovuje Každý se hodí na něco jiného    Web Forms  a  MVC  budou koexistovat
Ukázka
Na co se těšit
Obecný trend:  postupná integrace  technologií vydávaných v „preview“ verzích AJAX preview    ASP.NET 3.5 Dynamic Data: preview    ASP.NET 3.5 SP1 MVC: preview    ASP.NET 4.0 Pro .NET 4 se neočekává žádná další převratná technologie spíše řada menších a velmi užitečných vylepšení
Podpora dynamických jazyků IronPython, IronRuby, JScript, VisualBasic… Integrace jQuery
URL routing Lepší podpora CSS Kontrola nad ClientID a ViewState AJAX DynamicImage control
Scaffolding pro MVC (integrace Dynamic Data)
 
 
Součást .NETu rozsáhlý framework výkonné běhové prostředí výběr programovacích jazyků statické dynamické přenositelnost znalostí QA
„ Tak akorát“ rychlý vývoj nových verzí major release každé 2-3 roky mezitím několik menších vylepšení preview verze pro early adoptery
Visual Studio plus řada doplňků třetích stran (Resharper, CodeRush , TDD.net…) Express edice zdarma
Rozsáhlý ekosystém komponent open source komerční
Podpora více modelů vývoje web forms MVC home-grown third-party (MonoRail) vyberte si, který vám vyhovuje
Vazba na Windows Server (IIS)    horší dostupnost hostingů … ?
Visual Web Developer Express  - zdarma nebo plné Visual Studio
Web Platform Installer  - nainstaluje vše, snadno a rychle VWD Express SQL Server Express IIS7 volitené IIS moduly (URL rewrite, ARR, …) podpora pro PHP ( !! )
Web Applications Installer
 
 

ASP.NET 3.5 / futures

  • 1.
    Microsoftí technologie pro webový vývoj Borek Bernard www.borber.com Aleš Roubíček www.rarous.net
  • 2.
    ASP.NET = webová technologie Microsoftu
  • 3.
    Prototyp „XSP“ naprogramoval Scott Guthrie přes vánoční svátky pomocí Javy 1997
  • 4.
    První beta verzePřejmenováno na ASP+ … a po vytvoření marketingové značky .NET na ASP.NET 1997 2000
  • 5.
    ASP.NET 1.0 ScottGuse stává Product Unit Managerem 1997 2000 2002
  • 6.
    Vlastnosti ASP.NET: model web forms ASMX web services silná podpora OOP výkon 1997 2000 2002
  • 7.
    ASP.NET 1.1 VisualStudio .NET 2003 dolaďuje se řada základních věcí 1997 2000 2002 2003
  • 8.
    ASP.NET 2.0 Významnézměny v .NET frameworku CLR 2.0 tvoří základ dodnes 1997 2000 2002 2003 2005
  • 9.
    novinky v ASP.NET2.0: Master Pages, Web Parts Automatická kompilace P odpora XHTML Themes, Skins Navigace, SiteMap Membership, Profiles 1997 2000 2002 2003 2005
  • 10.
    ASP.NET 3.5 VisualStudio 2008 C# 3.0, VB9 ScottGu vice president 1997 2000 2002 2003 2005 2007/8
  • 11.
    ASP.NET 3.5: AJAXintegrace s IIS7 nové controly (ListView) Agilní vývoj 1997 2000 2002 2003 2005 2007/8
  • 12.
    ASP.NET 3.5 SP1Dynamic Data URL routing Podpora Entity Frameworku 1997 2000 2002 2003 2005 2008
  • 13.
  • 14.
    ASP.NET Konfigurace MembershipAPI IIS Přístup k datům Visual Studio Deployment Debugging Cachování
  • 15.
    ASP.NET WPF WCFWF LINQ Languages lambda výrazy Ruby var (type inference) extension methods anonymní typy LINQ XML literály Python System.AddIn JSON serialization System.Diagnostics.Eventing Core
  • 16.
    Komponentový přístup ktvorbě aplikací
  • 17.
  • 18.
    komponenty jsou inteligentnísamy si určují, jak se vyrenderují mohou generovat různý výstup pro různé klienty komponenty jsou znovupoužitelné žádný „spaghetti-code“ událostmi řízené programování schovávají bezstavovost HTTP silná podpora v nástrojích
  • 19.
    Je jich celářada  O nich později
  • 20.
  • 21.
  • 22.
    OpenAJAX Serverová aklientská část Snadné navázání na serverové komponenty Konzumace a tvorba webových služeb
  • 23.
    Klientské komponenty Podporašablonování DataBinding Deklarativní skriptování (xmlns) CSS selektory Integrace jQuery Integrální součást ASP.NET Plná podpora ve Visual Studiu (Intellisense) Patche od MS, Support
  • 24.
    < body xmlns: sys =&quot;javascript:Sys&quot; xmlns : dv =&quot;javascript:Sys.UI.DataView&quot;> < div id =&quot;tripList&quot; sys : attach =&quot;dv&quot; dv : data =&quot;{{myData}}&quot; dv : template =&quot;{{$get('template2')}}&quot;></ div > < div id =&quot;template2&quot; class =&quot;sys-template&quot; xmlns : ac =&quot;javascript:Sys.UI.AutoComplete&quot; xmlns : wm =&quot;javascript:Sys.UI.Watermark&quot; xmlns : dp =&quot;javascript:Sys.UI.DatePicker&quot;> < input type =&quot;text&quot; value =&quot;{Binding airport, mode=twoWay}&quot; sys : id =&quot;{{ 'airport' + $index }}&quot; sys : attach =&quot;ac,wm&quot; ac : serviceUrl =&quot;airportList.asmx&quot; ac : minimumPrefixLength =&quot;{{1}}&quot; wm : text =&quot;Type the name of an airport&quot; /> < input type =&quot;text&quot; value =&quot;{Binding flight, mode=twoWay}&quot; sys : id =&quot;{{ 'flight' + $index }}&quot; /> < input type =&quot;text&quot; value =&quot;{Binding date, mode=twoWay}&quot; sys : id =&quot;{{ 'date' + $index }}&quot; sys : attach =&quot;dp&quot; dp : lowerBound =&quot;{{ new Date(1970, 4, 21) }}&quot; dp : upperBound =&quot;{{ new Date(2050, 1, 1) }}&quot; /> </ div > </ body >
  • 25.
    Přístup k datůmpomocí REST služeb
  • 26.
    Patří do rodinyADO.NET - přístup k datům Framework pro snadnou tvorbu REST služeb Primárně staví nad Entity Frameworkem a WCF Podpora JSON a ATOM
  • 27.
    Dotazování GET parametr$filter /Orders?$filter=Customers/CustomerID eq 'ALFKI' or Customers/CustomerID eq 'WOLZA'
  • 28.
    Klientské knihovny MSAJAX MS Silverlight Service Reference ve Visual Studiu Snadná konzumace REST XmlHttpRequest HttpWebRequest
  • 29.
  • 30.
  • 31.
    Čerstvý přírůstek dorodiny ASP.NET .NET 3.5 SP1 Pro tvorbu „data-driven“ webů typicky administrační rozhraní pro databázi
  • 32.
  • 33.
  • 34.
    Komplikovaný sled událostí(„page lifecycle“) PostBack model závislý na JavaScriptu ViewState Generovaná klientská ID „ Leaky abstraction“  ASP.NET MVC
  • 35.
    Ruší událostmi řízenýmodel stránky Přináší: Starý známý Model-View-Controller Dokonalá kontrola nad odesílaným HTML URL routing Volitelné ViewEngines Mockovatelné třídy Snazší testovatelnost … při zachování většiny výhod ASP.NET
  • 36.
    Větší pracnost Nulovýekosystém komponent Riziko spaghetti kódu
  • 37.
    Microsoft vyvíjí apodporuje oba modely Každý si může vybrat, co mu vyhovuje Každý se hodí na něco jiného  Web Forms a MVC budou koexistovat
  • 38.
  • 39.
    Na co setěšit
  • 40.
    Obecný trend: postupná integrace technologií vydávaných v „preview“ verzích AJAX preview  ASP.NET 3.5 Dynamic Data: preview  ASP.NET 3.5 SP1 MVC: preview  ASP.NET 4.0 Pro .NET 4 se neočekává žádná další převratná technologie spíše řada menších a velmi užitečných vylepšení
  • 41.
    Podpora dynamických jazykůIronPython, IronRuby, JScript, VisualBasic… Integrace jQuery
  • 42.
    URL routing Lepšípodpora CSS Kontrola nad ClientID a ViewState AJAX DynamicImage control
  • 43.
    Scaffolding pro MVC(integrace Dynamic Data)
  • 44.
  • 45.
  • 46.
    Součást .NETu rozsáhlýframework výkonné běhové prostředí výběr programovacích jazyků statické dynamické přenositelnost znalostí QA
  • 47.
    „ Tak akorát“rychlý vývoj nových verzí major release každé 2-3 roky mezitím několik menších vylepšení preview verze pro early adoptery
  • 48.
    Visual Studio plusřada doplňků třetích stran (Resharper, CodeRush , TDD.net…) Express edice zdarma
  • 49.
    Rozsáhlý ekosystém komponentopen source komerční
  • 50.
    Podpora více modelůvývoje web forms MVC home-grown third-party (MonoRail) vyberte si, který vám vyhovuje
  • 51.
    Vazba na WindowsServer (IIS)  horší dostupnost hostingů … ?
  • 52.
    Visual Web DeveloperExpress - zdarma nebo plné Visual Studio
  • 53.
    Web Platform Installer - nainstaluje vše, snadno a rychle VWD Express SQL Server Express IIS7 volitené IIS moduly (URL rewrite, ARR, …) podpora pro PHP ( !! )
  • 54.
  • 55.
  • 56.