際際滷

際際滷Share a Scribd company logo
V箪voj Windows Store aplikac鱈 pomoc鱈 HTML,
CSS a Javascriptu
2012 息 Skype. Commercially confidential.
Aby bylo jasno 
 p哲vodn Modern aplikace

 posl辿ze Metro aplikace

 nyn鱈 Windows Store aplikace (Windows Store Apps)




 2012 息 Skype. Commercially confidential.
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.
Skype a Windows 8




2012 息 Skype. Commercially confidential.
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.
Windows 8




2012 息 Skype. Commercially confidential.
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.
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.
Windows Store aplikace




2012 息 Skype. Commercially confidential.
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.
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.
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.
貼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.
Javascript, HTML a CSS




2012 息 Skype. Commercially confidential.
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.
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.
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.
HTML markup - p鱈klad
<!-- sablona pro polozku listview -->

<div id="myTemplate" data-win-control="WinJS.Binding.Template">

   <div style="width: 150px; height: 100px;">

        <h2 data-win-bind="innerText: venueName"></h2>

        <div data-win-res="{textContent: 'address_title'}"></div>

        <div data-win-bind="innerText: venueAddress"></div>

   </div>

</div>
 2012 息 Skype. Commercially confidential.
CSS
 CSS3 na steroidech

 propriet叩rn鱈 -ms property, -ms hodnoty, -ms pseudoelementy
      display: -ms-grid; display: -ms-flexbox;
      -ms-grid-columns: 1fr 300px;
      input::-ms-clear

 media query
      -ms-view-state: fullscreen | snapped | fill




 2012 息 Skype. Commercially confidential.
Demo




2012 息 Skype. Commercially confidential.
或岳叩噛一霞?
        jindraparus

        @jparus

        jindrich.parus@skype.net



Kam d叩l?
 graduates hiring program

 jobs.skype.com


 2012 息 Skype. Commercially confidential.

More Related Content

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.
  • 4. Skype a Windows 8 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.
  • 6. Windows 8 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.
  • 9. Windows Store aplikace 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.
  • 14. Javascript, HTML a CSS 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.
  • 18. HTML markup - p鱈klad <!-- sablona pro polozku listview --> <div id="myTemplate" data-win-control="WinJS.Binding.Template"> <div style="width: 150px; height: 100px;"> <h2 data-win-bind="innerText: venueName"></h2> <div data-win-res="{textContent: 'address_title'}"></div> <div data-win-bind="innerText: venueAddress"></div> </div> </div> 2012 息 Skype. Commercially confidential.
  • 19. CSS CSS3 na steroidech propriet叩rn鱈 -ms property, -ms hodnoty, -ms pseudoelementy display: -ms-grid; display: -ms-flexbox; -ms-grid-columns: 1fr 300px; input::-ms-clear media query -ms-view-state: fullscreen | snapped | fill 2012 息 Skype. Commercially confidential.
  • 20. Demo 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

  1. 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
  2. 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
  3. 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)
  4. .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
  5. kod - html, js, csspristup v markupu&lt;imgsrc=/images/logo.png&gt;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
  6. 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??