1 / 30

Moderni web-kehitys ASP.NETillä

Moderni web-kehitys ASP.NETillä. Jouni Heikniemi Offbeat Solutions 18.1.2012. Agenda. ASP.NET-kehittäjät, webin osaajat. Kenelle?. Modernien web-tekniikoiden eri osa-alueiden palvelintoteutusta. Sisältö?. Niksejä, linkkejä, y leiskäsitys toteutustavoista. Mitä jää käteen?. ASP.NET.

brasen
Download Presentation

Moderni web-kehitys ASP.NETillä

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related