370 likes | 511 Views
Twitter hashtag: #cztechdays. Pár slov k dnešnímu dni. Celá akce je nahrávána, nepřijdete o nic Navštivte partnerskou expozici a relax zónu Dotazy k tématům O přestávkách N a stánku „Zeptejte se odborníků“ Závěrečné Q & A po poslední přednášce Nesundavejte si náramek Je omyvatelný
E N D
Pár slov k dnešnímu dni... • Celá akce je nahrávána, nepřijdete o nic • Navštivte partnerskou expozici a relax zónu • Dotazy k tématům • O přestávkách • Na stánku „Zeptejte se odborníků“ • Závěrečné Q & A po poslední přednášce • Nesundavejtesi náramek • Je omyvatelný • Vyplňte dotazníky • Twitter hashtag pro celou akci: #cztechdays
Hackathony • 12 hodin programování • Výhrou je konzultace u odborníků z Microsoft Corporation • Detailní informace na www.vyvijej.cz • Twitter hashtag pro celou akci: #cztechdays
Úvod do platformy Windows 8 Metro pro vývojáře Irena Buličková, Audience Marketing Manager Michael Juřek, Architect Evangelist Štěpán Bechynský, Developer Evangelist Twitter hashtag: #cztechdays
Klíčové investice • NovýWindows Runtime (WinRT) APIs • Nové prostředí pro běh aplikací • Nové uživatelské rozhraní Metro • Windows Store
DEMO Windows 8 pro běžné uživatele
PlatformaWindows 8 Metro style Apps Desktop Apps HTML JavaScript HTML / CSS XAML View C# VB C C++ JavaScript (Chakra) C C++ C# VB Model Controller .NET / SL Internet Explorer Win32 WinRT APIs Devices & Printing Communication & Data Graphics & Media System Services Application Model Windows Core OS Services Core
DEMO WinRT C++
Co jste viděli… • WinRTAPI jsou nativní • Použití XAML z C++ • ZnovupoužitelnýC++ kód
Projekce jazyků C++ App Windows Runtime Object (or Component) Written in C++, C#, VB Projection C#/VB App CLR Projection HTML App Chakra Projection Windows Metadata
DEMO WinRT C#
DEMO WinRT JavaScript
Co jste viděli… • WinRTAPI jsou asynchronní • WinRT API zpříspupňují senzory, systém, ... • WinRT API pracují nativně s C#, JavascriptaC++
Kdy je aplikace spuštěna? Windows 7 Windows 8 Uživatel ovládá život aplikace Systém ovládá život aplikace
Stavy aplikace Pozastavení (suspending) Pozastavená (Suspended) Ukončená (Terminated) Spuštěná (Running) Málo zdrojů? Obnovení (resuming)
Izolace procesů Process2 Process1 Contracts Local context Local context Web context Web context AppData AppData Contracts Local Local Temp Roaming Roaming Temp Direct APIs Brokers OS Tiles Handlers Devices User data Communications Cryptography …
Aplikační datavs. Uživatelská data App data Settings Files SessionState LocalCache User data Documents Photos Music Videos
Sdílení Lokální úložiště Data se synchronizují podle uživatelovaMicrosoft account
Schopnosti(Capabilities) • Aplikace popisuje, které systémové zdroje je schopna využívat • Soubory (File capabilities) –hudba, obrázky, videa, dokumenty, výměnná úložiště • Zařízení (Devices) –webová kamera, mikrofon, lokace, sms, ... • Síť • Asociace typu souboru • Kontrakty(contracts) – vyhledávání, sdílení, nastavení • Uloženo v appxmanifest.xml • Editor ve Visual Studio
DEMO Nastavení aplikace
DEMO Windows Store
Rozdělení zisku • 70% • Pro nové aplikace • 80% • Po dozažení $25,000 Základ Navýšení
Ceny • Určuje autor • Od$1.49 do$999.99 • Zdarma
Platební modely • Jednorázový nákup • Dokupování obsahu (In App Purchase) • Reklama v aplikaci • Vlastní reklamní systém • Microsoft Advertisement
Zkušební verze aplikací • Časové omezení • Omezení na vlastnosti
Zkušební verze → plná verze // get current product varcurrentProduct=Windows.ApplicationModel.Store.CurrentProduct; // get the license information varlicenseInformation=currentProduct.licenseInformation; // check to see if the user has an active non-trial license if(licenseInformation.isTrial){ // user has trial version of the application // prompt them to purchase before so we can enable full functionality currentProduct.requestProductPurchaseAsync().then( function(){ // Purchase succeeded EnableFullFunctionality(); }); }
Objednávání z aplikace // can’t do in-app purchase in trial mode, must convert first if (!appLicensingInformation.isTrial) { //load the listings with all the products currentApp.loadListingInformationAsync().then( function (listing) { //lookup a specific product var product1 = listing.productListings.lookup("product1"); if (!product1.isActive) { // purchase currentApp.requestProductPurchaseAsync("product1").then( enableProduct1 ); } });
Simulování prodejního modelu WindowsStoreProxy.xml
Rekapitulace • Windows 8 pro koncové uživatele • Nová uživatelská zkušenost • Vysoký výkon • Důvěra • Windows 8 pro vývojáře • Výběr programovací jazyka • Špičkové vývojářské nástroje • Monetizace