1. Shared Windows Core
Enterprise-class computing
to mobile devices
• Windows 8, Windows RT, Windows
Phone 8, Windows 8 Embedded, and
Windows Server 2012
• Running reliably on 1.3+ billion
computing devices
11. Windows Phone 8
supports:
Managed app dev using the
WP7.1, WP8.0 .NET and
Windows Phone Runtime APIs
Native app dev using Windows
Runtime and Win32
Games dev using the WP7.1
XNA framework
Games dev using Direct3D or
DirectX
Windows Phone 8 Programming APIs
.NET API for
Windows
Phone
Windows
Runtime
Win32 &
COM
Managed Managed &
Native
Native
WP7.1 XAML & C#/VB
WP8.0 XAML & C#/VB
WP8.0 Games DirectX/Direct 3D & C++
WP7.1 XNA & C#/VB
WP8.0 XAML & C#/VB with Direct3D Graphics
+ C++
+ C++
Notes de l'éditeur
Enterprise class > windows NT kernel into phone (same as server, windows deskltop…)
1.3b devices today!
Driver model == same
Common UX!
Form factors are a major concern when designing the UI for a cross-platform app. You need to consider the different screen resolutions, screen sizes, and default device orientations. This will significantly impact how your app should display information to the user. It may not make sense to include all features of your Windows 8 app in your Windows Phone 8 app.
This is a comparative list of some significant differences that impact the UX on the two platforms. All of these considerations mean that each platform requires a separate UX design.
Each library of controls is optimized for that platform. It is also recommended that you design your own user controls separately for each platform. Not only does this maintain a consistent user-experience on each platform, but it reduces the likelihood of bugs from porting the XAML.
Note: Visual Studio templates create a LayoutAwarePage, a subclass of the Page class in the raw API. LayoutAwarePage is a subclass of Page (the raw API) and provides some nice additional features:
Application view state to visual state mapping
GoBack, GoForward, and GoHome event handlers
Mouse and keyboard shortcuts for navigation
State management for navigation and process lifetime management
A default view model
Each library of controls is optimized for that platform. It is also recommended that you design your own user controls separately for each platform. Not only does this maintain a consistent user-experience on each platform, but it reduces the likelihood of bugs from porting the XAML.
Note: Visual Studio templates create a LayoutAwarePage, a subclass of the Page class in the raw API. LayoutAwarePage is a subclass of Page (the raw API) and provides some nice additional features:
Application view state to visual state mapping
GoBack, GoForward, and GoHome event handlers
Mouse and keyboard shortcuts for navigation
State management for navigation and process lifetime management
A default view model
ViewModels act as converters between the way data is stored in the Model and the way data is presented in the View.
MVVM is a variation of the MVC (Model-View-controller) pattern. One of the key distinctions between MVVM and MVC is that MVVM includes data binding.
Message passing is a good way to communicate between ViewModels within an app.
Using a Mutex can help synchronize communication between the ViewModels and the Model.
WP7 : Silverlight & XNA
WP8: (+WP7) plus moar
100,000 apps already wp7 .. Didn’t throw them away
C++ example is SQLite