Andy Wigley | Microsoft Technical Evangelist Rob Tiffany | Microsoft Enterprise Mobility Strategist Building Apps for Windows Phone 8 Jump Start
Windows 8 and Windows Phone 8 share many components at the Operating System level Shared Windows Core Windows Kernel Windows Kernel Windows NT Kernel
• Shared Core means • OS components such as the kernel, networking, graphics support, file system and multimedia are the same on both Windows 8 and Wi
• Windows Phone 8 supports • Managed app dev using the WP7.1, WP8.0 .NET and Windows Phone Runtime APIs • Native app dev using WinPRT and Win32 • Gam
• The .NET API for Windows Phone is the primary managed API • Includes *all* the types and APIs from Windows Phone OS 7.1 • Contains classes and types
• Windows Phone Runtime is a subset of the full WinRT, plus some phone-specific additions • Windows (Phone) Runtime is implemented in C++ and projecte
• Many of the APIs in Windows Phone Runtime exist to provide new functionality to Windows Phone • Other APIs exist to expose Windows Phone capabilitie
• In addition to .NET and Windows Phone Runtime, you have access to some Win32 APIs • Winsock for low-level networking • Camera APIs for native code a
App Models • Windows Phone 8 offers many additional ways of building apps compared to Windows Phone OS 7.1
• The most common way to build apps for Windows Phone • UI defined using XAML • Logic written using C# or Visual Basic .NET • Access .NET APIs and Win
Demo 1: XAML and Managed Code
•– Works with the developer community and partners on app development for Windows Phone and Windows 8 – Follow Andy’s blog at http://andywigley.com •
• You can develop games for Windows Phone using the XNA framework • Same functionality as in Windows Phone OS 7.1 • Logic written using C# or Visual B
Demo 2: XNA and Managed Code
• Direct3D app written entirely in native code, and which use only Direct3D for its UI • Games development – significant sharing of code base with a P
• Developers can also build managed apps using XAML that incorporate graphics created by a Direct3D native library • Allows addition of powerful grap
Demo 3: Direct3D Games
• Managed apps can also interact with native libraries • Add C++ Dynamic Link Library or Windows Phone Runtime Component projects to a managed XAML so
DEMO 4: Managed and Native Component Interop
• Windows 8-style HTML5/JavaScript app development is not supported on Windows Phone 8 • Windows Phone Runtime projections to C#/VB.NET and C++ only •
HTML5 App Project Template
Demo 5: Managed App Displaying HTML Content
•– Executive advisor and speaker at global conferences – Has been responsible for architecture, development, deployment of many of the world’s largest
Windows Phone 7.x App Compatibility
• In general, the Windows Phone app platform enables apps that target Windows Phone OS 7.1 to run without modification or recompilation on Windows Ph
• Instead of breaking WP 7.1 apps running with the WP 8.0 runtime, quirks mode is applied to retain WP 7.1 behavior • Apps that are upgraded to WP 8
• When converting existing WP7.1 code to WP 8.0, be careful your code does not rely on WP 7.1 behaviour • Two scenarios to consider: • Source code inc
Source Code Incompatibility Examples Code that Behaves Differently When Compiled for WP8 and Quirks Mode is no longer Applied Item Windows Phone OS 8.
Binary App Incompatibility Examples Code that Behaves Differently When run on WP8 , whether it is compiled for WP OS 7.1 or for WP8 Item Windows Phone
M1b: Introducing Windows Phone 8 App Development
Target Agenda | Day 1 Module and Topic | 10-minute breaks after each session / 60-minute “meal break” Planned Duration 1a - Introducing Windows Phone
Overview of New Features for Developers in Windows Phone 8.0 Coming up in the rest of this course…
Tile Templates and Tile Sizes • Windows Phone 8 supports three Tile templates • Flip – flips from front to back (similar to the WP 7.1 Tile template
Target Agenda | Day 1 Module and Topic | 10-minute breaks after each session / 60-minute “meal break” Planned Duration 1a - Introducing Windows Phone
• You can register your app as a lock screen provider, which enables: • User can select your app to show detailed status on the lock screen • Can sele
• Launchers are APIs that help a user perform common tasks… Invoke part of the phones’ built-in capabilities to perform tasks such as • Take a photo,
• Windows Phone 8 has new Maps controls • Bing Maps control from Windows Phone OS 7.1 is still supported, but deprecated • The new Maps controls use t
• New Location API in the Windows Phone Runtime API set • Similar to Windows 8 Location API • Windows Phone OS 7.1 .NET Location API still supported
• Windows Phone 8 allows you to enable users to robustly interact with your app using their voice • Two types of voice interaction are new: • Voice
Credit & Debit Cards Loyalty & Membership Cards Access Saved Deals Supports NFC ‘Tap to Pay’ Wallet
• LongListSelector • Flat lists • Grouped lists – with headers • Jump List • Formerly in the Silverlight Toolkit • Pivot and Panorama now in ROM • W
3 Screen Resolutions WVGA 800 x 480 15:9 WXGA 1280 x 768 15:9 720p 1280 x 720 16:9
• Lenses • Type of extensibility available to apps that provide unique camera functionality via the camera APIs • As a lens, your app provides the use
• Music media library • Add and remove music files from the user’s music collection with the SaveSong and Delete methods of the MediaLibrary class • P
Target Agenda | Day 2 Module and Topic | 10-minute breaks after each session / 60-minute “meal break” Planned Duration 10 - App to App Communication 3
• Incoming VoIP calls work like any other call • Integrates with built-in phone features • VoIP apps continue to run in the background • Available to
• Create apps that communicate with other phones using Bluetooth technology • Bluetooth API enables the following scenarios for Windows Phone 8: • App
Better Sharing with NFC
• Windows.Networking Windows Phone Runtime API • New networking API highly compatible with Windows 8 • Incoming Sockets • Supported in both System.Net
• Apps can use the Microsoft.Phone.Storage API to read files from an SD card • User can also use SD card to extend device storage for their personal f
• Create a set of contacts owned exclusively by the app, though visible through the phones built-in Contacts app • APIs are provided to create, update
• App can register a File Association • Automatically launch your app when a file of the registered type is received as an email attachment or opened
In-App Purchase Build apps with higher and recurring revenue opportunity Add and modify different paid options for different user segments Attract a
In-App Purchase used for digital content Durables: buy once & own forever, e.g. new game levels, maps, game items Consumables: game currency, mo
Enterprise app deployment License apps directly to business Design the right business model, e.g. volume discount Build enterprise apps, for example L
M1a: Introducing Windows Phone 8 App Development
Enterprise Deployment process Company develops or licenses app Company deploys through: Microsoft tools, internal distribution or third party install
Company Hub
• Windows Phone 8 supports languages such as Arabic, Hebrew and Persian that are read from right to left • FrameworkElement.FlowDirection property all
120+ new Consumer Store Coverage: Over 180 countries 180+ 123 31
140+ new Developer: Over 180 countries
26 New Languages: 50 languages Windows Phone 7.5 24 Languages Windows Phone 8 50 Languages
• Managed Apps are NGEN’d for you (compiled to native) in the Windows Phone Store in Windows Phone 8, so typically start and run faster • When you b
Getting Started Developing for Windows Phone 8.0 12/4/2012 67
• The Windows Phone Developer Center is your base for all things Windows Phone related! • In Windows Phone 7.x, used to be called AppHub and was at ht
Windows Phone Dev Center
• New app platform in WP8 • Application development models • WP8 version of WinRT • Supported application models • Getting started with WP8 app develo
• Your computer must meet the following system requirements to run Windows Phone SDK 8.0: Development PC Requirements Supported operating systems Win
• SLAT is required to run the WP8 emulator. • PCs that support SLAT are Intel-based processors that start with i (e.g., i3, i5, i7, i9) or any CPUs b
• If you see the below, you're in good shape for running the WP8 emulator on this machine: • If you see the below, you can't run the WP8
• You do not need a Windows Phone Developer account to download the SDK and start developing apps • You do need a developer account to unlock a phone
Using the Windows Phone 8.0 Development Tools
• If you are developing apps for Windows Phone OS 7.1, you must install the Zune software to connect to the Windows PC • Also used to synchronise med
Developer Phone Registration • Before you can deploy your own programs to the device you need to register it as a developer device • This is done once
Deploying to the Phone • Visual Studio lets you select the target device for your program when you run it • The development environment is exactly the
• Once you have deployed an application the phone device it is stored on the device for later use • You are limited to ten of your own applications o
• Visual Studio provides an exceptional debugging experience • This experience extends to Windows Phone • You can do all the debugging actions in Wind
New WP8 Hardware Beautiful new hardware from Nokia, HTC, Samsung and more…
• Select Device as the deployment target. You cannot test native code generation using the emulator • Deploy and run your app on the device by using C
• The Windows Phone emulator runs as a Hyper-V virtual machine on your Windows PC • It contains the same software as a “real” phone, but built for the
• The emulator is not a reliable way of predicting how a program will perform on a real device • The processor in a Windows PC may be more powerful t
• Visual Studio lets you select the target device for a program when it runs • The emulator is started the first time you deploy to it • It will then
• You can use the PC mouse to control the emulator • If you have a multi-touch display you can use multiple touchpoints to pinch and zoom on the displ
• Use the command bar at the right side of the emulator to access an extra set of tools • These allow you to rotate the emulator into different orient
Camera Emulation • The camera emulator just “takes” a simple photograph and returns it • You can use this to show your applications are invoking the c
Demo 5: Photo Snap Demo 5: Photo Snap
• Windows Phone applications can use the emulator to generate location data for them • To do this we open the Additional Tools pane on the emulator
• This is the Location tab in the Additional Tools • You can click on any location to “move” the emulator to that position • You can also place pushp
New multicore chipset New graphics processor Increased RAM: 1GB or 512MB More Screen resolutions Removable, encryptable storage NFC Modern Smartphone
Demo 6: Location Demo
• Showing the Lock Screen in the emulator is a good way of testing what happens when your app is deactivated • Using the Keyboard: • Press F12 on your
• Simulation Dashboard also includes Network Simulation • Test your app on the emulator under different simulated network conditions Network Simulat
• It is very useful to be able to take screenshots of the emulator • These can be used in documentation and also to promote the application in the Ma
• New in Windows Phone 8! • Press the power and Windows buttons simultaneously • Easy to share screenshots on social networks Capturing Screenshots on
Summary • Windows Phone 8 has very many new features • The shared core means that at a low level, components of the OS are the same between Windows 8
The information herein is for informational purposes only an represents the current view of Microsoft Corporation as of the date of this presentation.
Comments to this Manuals