Introduction to Windows Store app development for iOS developers Jaime RodriguezPrincipal Evangelist3-003
Building a Windows Store app requires applying the same concepts and architecture as any other platform.
Narrow the choices
Tools UI patternsStore & submission
Agenda slide
Architecture & technology choices
Windows Store apps… lots of choices
Windows Store Apps
Communication
& Data
Application Model
Devices & Printing
WinRT APIsGraphics &
Media
JavaScript(Chakra)
CC++
C#VB
XAML HTML / CSS
Windows Core OS Services
User Interface
Fundamentals
Threading/Timers Memory Management Authentication Cryptography
Devices
Geolocation Sensors NFC
SVG Tiles Input Accessibility Printing
HTML5/CSS XAML Direct X Controls Data Binding
Communications & Data
XML Networking SMSNotifications
StreamsContracts Local & Cloud Storage
Media
Playback Capture PlayTo Visual Effects
Windows Run-time APIs
UI Kit OpenGL
Touch
Events
Air play
HTML/Javascript
Standards-based
Native API access
WinJS
WinRT
JavaScript
HTML / CSS
Core
2-161: Reusing your Web skills in Windows Store apps South Hall 307 at noon
Direct X
For graphic intensive apps Closest to OpenGL
Foundation for gaming frameworks
WinRT
C++, C#
Direct X
Core
3-189: Bringing your OpenGL ES game to Windows Store, South Hall, 304 @ 2 PM
Chimpact
XAML
Closer to Cocoa XAML integrates with DirectX
WinRT
C#, C++, VB
XAML
Core
Tools & Environment
F1, F12, Simulator, Jump to definition, Structure
Visual Studio walk-through.
UI Patterns
Introducing XAML
Serialization format
ExpressiveControls, Layout, Styles, Animations, Data binding, Events, data templates …
Toolable Visual Studio and Blend
<Page x:Class="App12.MainPage"…> <Grid> <Grid.Resources> <Style x:Key="PinkButton" TargetType="Button"> <Setter Property="Background" Value="Pink" /> </Style> </Grid.Resources>
<Button x:Name="myButton" Style="{StaticResource PinkButton}" Content="{Binding data.buttonName}" Click="OnButtonClick" Width="300" Margin="250" VerticalAlignment="Stretch"> </Button> </Grid>
</Page>
Containment
Visual Hierarchy
Styles
Outlets
bindings
Layout Constraints
XAML, from 0 to 60 in a day
http://aka.ms/XAMLJSJuly 12, 2013. 9 am to 5 PM Agenda: Introduction to XAML and Visual Studio Walk ThroughXAML Under the Hood (Visual Trees, DPs, Resources, Events) XAML Layout & PanelsXAML Controls, Styles and TemplatesXAML Data Binding and Data TemplatesIntroduction to Expression Blend and AnimationXAML Nerdvana: MVVM
Jaime Rodriguez
Laurent Bugnion
MVC – out of the box
Controller
ViewModel
outlet
delegation
target/action
data source
object references
delegation
x:Name
events
data binding
object references
events
DEMO MVC
MVVM
View-Model
ViewModel
outlet
delegation
target/action
data source
object references
delegation
commands
binding
x:Name
object references
events
DEMO M-V-VM
Similar core controls set iOS Windows Store
UIButton Button
UISlider Slider
UISwitch Checkbox, Switch
UITableView ListView
UIDatePicker DatePicker
UITextField TextBox
UILabel TextBlock
UIImageView Image
UIWebView WebView
MKMapView Maps control (maps SDK)
AdBannerView Ads Control (ads SDK)
iOS Windows Store
UIProgressView ProgressBar
UIActivityIndicatorView
ProgressRing
UIPageControl FlipView
UIStepper
UIScrollView ScrollViewer
UICollectionView GridView
GLKit View SwapChainBackgroundPanel
UISegmentedControl StackPanel + content
Hub, appbar & navbar, settings pane, gridview, semantic zoom
Windows Personality
WinRT is asynchronous by designSDKs make it easy to code async
Asynchronous
demoAsync
Store
Store Submission
1. Register to Store 2. Run WACK 3. Review cert criteria 4. Sign app 5. Upload to store
WACK!!!
Certification requirements
http://aka.ms/storefix
Sign an app
Lots we did not cover
Windows 8 for iOS developers Jump Start http://aka.ms/iOSJSJuly 17, 2013, 9 am to 5 PM Agenda: Introduction to the Windows Store Opportunity Setup, Pre-reqs and a Lap around Visual StudioC# for iOS DevelopersBrief Introduction to XAMLDissecting UI patterns, from MVC to MVVM or notUnderstanding the Application Model and UX DifferencesIntegrating with Windows (Contracts, Hardware, etc.)Monetizing your App (Store APIs, Ads, Submission, etc.)
Jaime Rodriguez
Eric Jeffers
SeanMcCune
Building a Windows Store app requires applying the same concepts and architecture as any other platform.
Thank you!!!
Evaluate this session
Scan this QR code to evaluate this session and be automatically entered in a drawing to win a prize!
© 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.