Vyvoj Windows Store aplikaci pomoci HTML, CSS a Javascriptu
1. V箪voj Windows Store aplikac鱈 pomoc鱈 HTML,
CSS a Javascriptu
2012 息 Skype. Commercially confidential.
2. Aby bylo jasno
p哲vodn Modern aplikace
posl辿ze Metro aplikace
nyn鱈 Windows Store aplikace (Windows Store Apps)
2012 息 Skype. Commercially confidential.
3. Obsah
1. Skype a Windows 8
2. obecn o platform Windows 8
3. Windows Store aplikace
4. Windows Library for Javascript
5. demo
2012 息 Skype. Commercially confidential.
5. Skype a Windows 8
Skype je sou叩st鱈 Microsoftu od 1.1.2012
jsme samostatn叩 divize na stejn辿 炭rovni jako Windows, Office nebo Xbox
napadlo n叩s, 転e udlat Skype pro Windows 8 nen鱈 邸patn箪 n叩pad
shodou okolnost鱈, podobn箪 n叩pad mlo veden鱈 Microsoftu
pem箪邸leli jsme v em to budeme ps叩t
chtlii jsme vyu転鱈t experty na web frontend (HTML, CSS)
trochu jsme se b叩li C# + XAML
Skype pro Windows 8 nen鱈 jen o Javascriptu
100 v箪voj叩哲 a QE, 10 t箪m哲
C++/C# backend, PHP web backend, Postgres database, web front end (HTML/CSS/JS)
2012 息 Skype. Commercially confidential.
7. Windows 8 - WinRT
nov叩 sada API
modern鱈 a jednoduch辿
HDC, WndProc, LPARAM, ...
asynchronn鱈
zejm辿na kv哲li touch
projekce WinRT API C++, C#, VB, Javascript
2012 息 Skype. Commercially confidential.
8. Co potebujete pro v箪voj
Windows 8
Visual Studio 2012 (Express/Ultimate)
Blend
DOM Explorer
Zephyr
ale sta鱈 notepad a PowerShell ...
pokud nepotebujeme ps叩t native WinRT komponenty
e-book: Brockschmidt, Kraig: Programming Windows 8 Apps with HTML, CSS and
Javascript (zdrama)
tak辿 jsme na n鱈 za鱈nali
je skvl叩
2012 息 Skype. Commercially confidential.
10. Pro zrovna HTML, Javascript a CSS
roz邸鱈en叩 technologie
jednoduchost
zkuste vysvtlit prarodi哲m C++ a Javascript
nebude to pomal辿?
IE 10
hardwareov叩 akcelerace CSS
m哲転eme ps叩t i nativn鱈 k坦d v C++
odpadaj鱈 probl辿my s kompatibilitou
2012 息 Skype. Commercially confidential.
11. Z eho se Windows Store aplikace skl叩d叩
zdrojov箪 k坦d (.js,
.css, .html)
nativn鱈
k坦d (.dll)
resources (.png,
.svg, )
AppxManifest.xml
.appx
2012 息 Skype. Commercially confidential.
12. Jak aplikace b転鱈
wwahost.exe
IE 10
window.alert(), window.open()
sandbox
izolace
鱈zen箪 p鱈stup k citliv箪m za鱈zen鱈m (kamera, mikrofon)
p鱈stup do souborov辿 syst辿mu (uruje manifest)
lok叩ln鱈 kontext vs. web kontext
p鱈stup k WinRTAPI, p鱈stup ke vzd叩len箪m skript哲m
2012 息 Skype. Commercially confidential.
13. 貼ivotn鱈 cyklus Windows Store aplikace
v箪dr転 baterie, bandwidth
focus b転鱈
nem叩 focus usp鱈 se (suspended) a posl辿ze ukon鱈 (terminated)
o usp叩n鱈 dostaneme zpr叩vu, m叩me 5 s na ulo転en鱈 stavu (crash pokud to nestihneme)
o ukonen鱈 zpr叩vu nedostaneme, m哲転e nastat kdykoli, mimo na邸i kontrolu
podpora pro always connected
push notifikace
toast, tile, badge
2012 息 Skype. Commercially confidential.
15. Javascript
tak, jak ho v邸ichni zn叩me
IE 10
podpora ECMAScript 5 strict mode (use strict)
existuj鱈c鱈 knihovny
JQuery
Windows Library for Javascript 1.0 (WinJS)
TypeScript
2012 息 Skype. Commercially confidential.
16. WinJS
sd鱈len叩 knihovna, automaticky distribuovan叩 pes Windows Store (manifest)
JQuery pro Windows Store aplikace
Namespace, Class konstrukce
derive, mix
podpora pro pr叩ci s asynchronn鱈mi vol叩n鱈mi
WinJS.Promise
z叩kladn鱈 ovl叩dac鱈 prvky Window Store aplikac鱈 (nav鱈c k standardn鱈m HTML5)
listview, rating,
data-binding one-time, one-way
2012 息 Skype. Commercially confidential.
17. HTML
HTML5
Windows 8 specifick辿 atributy
data-win-control, data-win-bind,
data-win-res, data-win-options
standardn鱈 ovl叩dac鱈 prvky
navigace pid叩v叩n鱈m element哲 do
DOMu sp鱈邸e ne転 pes <a
href=>
2012 息 Skype. Commercially confidential.
21. 或岳叩噛一霞?
jindraparus
@jparus
jindrich.parus@skype.net
Kam d叩l?
graduates hiring program
jobs.skype.com
2012 息 Skype. Commercially confidential.
Editor's Notes
puvodne Modern aplikace - to budeznitblbeza par let, proto転eu転 to nebude Modernposleze Metro, ale pak se ukazaloze to je jen codename a veskutecnostinemeckasamoobluha - co muzemeocekavat pro prazske metro se zatim nevioficialninazev Windows Store apps
Windows 8 je nova verze OS od MS. RP public. GA 26. rijna.Windows 8 prinaseji krome klasickeho desktopu zalozeneho na Win32 i novy druh aplikaci bezicich na WinRT API. WinRT je nova sada API pro Windows Store aplikace.Oproti Win32 je WinRT modernejsi a jednodussi (OOP, zadne HDC, WndProc a LPARAM)* Knihach.Petzolda o win32 stale plati, temer 20 letRada volani asynchronni kvuli touch nemuzeme si dovolit blokovat.Promise v javascriptu, await v C#Aplikace zalozene na WinRT bezi v sanboxu izolace od ostatnich aplikaci, rizeny pristup k zarizenim jako napr. Kamera a mikrofon, pristup do souboroveho systemu.Existujiprojekce pro Javascript, C#, C++ a VBProcjsemsivybralJavascript + HTML + CSS nawebexpo?publikumtechnologiejizzna, akoratpouziva v jinemkontextuMS melpodobnyduvod
win8 (RP public, 26. rijna GA)visual studio 2012 expressale pokudnedelame native komponenty, kterevyzadujikompilaci, takstaci notepad, Win8 applikace je pouzezazipovanybalicekblenddom explorerkniha Programming Windows 8 Apps with HTML, CSS and Javascript od KraigaBrockschmidta (preview http://blogs.msdn.com/b/microsoft_press/archive/2012/06/04/free-ebook-programming-windows-8-apps-with-html-css-and-javascript-first-preview.aspx)
.NET (proprietarnitechnologie MS) ma velkoupenetraci, ale ne zdalekatakovoujako JS a HTML5Jednoduchostexistujiciaplikace, knihovnykazdy se to snadnonauci a muzesirikat app developernebude to pomale?js engine IE 10muzemepsati native (hybridniaplikace)C++potrebujemeruznekomponenty pro ruznearchitektury - x86, x64, arm.NET.NET framework 4.5odpadajicrossbrowserproblemy, aplikacepobezijen v IE10
kod - html, js, csspristup v markupu<imgsrc=/images/logo.png>v koduopenFile(ms-appx:///images/logo.png)nativnikoddllskypeano, low level socket komunikaci, kodovani, dekodovanivideazatim v jsnedelame ;-)zdrojeobrazky (rastr, svg), zvuky, jazykoveretezcems-resource://manifest.xmlco je aplikacezac (zakladniidentifikace, store)capabilities - deklarujemepristup k sys. zdrojumkamera, micinternetexplicitnipovoleniuzivatelem, muzekdykolivypnoutjazykypodpis - zabranujezneuzitikoducele v jednombalicku - appx, vlastne zip, ale ma vychytavky pro distribuci a zabezpecenijskod je videt, yay!azbudeskype, tak se podivejteinstalaceprespowershell scriptvlastnejenzapisasinamilion mist v registrechnekonzistencepriselhani deploy/unistall, vim o sys. registru vice nezbychchtel
wwahost - IE 10 bez UI, renderuje HTML a provadi JShosted environmentexistujiodlisnostiwindow.alert(...), window.open(...) nefungujisandboxizolace od systemu a ostatnichaplikacibroked access kezdrojum (kamera, mic, )kamaplikacemuzepsat, odkudmuze cist (manifest!)lokalnikontextma pristup k WinRT APIbezi v nemhlavnistranka (deklarovana v manifestu)web kontextnemapristup k WinRT APIma pristupkevzdalenymskriptumiframems-appx-web:/// nebo http[s]://localdata, locallsettings, roaming folder, temp folderroaming, opravdu??