PV239/WP Vývoj univerzálních Windows Store aplikací Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP gesvindr@mail.muni.cz
Cíle kurzu
Osnova kurzu 1. Seznámení s platformou a nástroji pro vývoj aplikací 2. Základy návrhu UI, implementace UI, úvod do práce s daty 3. Návrhový vzor MVVM, lokální uložení dat 4. Implementace klienta webových služeb
Modul 1 Představení platformy a nástrojů pro vývoj aplikací
Univerzální Windows Store aplikace Aplikace vyvíjená s pomocí frameworku Windows Runtime, kterou lze zkompilovat do verze: Pro Windows 8.1 Pro Windows Phone 8.1 Cílem je co nejvíce sjednotit vývoj aplikací pro tablety a mobilní telefony a tím minimalizovat náklady na vývoj obou verzí Neplatí, že aplikaci vyvinete na jednu platformu a máte automaticky kvalitní verzi i pro druhou platformu
Struktura projektů univerzální aplikace Univerzální Windows Store aplikace je tvořena při vývoji 3 projekty: Verze pro Windows Verze pro Windows Phone Sdílená část Sdílená část se před kompilací vkopíruje do kompilovaného projektu (nejde samostatně zkompilovat)
Jak moc je univerzální aplikace univerzální? Obě verze aplikace by měly být navrhovány cíleně na danou platformu podle pravidel dané platformy To si pravděpodobně vyžádá: Různé scénáře použití aplikace Odlišnosti v uživatelském rozhraní API není 100% stejné
Platforma Windows Store Windows 8.1 přináší nový druh aplikací označovaných jako Windows Store aplikace Windows Store aplikace jsou vyvíjeny pomocí systémového rozhraní Windows Runtime (WinRT) Aplikace využívají nový model uživatelského rozhraní a snáze se integrují do prostředí systému Aplikace jsou primárně distribuovány přes veřejný trh s aplikacemi
Windows Store aplikace na Windows 8.1 Desktop Apps Windows Store apps HTML C/C++ C# / VB.NET C++/ CX XAML C# / VB.NET HTML CSS Javascript Internet Explorer.Net CLR/ Silverlight WinRT APIs Win32 Comm. & Data Graphics & Media Devices & Others Windows Kernel Services
Windows Phone 8.0 API WINDOWS PHONE API.NET Windows Phone Runtime Direct3D, XAudio2, MF, WASAPI, Win32 & COM MANAGED MANAGED & NATIVE NATIVE
Jednotný hardware Display 480x800 WVGA 768x1280 WXGA 720x1280 720p 1920x1080 1080p Capacitive touch 4 or more contact points CPU and GPU Qualcomm Snapdragon S4 dual-core processor Direct3D support Minimum memory 512MB RAM (WVGA) 1024MB RAM (WVGA+) 4GB flash storage Optional: Memory card support Hardware buttons Start, Search, Back, Power, Volume, Camera Camera 5 mega pixels or more Optional: Dedicated camera button, Front camera Sensors A-GPS Proximity and ambient light sensor Accelerometer, Optional: GLONASS, Compass, Gyroscope
Platforma Windows Phone 8.1 Plně implementuje Windows Runtime Vyvíjené aplikace jsou 2 druhů: 1. Windows Phone Silverlight 8.1 Application 2. Windows Phone Store Application
Windows Phone Store Application Unifikovaný druh aplikace s Windows 8.1 Postavena výhradně na Windows Runtime Sjednoceny ovládací prvky s Windows 8.1 Většina je shodných Některé se chovají specificky podle platformy Vybrané jsou specifické pro platformu Stejný.appx formát balíčku s aplikací
Jazyky používané pro vývoj aplikací C# (VB.NET) a XAML Využití znalostí.net frameworku, XAML (WPF, Silverlight) C++ a XAML Zužitkování znalostí C++ Náročnější vývoj než s využitím.netu Vyšší výkon JavaScript a HTML 5 Veliké množství webových vývojářů může vyvíjet nativní aplikace
Co je to XAML? Extensible Application Markup Language (XAML) je deklarativní jazyk který umí vyjádřit jakýkoliv strom CLR objektů XML element v XAML odpovídá.net třídě XML atributy jsou mapovány na vlastnosti objektu Zanoření elementů reprezentuje hierarchii objektů Každý XAML dokument má jen jeden ROOT element
Zápis XAML vs. C# Zápis v XAML Identický zápis v C#
Jazyková projekce WinRT Language Features Metadata C# 5.0 Code WinRT Metadata C++/CX Code Metadata JavaScript Code
Využití jazykové projekce Použita automaticky pokud: Z managed kódu voláte kód nativní a naopak Z JavaScriptu voláte managed nebo native knihovny Aplikace musí být implementována v jednom programovacím jazyce Pokud je třeba začlenit části v jiném podporovaném programovacím jazyce, je třeba vytvořit Windows Runtime komponenty
Nástroje pro vývoj Windows Store aplikací Visual Studio Express 2013 for Windows Zdarma, http://dev.windows.com/en-us/develop/downloads Obsahuje Windows 8.1 SDK a Windows Phone 8.1 SDK Visual Studio Community 2013 Edice Professional zdarma za speciálních podmínek Je vyžadován operační systém Windows 8.1 Pro chod emulátoru Windows Phone 8.1 je vyžadováno Hyper-V Pro prodej aplikací je třeba placený vývojářský účet Jednorázová platba Individuální účet - $19 Firemní účet - $99
Nástroje pro vývoj Windows Store aplikací Pro Windows 8.1 je třeba získat Developer License Umožňuje spuštění aplikace která není digitálně podepsána Microsoftem (nepochází z Windows Store) Získání zdarma po přihlášení přes Microsoft Account (obnova každý měsíc) Pro vlastníky vývojářského účtu platnost 3 měsíce Pro testování aplikací na Windows Phone je nutné odemknout telefon vývojářským účtem Pomocí utility Windows Phone Developer Registration Telefon umožňuje spustit aplikaci nepodepsanou Microsoftem
Další nástroje pro vývoj Blend for Visual Studio 2013 Součástí Visual Studia Vizuální editace uživatelského rozhraní Windows App Certification Kit Sada testů pro ověření kvality aplikace Multilingual App Toolkit Nástroje zjednodušující překlad aplikace Remote Tools for Visual Studio 2013 Vzdálený debugger zejména pro debugování ARM verze
Další SDK a dokumenty Live SDK (Single Sign On, přístup ke SkyDrive) Windows Azure Mobile Services Windows 8 Design and coding guidelines Updated for Windows 8.1 App certification requirements for the Windows Store App certification requirements for Windows Phone
Upgrade stávající aplikace 1. Windows Phone 8 Windows Phone Silverlight 8.1 Automatický upgrade projektu, minimum nové ho API 2. Windows Phone Silverlight Windows Phone Store Application Změna API, změna UI frameworku a ovládacích prvků Nutný ruční přepis aplikace 3. Windows Store Application Windows Phone Store Application Téměř shodné API, nutný nový návrh aplikace pro telefon Aplikační logika sdílená (pokud je shodná funkcionalita)
Shrnutí Univerzální Windows Store aplikace sjednocují vývoj aplikací pro tablety a mobilní telefony Windows Store aplikace jsou postaveny na novém aplikačním modelu využívajícím Windows Runtime Vysoká míra použitelnosti současných znalostí Vývoj je možný zdarma s použitím Visual Studia 2013 Express for Windows