Jouni Heikniemi Offbeat Solutions MODERNI WEB-KEHITYS ASP.NETILLÄ
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?
ASP.NET <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: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...” />
ASP.NET
ASP.NET ASP.NET MVC
ASP.NET MVC Perussiisti toteutus Model-View-Controller –mallista Erittäin hyvin laajennettavissa Lähdekoodi saatavilla
HTML5, CSS3
Öö, se HTML:hän menee sinne clientille? Mitä siellä serverillä nyt oikein tarvitaan?
MODERNIZR JavaScript-kirjasto Saatavilla NuGetilla... Tai Mahdollistaa HTML5- ja CSS3-ominaisuuksien tuen tunnistamisen tehokkaasti Sekä CSS:ssä että JavaScriptissä Mahdollistaa puuttuvien ominaisuuksien korvaamisen muilla ratkaisuilla
DATANKÄSITTELY
DEMO: JSON-RAJAPINTA
DEMO: ODATA
ODATA REST-pohjainen tietolähde, jossa monipuolinen kyselykieli 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
WEBSOCKETIT
REAALIAIKAINEN KOMMUNIKOINTI
PERINTEINEN POLLAUSTEKNIIKKA Latenssi!
”LONG POLLING”
WEBSOCKETS GET /ws HTTP/1.1 Upgrade: websocket Connection: Upgrade HTTP/ Switching Protocols Upgrade: websocket Connection: Upgrade HTTP/ Switching Protocols Upgrade: websocket Connection: Upgrade
WEBSOCKETS
WEBSOCKETS – STANDARDOINNIN TILA RFC 6455 W3C API
WEBSOCKETS - SELAINTUKI caniuse.com + Flash 10!
WEBSOCKETIT MICROSOFT-ALUSTALLA IIS 8 Windows 8 WCF 4.5 ASP.NET 4.5 IE 10 tai muu hyvin uusi selain Oma rajapinta
... VAI VIELÄ VÄHÄN KORKEAMMALLA TASOLLA? IIS 8 Windows 8 WCF 4.5 ASP.NET 4.5 IE 10 tai muu hyvin uusi selain vanhempikin käy Oma rajapinta SignalR SignalR / JS WebSockets WebSockets / long polling
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)
WEBIN UUSI AIKA?
Microsoft on avautunut. Avaudu nyt sinäkin.
OPETTELE... JavaScript-ohjelmointi DOM jQuery Tiedon välittäminen (JSON, OData) HTTP Avoimen lähdekoodin projektien käyttö: GitHub, CodePlex, NuGet ym.
KIITOS!