Upload
london
View
73
Download
0
Embed Size (px)
DESCRIPTION
GoPro with Windows 8: building an end-to-end XAML app . Ronnie Saurenmann Microsoft Switzerland [email protected]. Your first app. Windows 8 Platform. Windows Store Apps. XAML. HTML / CSS. View. JavaScript (Chakra). C C++. C# VB. Model Controller. WinRT APIs. - PowerPoint PPT Presentation
Citation preview
GoPro with Windows 8: building an end-to-end XAML app Ronnie SaurenmannMicrosoft [email protected]
Your first app
Windows 8 PlatformWindows Store Apps
JavaScript(Chakra)
CC++
C#VB
XAML HTML / CSSView
Mod
el
Cont
rolle
r
Windows Core OS ServicesCore
Communication
& DataApplication Model
Devices & Printing
WinRT APIsGraphics &
Media
Syst
em S
ervi
ces
XAML Architecture• Complete
native implementation built on top of DirectX
Windows 8 Subsystem
Windows 8 app (C++, C#, or VB)
App Theming & PVL Direct3DDirectWrit
e Direct2DMedia Touch
XAML Platform
WinRT/C++ Projection
XAML Graphic Engine
XAML Core and Framework (Parser, Controls, Property Engine, Styles, Animation etc.)
XAML ABI support
C++
DemoUI
Settings
Settings• Place all app settings under one roof where users will always expect to
find them
• Do not create additional entry points into Settings on the app canvas
• When users invoke Settings charm, they will see your app’s basic info, and settings commands as specified by your app
• Common settings commands: your settings categories, Help, About, Terms of use…
• Once users choose a settings command, the settings pane will be brought up. Your app controls the UI within the settings pane
• Keep it simple, minimize the number of settings
Account
Roam Leverage roaming to maintain state and preferences across
machines Roam preferences that users are likely to set on each device
anyway: Favorite sports team (sports app) Favorite movie genre (media app)
Let users continue a task across devices by roaming app data: Composing a to-do list Composing email
Cloud Storage provided by
Microsoft
Local Storage
MyApp MyAppLocal Storage
DemoSettings
Async
Responsive UIAsynchronous programming without callbacksasync makes your method asynchronousawait makes the rest of your method a callbackTask lets you coordinate activities
DemoAsync
Media
Elements of a video player
<video>MediaElement
MF Extensions & WinRT
ComponentsPlayer
framework
Basic playbackProgressive downloadLocal playback
Streaming (Live & VoD)CodecsPlayReady/DRMVideo effectsExtensibility
CaptioningAdvertisingError/Retry logicUI/StylingPlaylist Management
Windows 8 media pipelineWindows Store app
Playback/Preview Capture Transcode Streaming Extensibilit
y Protection MediaControl
Media FoundationAudio/Video
SourceAudio/Video
SinkVideo Decoder
Audio Decoder
Video Encoder
Audio Encoder
Video Effect 1
Audio Effect 1
Video Effect 2
Audio Effect 2
DirectX Windows Audio Session API (WASAPI)
<audio src=“…”><video src=“…”> Windows Runtime (WinRT)MediaElement
DemoHLS Adapter
Network detection
Network information API• Connected or Offline• Internet Access or Local Access• Network type• Metered Network or non Metered• Cost estimation
Demo
File System
File System AccessNetwork
Local File System
Removable Storage
Know Folders(Pictures, Documents,
etc…)
App Data(Isolated storage)
File Picker Programmatic, with capability
File Picker
File Picker
Programmatic, with capability
File Picker
Programmatic, no capability
DemoFile System
PlayTo
www.buildwindows.com
Play To user experience
Play To Controller
Play To Receiver
DemoPlayTo
Powerful, Easy & Fun
HTTP
Network
XAML
Async
File System
PlayTo
Streaming
HLS
Capabilities
Roaming
App Bar
Linq
Remote debugging
SettingsIt’s time to build your first app!
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a
commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.