PV239/WP Vývoj univerzálních Windows Store aplikací
Mgr. David Gešvindr MCSD: Windows Store | MCSE: Data Platform | MCT | MSP
[email protected]
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
HTML
C/C++
Internet Explorer
Windows Store apps C# / VB.NET
C++/ CX
C# / VB.NET
Javascript
WinRT APIs
.Net CLR/ Silverlight
Win32
HTML CSS
XAML
Comm. & Data
Graphics & Media
Windows Kernel Services
Devices & Others
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
Hardware buttons
480x800 WVGA 768x1280 WXGA 720x1280 720p 1920x1080 1080p
Start, Search, Back, Power, Volume, Camera
Capacitive touch
5 mega pixels or more
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
Camera 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
WinRT
Metadata
C# 5.0 Code
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