Moderni web-kehitys ASP.NETillä - PowerPoint PPT Presentation

brasen
moderni web kehitys asp netill n.
Skip this Video
Loading SlideShow in 5 Seconds..
Moderni web-kehitys ASP.NETillä PowerPoint Presentation
Download Presentation
Moderni web-kehitys ASP.NETillä

play fullscreen
1 / 30
Download Presentation
Moderni web-kehitys ASP.NETillä
116 Views
Download Presentation

Moderni web-kehitys ASP.NETillä

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Moderni web-kehitys ASP.NETillä Jouni Heikniemi Offbeat Solutions 18.1.2012

  2. Agenda ASP.NET-kehittäjät, webin osaajat Kenelle? Modernien web-tekniikoiden eri osa-alueiden palvelintoteutusta Sisältö? Niksejä, linkkejä, yleiskäsitys toteutustavoista Mitä jää käteen?

  3. ASP.NET <asp:HyperLink ID="hyperLinkBack" runat="server"/> <asp:GridView id="MyGridView" DataSourceID="MyDataSource1" Runat="Server"/> <asp:SqlDataSource ID="MyDataSource1" runat="server" ConnectionString="Server=YourServer;uid=YourUID;pwd=YourPWD;database=YourDB" ProviderName="System.Data.SqlClient" SelectCommand="SELECT ID, Name FROM Customer"> </asp:SqlDataSource> <asp:GridView id="MyGridView" DataSourceID="MyDataSource1" AllowSorting="True" AllowPaging="True" Runat="Server"/> <input type="submit" name="ctl00$body$ctl00$navigation$ctl00$buttonFormSubmit" value="Hae" id="ctl00_body_ctl00_navigation_ctl00_buttonFormSubmit" /> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPZCgpWFN5c3RlbS5H...” /> <a href="javascript:__doPostBack('ctl00$body$ctl00$main$ctl00$listAnnou ncements$repeaterPaging$ctl06$linkButtonPage','')" ... </a>

  4. ASP.NET 1.0 4.5 1.1 2.0 3.5 4.0 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

  5. ASP.NET 1.0 4.5 1.1 2.0 3.5 4.0 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 1.0 2.0 3.0 4.0 ASP.NET MVC

  6. ASP.NET MVC Perussiisti toteutus Model-View-Controller –mallista Erittäin hyvin laajennettavissa Lähdekoodi saatavilla

  7. HTML5, CSS3

  8. Öö, se HTML:hän menee sinne clientille? Mitä siellä serverillä nyt oikein tarvitaan?

  9. Modernizr • JavaScript-kirjasto • Saatavilla NuGetilla • ... Tai www.modernizr.com • Mahdollistaa HTML5- ja CSS3-ominaisuuksien tuen tunnistamisen tehokkaasti • Sekä CSS:ssä että JavaScriptissä • Mahdollistaa puuttuvien ominaisuuksien korvaamisen muilla ratkaisuilla

  10. Datankäsittely

  11. DEMO: JSON-rajapinta

  12. DEMO: OData

  13. OData • REST-pohjainen tietolähde, jossa monipuolinen kyselykieli • www.odata.org • Serveripää • .NET-ympäristössä WCF Data Services • Helpoiten edmx:stä tai omista olioista • Muille alustoille omia implementaatioitaan • Client-pää • JavaScriptissä helposti ihan vain JSONilla • SDK:t saatavilla useimmille merkittäville alustoille

  14. websocketit

  15. Reaaliaikainen kommunikointi

  16. Perinteinen pollaustekniikka Palvelin Selain Selaintekeepyynnön ainamäärätyinväliajoin Latenssi!

  17. ”long polling” Palvelin Selain Palvelinvastaapyyntöön vasta kun dataa on tullut. Selaintekeehetiuudenpyynnön.

  18. Websockets Palvelin HTTP/1.1 101 Switching Protocols Upgrade: websocketConnection: Upgrade Selain GET /ws HTTP/1.1 Upgrade: websocket Connection: Upgrade

  19. Websockets Palvelin Selain

  20. Websockets – standardoinnin tila Palvelin RFC 6455 Selain W3C API

  21. Websockets - selaintuki caniuse.com + Flash 10!

  22. Websocketit Microsoft-alustalla IE 10 tai muu hyvin uusi selain Oma rajapinta Oma rajapinta WCF 4.5 ASP.NET 4.5 IIS 8 Windows 8

  23. ... Vai vielä vähän korkeammalla tasolla? IE 10 tai muu hyvin uusi selain vanhempikin käy SignalR / JS WebSockets / long polling WebSockets SignalR Oma rajapinta Oma rajapinta WCF 4.5 ASP.NET 4.5 IIS 8 Windows 8

  24. WebSockets-yhteenveto • Uusi, standardi kommunikaatiotapa webin yli • Nopea • Käyttää http/https-yhteyksiä • Ei tietoliikenteellisesti täysin ongelmaton, mutta pieksee perussocketit 6-0 • Microsoftin palvelinpäässä kolme toteutusarkkitehtuuria: • WCF (matalamman tai korkeamman tason) • ASP.NET (matalamman tai korkeamman tason) • SignalR (kaikkein korkeimman tason)

  25. Webin uusi aika?

  26. Microsoft on avautunut. Avaudu nyt sinäkin.

  27. Opettele... • JavaScript-ohjelmointi • DOM • jQuery • Tiedon välittäminen (JSON, OData) • HTTP • Avoimen lähdekoodin projektien käyttö: GitHub, CodePlex, NuGet ym.

  28. Kiitos! jouni@offbeat.fi www.heikniemi.net/hardcoded @jouniheikniemi