ASP.NET 3.5 / futures

2,690 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,690
On SlideShare
0
From Embeds
0
Number of Embeds
61
Actions
Shares
0
Downloads
44
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • ASP.NET 3.5 / futures

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

    ×