Dajbych.net


Projekt Spartan, 5. díl – Windows API pro webové aplikace

, 5 minut čtení

S ná­stu­pem Win­dows 10 bude možné hos­to­vat ob­sah apli­kace na vlast­ním ser­veru. I přesto ta­ková we­bová apli­kace bude mít přístup k Win­dows Run­time – roz­hraní, které bylo dřív ur­čené výhradně na­tiv­ním apli­ka­cím. We­bová apli­kace bude ve Storu hned ve­dle apli­kace na­tivní. Při­tom jí bude možné vy­víjet a na­sa­zo­vat stejně jako we­bo­vou stránku. K Win­dows Run­time se bude přistu­po­vat z Ja­vaScriptu. We­bové apli­kace bu­dou ve Win­dows na­prosto rov­no­cenné apli­ka­cím na­tiv­ním.

mi­nulém díle jsem se vě­no­val směru, kterým se Ja­vaScript ubírá. Už teď je zře­telně vi­dět snaha při­blí­žit we­bové apli­kace mož­nos­tem, které mají apli­kace na­tivní.

Pojem webová aplikace dostává zřetelný obrys

Po­jem we­bová apli­kace je ve­lice roz­šířený, avšak není snadné ho přesně de­fi­no­vat. Snaží se však vy­stih­nout roz­díl mezi we­bo­vou apli­kací a we­bo­vou strán­kou. Kla­sická we­bová stránka je HTML, pří­padně CSS a even­tuálně ve­lice střídmý Ja­vaScript. Web byl na­vr­žený jako elek­tro­nická ná­s­těnka, ja­kási plat­forma pro čtení tex­to­vých do­ku­mentů, nebo elek­tro­nická knihovna. Po vi­deu a sdílení sou­borů ne­bylo ani vidu, ani sle­chu. Vy­kres­lo­vání scény, na které by se dala vy­tvo­řit hra, nebo plná kon­t­rola nad klá­ves­nicí a myší byla ne­před­sta­vi­telná.

Na­proti tomu vize we­bo­vých apli­kací byla silná už od po­čátku HTML5. Pů­vodně byl za­střešující po­jem pro vše okolo HTML5 do­konce Web ap­pli­cati­ons, ale HTML5 se roz­šířil tak rychle, že se tímto po­jmem za­čala ozna­čovat celá vize we­bo­vých apli­kací.

We­bová apli­kace má stejné mož­nosti jako apli­kace na­tivní, avšak stále se jedná o we­bo­vou stránku vyu­ží­vající HTML, CSS a Ja­vaScript. Může vy­kres­lo­vat po­mocí We­bGL stejně jako na­tivní apli­kace po­mocí Di­rectX. Je schopna pře­hrá­vat vi­deo stejně jako na­tivní apli­kace přes COM ob­jekty. Má mož­nost uklá­dat re­lační data do In­de­xedDB stejně jako na­tivní apli­kace do SQ­Lite. Systém jí umožní vy­vo­lat di­alo­gové okno pro ote­vření nebo ulo­žení sou­borů. A hlavně je schopná bě­žet na celé ob­ra­zovce a mít pl­nou kon­t­rolu nad vstupy z pe­ri­fe­rií (tedy myši, klá­ves­nice, joysticku, he­ad­setu a dal­ších). Jed­ním z cílů pro­jektu Spar­tan bylo vy­tvo­ření já­dra pro­hlí­žeče, které zvládne ve­dle vy­kres­lo­vání strá­nek utáh­nout i gra­ficky ná­roč­nou we­bo­vou hru a zpřístup­nit jí hard­ware.

V po­sled­ních ně­ko­lika le­tech se vy­tvo­řily dvě hlavní me­tody, jakými se apli­kace in­stalují a spouš­tějí. Doby, kdy se pro­dá­valy na CD v ob­cho­dech po­sta­ve­ných z ci­hel, jsou pryč. První je we­bový vyhle­dá­vač a druhý je store. V pod­statě jde o to­též. Go­o­gle, Bing a Se­znam vyhle­dá­vají we­bové apli­kace, zatímco Store, App Store a Go­o­gle Play vyhle­dá­vají apli­kace na­tivní. We­bové apli­kace se při­dá­vají do ob­líbe­ných po­lo­žek nebo zá­lo­žek, při­pí­nají se na hlavní pa­nel, star­to­vací ob­ra­zovku nebo no­vou kartu. Na­tivní apli­kace se in­stalují a zá­stupci se umisťují na plo­chu, nabídku Start nebo rov­nou na hlavní pa­nel. Ve Win­dows 10 bude mít we­bová apli­kace stejné mož­nosti, jako mají apli­kace na­tivní.

Hosted Web Apps

Hos­ted Web App je ná­zev pro we­bo­vou apli­kaci, která vy­padá stejně, jako ja­ká­ko­liv jiná na­tivní apli­kace, je uve­dená ve Storu, ale ve sku­teč­nosti to může být we­bová stránka psaná po­mocí Sub­lime a vy­sta­vená přes Git (avšak Vi­sual Stu­dio a TFVC jde sa­mo­zřejmě po­u­žít také). Go­o­gle tento přístup na­zývá Chrome Pac­kaged Apps.

We­bová apli­kace bude moct ak­tua­li­zo­vat dlaždici, zob­ra­zo­vat toast no­ti­fi­kace, mít přístup ke kon­tak­tům v po­čítači a bude mít vyhra­zený prostor, do kte­rého může uklá­dat své sou­bory. Stej­ného cíle jde do­sáh­nout už teď po­mocí Store apli­kací, které jdou psát v Ja­vaScriptu. Vý­vo­jáři webů však nejsou zvyklí na to, že apli­kace jde ak­tua­li­zo­vat jen na­hrá­ním balíčku přes Store. Vět­ši­nou se ak­tua­li­zuje přes We­b­Deploy či FTP, nebo v pří­padě con­ti­nuous in­te­gration přes TFVC nebo Git. Po­kud ně­kdo chtěl vy­tvo­řit we­bo­vou apli­kaci a umís­tit jí do storu, mu­sel vy­tvo­řit apli­kaci na­tivní, která ob­sahuje if­rame a další drobné ne­zbyt­nosti. Hos­ted Web Apps mají od­stra­nit i tento krok. Win­dows Run­time API bude přístupné z Ja­vaScriptu (avšak jen po­kud je apli­kace na­in­stalo­vaná) a in­for­mace pro Store ob­stará ma­ni­fest. Jestli bude tyto we­bové apli­kace zařa­zo­vat do Storu au­to­ma­ticky Bing, zatím jasné není. Sta­čilo by pak dát na web je­den sou­bor a we­bová apli­kace by se zob­ra­zila ve Storu. Mys­lím si ale, že je jen otáz­kou času, než se tak stane.