Dajbych.net


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

, 5 minut čtení

S nás­tu­pem Win­dows 10 bude možné hos­to­vat ob­sah ap­likace na vlast­ním serveru. I přesto taková we­bová ap­likace bude mít přístup k Win­dows Run­time – rozhraní, které bylo dřív určené výhradně na­tivním ap­likacím. We­bová ap­likace bude ve Storu hned ve­dle ap­likace na­tivní. Přitom jí bude možné vyví­jet a nasa­zo­vat ste­jně jako we­bovou stránku. K Win­dows Run­time se bude přis­tupo­vat z JavaScriptu. We­bové ap­likace bu­dou ve Win­dows naprosto rovno­cenné ap­likacím na­tivním.

min­ulém díle jsem se věno­val směru, kterým se JavaScript ubírá. Už teď je zřetelně vidět snaha při­blížit we­bové ap­likace možnos­tem, které mají ap­likace na­tivní.

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

Po­jem we­bová ap­likace je velice rozšířený, avšak není snadné ho přesně defi­no­vat. Snaží se však vys­ti­h­nout rozdíl mezi we­bovou ap­likací a we­bovou stránkou. Kla­sická we­bová stránka je HTML, pří­padně CSS a even­tuálně velice střídmý JavaScript. Web byl navržený jako elek­tron­ická nástěnka, jakási plat­forma pro čtení tex­tových doku­mentů, nebo elek­tron­ická kni­hovna. Po videu a sdílení souborů nebylo ani vidu, ani slechu. Vykreslování scény, na které by se dala vytvořit hra, nebo plná kon­trola nad kláves­nicí a myší byla nepřed­s­tavitelná.

Naproti tomu vize we­bových ap­likací byla silná už od počátku HTML5. Původně byl zastřešu­jící po­jem pro vše okolo HTML5 dokonce Web ap­pli­ca­tions, ale HTML5 se rozšířil tak rychle, že se tímto po­jmem začala oz­načovat celá vize we­bových ap­likací.

We­bová ap­likace má ste­jné možnosti jako ap­likace na­tivní, avšak stále se jedná o we­bovou stránku využí­va­jící HTML, CSS a JavaScript. Může vykreslo­vat po­mocí We­bGL ste­jně jako na­tivní ap­likace po­mocí Di­rectX. Je schopna přehrá­vat video ste­jně jako na­tivní ap­likace přes COM ob­jekty. Má možnost uk­lá­dat re­lační data do In­dexedDB ste­jně jako na­tivní ap­likace do SQLite. Sys­tém jí umožní vyvolat di­al­o­gové okno pro otevření nebo uložení souborů. A hlavně je schopná běžet na celé obra­zovce a mít pl­nou kon­trolu nad vs­tupy z per­iferií (tedy myši, kláves­nice, joy­sticku, head­setu a dalších). Jed­ním z cílů pro­jektu Spar­tan bylo vytvoření já­dra proh­lížeče, které zvládne ve­dle vykreslování stránek utáh­nout i graficky nároč­nou we­bovou hru a zpřís­tup­nit jí hard­ware.

V posled­ních něko­lika letech se vytvořily dvě hlavní me­tody, jakými se ap­likace in­stalují a spouštějí. Doby, kdy se prodá­valy na CD v ob­chodech postavených z ci­hel, jsou pryč. První je we­bový vyh­ledá­vač a druhý je store. V pod­s­tatě jde o totéž. Google, Bing a Sez­nam vyh­ledá­vají we­bové ap­likace, zatímco Store, App Store a Google Play vyh­ledá­vají ap­likace na­tivní. We­bové ap­likace se přidá­vají do oblíbených položek nebo záložek, připí­nají se na hlavní panel, star­to­vací obra­zovku nebo novou kartu. Na­tivní ap­likace se in­stalují a zás­tupci se umisťují na plochu, nabídku Start nebo rov­nou na hlavní panel. Ve Win­dows 10 bude mít we­bová ap­likace ste­jné možnosti, jako mají ap­likace na­tivní.

Hosted Web Apps

Hosted Web App je název pro we­bovou ap­likaci, která vy­padá ste­jně, jako jakáko­liv jiná na­tivní ap­likace, je uve­dená ve Storu, ale ve skutečnosti to může být we­bová stránka psaná po­mocí Sublime a vys­tavená přes Git (avšak Vi­sual Stu­dio a TFVC jde samozře­jmě použít také). Google tento přístup nazývá Chrome Pack­aged Apps.

We­bová ap­likace bude moct ak­tu­al­i­zo­vat dlaždici, zo­bra­zo­vat toast no­ti­fikace, mít přístup ke kon­tak­tům v počí­tači a bude mít vyhrazený pros­tor, do kterého může uk­lá­dat své soubory. Ste­jného cíle jde dosáh­nout už teď po­mocí Store ap­likací, které jdou psát v JavaScriptu. Vývo­jáři webů však ne­j­sou zvyklí na to, že ap­likace jde ak­tu­al­i­zo­vat jen nahráním balíčku přes Store. Větši­nou se ak­tu­al­izuje přes Web­De­ploy či FTP, nebo v pří­padě con­tin­u­ous in­te­gra­tion přes TFVC nebo Git. Pokud někdo chtěl vytvořit we­bovou ap­likaci a umístit jí do storu, musel vytvořit ap­likaci na­tivní, která ob­sahuje iframe a další drobné nezbyt­nosti. Hosted Web Apps mají od­s­tranit i tento krok. Win­dows Run­time API bude přís­tupné z JavaScriptu (avšak jen pokud je ap­likace nain­stalo­vaná) a in­for­mace pro Store ob­s­tará man­i­fest. Jestli bude tyto we­bové ap­likace zařa­zo­vat do Storu au­to­mat­icky Bing, zatím jasné není. Stačilo by pak dát na web je­den sou­bor a we­bová ap­likace by se zo­brazila ve Storu. Mys­lím si ale, že je jen otázkou času, než se tak stane.