Előszó... 13 1. A Windows alkalmazásfejlesztés rövid története... 15 A Windows életútja... 15 A Windows 8 paradigmaváltása... 16 A Microsoft megteszi az első lépéseket a fogyasztók felé... 17 A Windows 8 megjelenik a színen... 17 A Windows programozási felületek és eszközök rövid története... 19 A C programozási nyelv hatalma... 19 A C++ átveszi a C helyét... 22 A Visual Basic... 23 A Delphi... 24 A.NET felbukkanása... 24 Az új felhasználói felület technológiák... 25 A Windows alkalmazásfejlesztés 22-es csapdája... 27 Összegzés... 28 2. Bevezetés a Windows 8 használatába... 29 Két cél, két felület, egy operációs rendszer... 29 Adatbevitel Windows 8-on... 30 A Windows 8 használata érintésvezérléssel... 30 Egyéb adatbeviteli eszközök Windows 8-on... 30 A Start képernyő és az élő csempék... 30 A csempék létrehozása... 31 A csempék átrendezése... 32 A csempék csoportosítása... 33 Műveletek a csempékkel... 35 A Windows Store alkalmazások használata... 36 Alkalmazások indítása és bezárása... 36 Váltás a Windows Store alkalmazások között... 36 Több Windows Store alkalmazás egyidejű futtatása... 38 A Charm bar... 39 Keresés... 40 Megosztás... 41 Eszközök és Beállítások... 42 Az Asztal... 43 Átkapcsolás az Asztalra... 43 Az Asztal és az alkalmazások használata... 43 Összegzés... 44 7
3. A Windows 8 architektúrája a fejlesztő szemszögéből... 45 A Windows 8 fejlesztői architektúrája... 45 Az asztali alkalmazások rétegei... 47 A Windows 8 stílusú alkalmazások rétegei... 48 A kihívás... 49 Az architektúra rétegek áttekintése... 49 A Windows Runtime architektúrájának áttekintése... 50 Metaadatok a Windows Runtime-ban... 53 Nyelvi leképzés... 58 A Windows Runtime hasznossága... 59 Ami nem része a Windows Runtime-nak... 60 A.NET keretrendszer 4.5-ös változata... 61 A.NET keretrendszer 4.5 változatának telepítési modellje... 61 Windows Runtime integráció... 62 Aszinkron műveletek támogatása... 62 Egyéb újdonságok... 63 A projektekre illeszkedő technológia kiválasztása... 63 A Windows Store... 63 Windows 8 stílusú vagy asztali alkalmazások?... 64 Programozási nyelv választása... 64 Összegzés... 65 4. Bevezetés a Windows 8 aszinkron programozásába... 67 A szinkron modell... 67 Az aszinkron programozási modell áttekintése... 68 Aszinkron programozás az APM segítségével... 68 Aszinkron programozás az eseményalapú modell segítségével... 69 Az APM használata... 70 Nyelvi szintű aszinkronitás a C# 5.0-ban... 72 Aszinkron metódusok készítése az async módosítóval... 72 Az async módosítóval megjelölt metódusok hívásának módosítása az await operátorral... 73 Tudnivalók az aszinkron metódusokról... 78 Bevezetés a Task Parallel Library-be... 80 Miért van szükség a párhuzamosításra?... 80 Párhuzamosan futó műveletek indítása... 81 Párhuzamosan futó műveletek bevárása... 83 Párhuzamosan futó műveletek futásának megszakítása... 85 Kivételkezelés párhuzamosan futó műveleteknél... 86 Összefoglalás... 90 5. Windows 8 XAML alapismeretek... 91 Történelmi áttekintés... 91 XAML szintaktika... 91 Beépített vezérlők... 94 Button... 95 RepeatButton... 95 8
HyperlinkButton... 96 ToggleButton... 96 ToggleSwitch... 96 CheckBox... 96 RadioButton... 96 TextBlock... 96 TextBox... 97 PasswordBox... 97 Slider... 97 ProgressBar és ProgressRing... 98 Felületek elrendezése... 98 Grid... 99 Alignment... 101 StackPanel... 102 VariableSizedWrapGrid... 103 Margin... 105 Padding... 106 Canvas... 107 Transzformációk... 108 XAML + C#... 110 Összegzés... 111 6. Windows 8 XAML ismeretek mélyebben... 113 Erőforrások... 113 Beépített erőforrások... 115 Stílusok... 115 Sablonok... 118 Animációk... 119 Beépített animációk ThemeAnimation... 121 Visual State Manager... 121 Beépített átmenet-animációk ThemeTransition... 122 Adatkötés... 124 Összegzés... 131 7. Modern vezérlők használata Windows 8 stílusú alkalmazásokban... 133 Hatékony adatkezelés a CollectionViewSource segítségével... 133 Csoportosítás a CollectionViewSource segítségével... 134 Adatnavigáció a CollectionViewSource segítségével... 135 Listás adatok megjelenítése és a ListViewBase osztály... 136 A GridView vezérlő... 137 Adatok megjelenítése a GridView vezérlőben... 137 Layout testreszabása... 139 Elemek testreszabása... 139 Elemek kiválasztása... 142 Csoportok kezelése... 143 Igényalapú adatletöltés... 144 9
A ListView vezérlő... 145 A SemanticZoom használata... 146 Speciális listakezelés a FlipView vezérlővel... 148 Összegzés... 149 8. Windows 8 alkalmazásfejlesztés HTML5 és JavaScript segítségével... 151 Bevezetés... 151 Út a HTML5-ig... 151 A HTML5/JavaScript szerepe a Windows 8 fejlesztői platformon... 152 A Windows 8 alkalmazások működése... 153 App Container... 153 Local context web context... 154 Ismerkedés a fejlesztőeszközökkel... 155 Hello World... 155 Alapvető vezérlők... 162 Érzékelők használata... 164 Blend for HTML... 166 Összegzés... 167 9. Alkalmazások integrálása a Windows 8 szolgáltatásaival... 169 A Windows 8 életciklus-modellje... 169 Fájlok elérése... 173 Fájlok kiválasztása a Picker Contract-ok segítségével... 174 Csempék kezelése... 175 Szenzorok kezelése... 179 Egy egyszerű példa: kamera és mikrofon használata... 180 Összegzés... 183 10. Haladó Windows 8 integrációs ismeretek... 185 Háttérfolyamatok létrehozása... 185 Integráció a keresővel (Search Contract)... 187 Integráció a beállítások panellel... 190 Pozíció meghatározása szenzorokkal... 193 Összegzés... 195 11. Webes szolgáltatások használata a Windows 8 alkalmazásokban... 197 Bevezetés... 197 Webszolgáltatások használata... 198 A webszolgáltatások működése... 198 Szinkron és aszinkron hívások... 199 Webszolgáltatás egy mintaalkalmazásban... 199 Bevezetés a Live SDK használatába... 204 A Live SDK... 204 A Live SDK használata egy mintaalkalmazásban... 204 Valós idejű kommunikáció... 209 Alapfogalmak... 209 10
Valós idejű kapcsolat fenntartásának lehetőségei... 210 Valós idejű kommunikáció megvalósítása Time Trigger segítségével... 211 A felhő és a Windows 8 alkalmazások... 215 Adatelérés az OData protokollon keresztül... 216 Összegzés... 222 12. A C++ programozási nyelv és a Windows 8 alkalmazások... 223 A Microsoft és a C++ programozási nyelv... 223 Tiszta és biztonságos... 224 A C++ programozási nyelv legfontosabb változásai... 226 Deklarációk... 227 Új konténerek a Standard Template Library-ban... 228 Okos mutatók... 228 Rvalue hivatkozások... 229 Mozgatási szemantika... 229 Lambda kifejezések... 230 Új C++ típusok... 231 Windows 8 stílusú alkalmazások készítése C++ programozási nyelven... 231 A C++ programozási nyelv privilégiumai a Windows 8 stílusú alkalmazásokban... 232 A Windows Runtime és a C++... 233 A Windows Runtime objektumok kezelése a C++-ban... 233 Futásidejű osztályok létrehozása... 235 Kivételek... 236 A C++ képességeinek a felfedezése a Visual Studióval... 239 C++ projektek létrehozása... 239 Egy C++ projekt elemei... 240 A Platform::String típus használata... 241 Futásidejű konténerek használata... 243 Aszinkron műveletek használata... 244 Az Accelerated Massive Parallelism használata... 245 Összegzés... 248 13. A Windows Store és használata...249 A Windows Store... 249 A Windows Store beállításai... 251 Windows Store fejlesztői regisztráció és szabályok... 252 A Windows Store üzleti modelljei... 252 Alkalmazások összekapcsolása a weboldalunkkal... 254 Windows Store szabályok... 256 Próbaváltozat készítése (Trial mód)... 257 Vásárlás az alkalmazásból... 260 Funkciók vásárlása... 261 További termékspecifikus információ lekérdezése... 262 Reklámok beágyazása... 263 Windows App Certification Kit... 265 Alkalmazás feltöltése a Windows Store-ba... 266 Összegzés... 271 11