Introducing Windows Phone 8 Development


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • In Windows Phone 8, the .NET Compact Framework has been replaced by CoreCLR, which is the same .NET engine used on Windows 8. This delivers stability and high performance to your apps, so they can take advantage of multicore processing and improve battery life.
  • 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 build your app in Visual Studio, the code is not compiled into a native image, but into a machine-independent Common Intermediate Language (CIL) binary file (formerly known as Microsoft Intermediate Language, or MSIL)When you submit your app to the Windows Phone Store, you submit the CIL fileOn submission, CIL file is converted to optimized Machine Dependent Intermediate Language, or MDILWhen a user downloads your app to a device, it is pre-jitted to a native image
  • ManagedManaged apps use XAML to define the user interface and Visual Basic or C# as the coding language. Existing Windows Phone apps that were written using these techniques are fully compatible with Windows Phone 8. XAML-based apps have gained new features such as new controls and auto-scaling to high resolution. New managed APIs coming to Windows Phone 8 include a new map control powered by Nokia maps and a wallet API for storing payment methods and enabling NFC-based payments.
  • NativeWindows Phone 8 SDK supports native development, including significant subset of the Windows 8 SDK, enabling developers to share a significant amount of code between Windows 8 and the phone, particularly for native apps. With the addition of native development support, Windows Phone 8 reduces the need to port and maintain components such as compute engines, graphic libraries, and API sets.In addition to native development, Direct3D is being added to the family of Windows Phone technologies. This means that for the first time, a Direct3D-based PC game can share much of its code base with a phone version, and developers can use state-of-the-art middleware tools and engines that power the industry’s biggest game titles to develop games for Windows Phone.Direct3D app refers to apps that are written entirely in native code, and which use only Direct3D for their UI. This type of app uses a completely different app model than managed apps, and can’t use many of the features of managed apps, such as live Tiles and push notifications.. However, in Windows Phone 8 Developer Preview several new features were added for Direct3D apps to provide software keyboard input support, device theme, and screen resolution detection, and a set of Launchers and Choosers for adding many common phone tasks to your Windows Phone app.Windows Phone 8 SDK supports a subset of the Direct3D library at the 9_3 feature level.
  • Direct3D and XAMLDirect3D and XAML app development is an attractive choice for developers who want the graphics capabilities of Direct3D but also want to use some of the features only available to managed apps such as Tiles and XAML controls. You can use the DrawingSurface and DrawingSurfaceBackgroundGrid controls to incorporate Direct3D graphics into managed apps to take advantage of managed code features with a very small performance loss.
  • XAML/Managed + NativeWindows Phone 8 SDK supports the development of solutions where the primary UI is written in XAML using C# or VB, but where a native project is included to perform some processing in native code. This allows the porting of existing components written in C++ for other platforms to Windows Phone and allows managed apps to use them. Developers can enjoy all the productivity and benefits of developing most of the UI of their app using XAML and managed code, but still call out to ported components that have previously been developed in C++ for other platforms.These could be components such as compute engines, graphic libraries, and API sets.
  • HTMLHTML-based phone apps are not a supported app model in Windows Phone 8 SDK. However, a developer can create an app that uses an embedded browser control to display local HTML content. Also, in Windows Phone 8 SDK, the phone’s browser has been upgraded to Internet Explorer Mobile 10, with a host of new features such as a robust HTML5/CSS3 implementation, Scalable Vector Graphics (SVG), ES5, IndexedDB, gesture events, and the addition of the high-performance scripting engine, creating new, interesting possibilities for Windows Phone 8 SDK HTML developers.
  • HTML5 App Project TemplateA developer can create a managed app with a XAML front end that uses an embedded browser control to display local HTML content, and it’s possible to access phone APIs by using the InvokeScript method and ScriptNotify events.
  • There are several things you can do with Tiles: Support multiple sizes, customizable by your customer.Choose from one of three visual templates to help your app stand out.Offer a variety of secondary Tiles.Control which page your customers land on when clicking on your secondary Tiles.The Tile API wraps the OS Tile experience so 3rd party app developers have access to exactly the same tile functionality as the built-in apps.
  • You can use Launchers in your Windows Phone 8 Developer Preview app to help a user perform common tasks. The following Launchers are new in Windows Phone 8 Developer Preview.SaveAppointmentTaskMapDownloaderTaskMapUpdaterTaskMapsTaskMapsDirectionsTaskShareMediaTaskThrough the ShareMediaTask class, your app can directly access the share picker, so users can share photos like they do using the built-in photo viewer.
  • SpeechIn Windows Phone 8 SDK, users can interact with your app using their voice.
  • Windows Phone 8 SDK introduces the Wallet, which app users can use to do the following:Collect coupons, credit cards, memberships, loyalty cards, and more in one place.Manage the payment instruments that they use in the app and music store.Link items in the Wallet to apps on their phone.Make contactless transactions, using Near-Field Communication (NFC), in some markets.The Wallet gives app developers the ability to provide users with a richer experience by integrating with their Wallet items. Using the functionality provided through the Wallet namespace, you can create, read, write, and delete Wallet items from your app. The Wallet integration is additional functionality that allows you to better reach customers by being able to engage with them on an additional new surface area. In addition, Wallet items enable users to deep link in to your app so that you can provide a more meaningful in-app experience.
  • LongListSelectorThe LongListSelector the Swiss Army Knife of selection. Think of it as ListBox++--, it has everything you expect from ListBox plus a bunch of advanced capabilities and great on-device performance minus the levels of abstraction and generality that tend to slow ListBox down. LongListSelectorsupports flat lists, grouped lists (with headers!), and also implements the "jump list" header navigation UI that makes the "People" app so efficient!  
  • With Windows Phone 8 SDK, you can create Voice over IP (VoIP) apps that allow users to make audio and video calls over their data connection. VoIP apps are integrated into the built-in phone experience so that, for example, incoming calls are displayed using the same phone UI as regular cellular calls.
  • On two devices that each have a Near-Field Communication (NFC) chip, app users can perform these scenarios simply by tapping their phones, or phone and tablet together
  • Windows.Net.NetworkingThe Windows Runtime API, Windows.Networking.Sockets, has been adopted for Windows Phone 8. It has been implemented as a Windows Phone Runtime API, making it easy to use in whatever supported programming language you choose. Although we've enhanced the .NET API, System.Net.Sockets, to support more features such as IPv6 and listener sockets, you should consider using the new API for sockets programming because it is more portable than the .NET API. Windows.Networking.Sockets has been built from the ground up to be clean, secure, and easy-to-use APIs that enforce best practices. Incoming socketsWindows Phone 8 Developer Preview introduces the enhancements to incoming sockets. System.Net.Sockets and Windows.Networking.Sockets both support incoming sockets, which means your app can listen for an incoming network connection, and then bind to that connection.Support for IPv6Support for the 128-bit addressing system for devices on a network has been added to System.Net.Sockets, and also is supported in Windows.Networking.Sockets.Winsock native API supportWinsock native APIs are supported in Windows Phone 8 SDK. One key advantage of using Winsock APIs is that you can reuse the custom networking functionality that you’ve already implemented using Winsock, so it’s easier for you to create your app on the Windows Phone OS 8.0 platform.
  • On Windows Phone 8, you can create a custom contact store for your app. When you save contacts to this store, they will appear on the phone’s People hub, integrated with the user’s other contacts. Your contact store can use the standard set of contact properties, such as name and address, but you can also store custom properties for each contact. The contact store APIs also provides a mechanism for you to enumerate changes between your custom contact store on the phone and a contact store you maintain in a cloud service in order to synchronize the two stores.Note: The custom contact store APIs only provide access to the contacts created by your app. If your app needs read-access to the phone’s contact store or calendar, there are different APIs that you should use.
  • You can use file and protocol associations in Windows Phone 8 to automatically launch your app when another app launches a particular file type or protocol. For example, a file association allows your app to launch to handle an email attachment. You can also use the association launching API to launch another app based on a specific file type or protocol.
  • For each product that users can purchases through in-app purchasing, a developer enters a description in Windows Phone Dev Center, in addition to prices for each region where users can make the in-app purchase. Using the APIs in Windows Phone 8 Developer Preview, a developer can list, within an app, the products that are available for users to purchase in that app. Developers don’t need to write special code for handling different types of purchase instruments. All purchase methods that users can use to purchase apps and games are supported for in-app purchasing. The app or game must host and deliver any content associated with the in-app product.
  • The Windows Phone EmulatorThe emulator runs a full copy of the Windows Phone OS inside a virtual machine. You can debug your apps on the emulator pretty much the same way as when running on the real phone.The emulator contains most of the complete Windows Phone experienceIt does have the browser and will provide the phone behaviours for things like placing calls and sending SMS messagesIt also contains an emulation of the Windows Phone camera, GPS and motion sensorsYou can also use the emulator to capture screenshots of programs running on the phone   
  • In general, the Windows Phone app platform enables apps that target Windows Phone OS 7.1 to run without modification or recompilation on Windows Phone 8. However, there are occasional differences in behavior between versions of the Windows Phone Application Platform. Typically, the new behaviour includes a feature improvement or a bug fix.
  • Windows Phone 8 introduces feature improvements or behavior changes that may cause incompatibility issues for existing apps. For some features and APIs, rather than introducing a breaking change, the Windows Phone Application Platform provides a quirks mode that preserves the legacy behavior and applies it where appropriate, depending on the version of the Windows Phone the app was originally built and tested for. If the target version is Windows Phone OS 7.1, quirks mode either emulates the same behavior or uses the same code as Windows Phone OS 7.1. In other words, the app runs in Windows Phone 8 as it did when it was tested against the runtime it originally targeted. However, if the source code for an app that targets Windows Phone OS 7.1 is recompiled to target Windows Phone 8, quirks mode is no longer in effect. Because the app now targets Windows Phone 8, it executes the new code in all cases. Quirks mode is not an opt-in or configurable feature—it is applied automatically depending on an app's target platform.There are two scenarios in which a Windows Phone OS 7.1 app may behave differently when it runs on Windows Phone 8 Developer Preview. Source incompatibility and quirks are applied. With source app compatibility issues, there is a runtime quirk provided in Windows Phone 8 Developer Preview that executes the legacy Windows Phone OS 7.1 behavior regardless of the whether the phone is a Windows Phone OS 7.1 or Windows Phone 8 Developer Preview device. When the same app is recompiled for Windows Phone 8 Developer Preview the quirk is no longer applied and the app behaves differently.Binary app incompatibility: When an app that is compiled for Windows Phone OS 7.1 is run on Windows Phone 8 Developer Preview, but does not operate the same because of a difference in runtime behavior.
  • Points to reinforce:DevCamps & HackathonsFree, hands-on training from Windows 8 expertsLearn about Windows 8 features to differentiate your appLearn about Windows 8 app guidelinesHelp you meet the quality bar of Windows Store30 to Launch provides DevCamp-like training, at your own pace, for freeDaily emails with training and resourcesCulminates in an App Excellence LabApplication Excellence LabsFree, two hour opportunity to review your app with a Premier Field Engineer!Provide advice, feedback & guidance to help you meet the quality bar for the Windows StoreDevelopers whose apps are ready for the Store submission process will receive a developer account tokenOtherwise, you’ll get actionable feedback on what you can improve and the opportunity to return for another review
  • Introducing Windows Phone 8 Development

    1. 1. Introducing Windows Phone 8App DevelopmentDave BostTechnical Evangelist, Windows Phone
    2. 2. Agenda Introducing Windows Phone 8 New app platform in WP8 Application development models WP8 version of WinRT Supported application models Getting started with WP8 app development New features overview Using the Windows Phone Developer Tools WP7x compatibility
    3. 3. New WP8 HardwareBeautiful new hardware from Nokia, HTC, Samsung and more…
    4. 4. Modern Smartphone Platform New multicore chipset New graphics processor 1GB or 512MB RAM More Screen resolutions Removable, encryptable storage NFC
    5. 5. Shared Windows CoreWindows 8 and Windows Phone 8 Share Many Components At The Operating System Level CoreCLR Windows Kernel
    6. 6. What „Shared Core‟ Does – And Doesn‟t - Mean• Shared Core means • OS components such as the kernel, networking, graphics support, file system and multimedia are the same on both Windows 8 and Windows Phone 8 • Hardware manufacturers work with the same driver model on both platforms • Windows Phone gets the support for multi-core and other hardware features that Windows has had for years • These solid, common foundations makes it easier to extend the Windows Phone platform into the future• It doesn‟t mean • Windows 8 and Windows Phone 8 developers work to exactly the same APIs • (though you will see more commonality as new features are introduced to both platforms in the future)
    7. 7. Windows Phone 8 Programming APIsWindows Phone 8 supports WP8.0 Games DirectX/Direct 3D & C++• Managed app dev using WP8.0 XAML & C#/VB with Direct3D Graphics + C++ the WP7.1, WP8.0 .NET and WinPRT APIs WP8.0 XAML & C#/VB + C++• Native app dev using WP7.1 XNA & C#/VB WinPRT and Win32 WP7.1 XAML & C#/VB• Games dev using the WP7.1 XNA framework .NET API for Windows Win32 &• Games dev using Windows Phone COM Direct3D or DirectX Phone Runtime Managed Managed & Native Native
    8. 8. .NET API for Windows Phone .NET API for Windows Windows Phone Win32 & COM Phone Runtime Managed Managed & Native Native• 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 from the System and Microsoft.Phone namespaces• There have been new classes added for Windows Phone 8.0, for example • Microsoft.Phone.Wallet • Microsoft.Phone.Tasks.ShareMediaTask • Microsoft.Phone.Tasks.MapsTask • Microsoft.Phone.Storage.ExternalStorage • Microsoft.Phone.Networking.Voip • Many more…!
    9. 9. Windows Phone Runtime API .NET API for Windows Windows Phone Win32 & COM Phone Runtime Managed Managed & Native Native• Windows Phone Runtime is a subset of the full WinRT, plus some phone-specific additions • Windows (Phone) Runtime is implemented in C++ and projected into C#, VB.NET, and C++ • HTML5/JavaScript projection not available on Windows Phone 8 Full WinRT (around • Phone-specific additions to Windows 11,000 members) Phone Runtime include • Speech synthesis and recognition Subset adopted New for • Windows.Phone.Networking.Voip for Windows Windows Phone Runtime Phone • Windows.Phone.PersonalInformation (around 2,800 Runtime members) (around 600 • LockScreen and LockScreenManager members) • More…
    10. 10. API Choices for Managed Code Developers• Many of the APIs in Windows Phone Runtime exist to provide new functionality to Windows Phone• Other APIs exist to expose Windows Phone capabilities to both native and managed code developers and provide equivalent functionality to the .NET APIs .NET API Windows Phone Runtime API System.IO.IsolatedStorage Windows.Storage System.NET.Sockets Windows.Networking.Sockets System.Threading.ThreadPool Windows.System.Threading.ThreadPool Microsoft.Devices.Sensors Windows.Devices.Sensors System.Device.Location Windows.Devices.GeoLocation• Managed code developers can use whichever API they like • Developers targeting WP7.1 and WP8 devices will prefer the .NET API • Developers sharing code between WP8 and W8 targets will tend to use the Windows Phone Runtime API
    11. 11. Win32 and COM API .NET API for Windows Windows Phone Win32 & COM Phone Runtime Managed Managed & Native Native• 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 apps • COM APIs such as CoInitializeEx, CoTaskMemAlloc, CoTaskMemFree, CreateFile2, ReadFile, WriteFile, HeapAlloc, CreateMutexExW, WaitForSingleObjectW,…many others…• Mainly of interest to native code developers• Make it easy to port existing libraries to your Windows Phone 8 app!
    12. 12. Windows Phone 8 Apps Run Faster – Compile in the Cloud! Submit your XAP to marketplace just as you did in 7.x Code in XAP is NGEN‟d and the XAP updated with compiled code 7.5 apps are NGEN‟d so Windows Phone 8 gets compiled version Original 7.5 apps is kept for download to 7.5 devices
    13. 13. App Models
    14. 14. XAML UI with Managed Code• 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 Windows Phone Runtime APIs XAML & C#/VB .NET API for Windows Windows Phone Phone Runtime Managed Managed
    15. 15. XNA Games using Managed Code• 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 Basic .NET• Access .NET 7.1 APIs, not Windows Phone 8 APIs XNA & C#/VB (+XAML) .NET API for XNA Libraries Windows for Windows Phone 7.1 Phone 7.1 Managed
    16. 16. Direct3D App• Direct3D app written entirely in native code, and which use only Direct3D for its UI• Games development – significant sharing of code base with a PC version• Access Windows Phone Runtime APIs – significant subset of the Windows 8 SDK Direct3D & C++• Easier to share native components such as compute Windows Win32 & Phone COM engines, graphic libraries and API sets Runtime Native Native
    17. 17. Direct3D and XAML• Developers can also build managed apps using XAML that incorporate graphics created by a Direct3D native library • Allows addition of powerful graphics to XAML UIs• Use the Windows Phone Direct3D with XAML App project template • Available in Visual C#, Visual Basic and Visual C++ categories in the Add New Project dialogue XAML & C#/VB.NET & C++ .NET API for Windows Windows Win32 & Windows Phone Phone Runtime COM Phone Runtime (Direct3D) Managed Managed Native Native
    18. 18. XAML/Managed plus Native Code• Managed apps can also interact with native libraries • Add C++ Dynamic Link Library or Windows Phone Runtime Component projects to a managed XAML solution• Win32 API set supports Winsock and File I/O functions to ease porting of existing native code libraries• Implement compute-intensive components in native code for increased performance • E.g. Image processing, compute modules, document rendering… XAML & C#/VB.NET & C++ .NET API for Windows Win32 & Windows Phone COM Phone Runtime Managed Managed Native
    19. 19. HTML5 App Development• 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• However, Windows Phone 8 includes Internet Explorer 10 • Another shared codebase with Windows 8 • Great support for HTML5 (2 x feature support compared to Windows Phone 7.5) • New JavaScript processing engine (4 x faster than Windows Phone 7.5)• This same browser is at the heart of the WebBrowser control • You can build HTML5-based apps rendered in the WebBrowser against local or web-based content
    20. 20. HTML5 App Project Template
    21. 21. Overview of NewFeatures forDevelopers inWindows Phone 8.0
    22. 22. 3 Screen Resolutions WVGA WXGA 720p 800 x 480 1280 x 768 1280 x 720 15:9 15:9 16:9
    23. 23. 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) • Iconic – clean iconic layout designed to reflect Windows Phone design principles • Cycle – cycles through up to nine images
    24. 24. Lock Screen on Windows Phone 8 • 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 select your app as one of the five apps to show quick status (icon and count) • Can select your app as the lock screen background image provider
    25. 25. New Launchers• 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 • Add a contact • Send an email or SMS message • Etc…• New Launchers in Windows Phone 8: • SaveAppointmentTask • ShareMediaTask • MapDownloaderTask • MapUpdaterTask • MapsTask • MapsDirectionsTask
    26. 26. Maps• 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 technology supplied by Nokia• New features: • Vector-based for faster rendering • Four cartographic map modes • Light and dark color modes • Display landmark and pedestrian features
    27. 27. Location and Location Tracking• 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• Background location-tracking apps • Run continuously in the background when the user navigates away from the app • Enables scenarios such as Run Trackers, turn-by-turn navigation
    28. 28. Speech • 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 Commands - Allows users to deep-link into your app by holding down the Start button and speaking a prefix you specify for your app, followed by a command that you define. • Speech Recognition and Text-to-Speech APIs - While in the context of your app, allow users to provide input using their voice, and readout text to users via text-to- speech
    29. 29. Wallet Credit & Debit Cards Loyalty & Membership Cards Access Saved Deals Supports NFC „Tap to Pay‟
    30. 30. UI ControlsNew Controls in Windows Phone 8 SDK• LongListSelector • Flat lists • Grouped lists – with headers • Jump List • Formerly in the Silverlight Toolkit• Pivot and Panorama now in ROM• WebBrowser control now based on Internet Explorer 10
    31. 31. Camera and Photos• Lenses • Type of extensibility available to apps that provide unique camera functionality via the camera APIs • As a lens, your app provides the user with a viewfinder experience and interacts directly with the camera• New Picture.GetPreviewImage() method to return thumbnail images• New Photos extensibility features • In addition to extending the Photos Hub, the photo app picker, and the share picker, your app can now integrate with the photo edit picker or register as a rich media editor• Background Photo Auto-upload • Automatically upload photos to a photo storage service using a resource-intensive background agent• Advanced camera capture APIs for apps that require fine control of the camera • Use the PhotoCaptureDevice class to control photo properties such as ISO, white balance, and exposure. You can even programmatically adjust the focus position. • The AudioVideoCaptureDevice class offers a similar level of control for video and audio recording
    32. 32. Media• Music media library • Add and remove music files from the user‟s music collection with the SaveSong and Delete methods of the MediaLibrary class• Pictures media library • In Windows Phone 8, for each picture saved on the phone, the following two thumbnail images are automatically created and can be retrieved by your apps: • A small thumbnail image. You can retrieve this thumbnail with the GetThumbnail method of the Picture class. • A preview image that has the same dimensions as the phones screen. You can retrieve this preview image with the new GetPreviewImage extension method of the Picture class.• Background Audio • New PlayStateChangedEventArgs returns data when the state of the BackgroundAudioPlayer changes
    33. 33. VoIP and Video Chat• Incoming VoIP calls work like any other call• Integrates with built-in phone features• VoIP apps continue to run in the background• Available to all developers
    34. 34. Bluetooth and NFC• Create apps that communicate with other phones using Bluetooth technology• Bluetooth API enables the following scenarios for Windows Phone 8: • App-to-app communication • App-to-device communication• Proximity API enables: • App-to-app connection using Bluetooth technology • Establish a Wi-Fi, Bluetooth, or Wi-Fi Direct connection between your app and an instance of your app on a proximate device • Send data between devices using NFC. • Use a phone to interact with NFC tags
    35. 35. Better Sharing with NFC
    36. 36. Storage – Read from SD Card MicroSD Support• 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 files and media • Store photos, music, videos• Can install apps from a MicroSD store
    37. 37. Custom Contact Store• 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, delete, and query the app‟s contacts• Sync the app‟s contact list with a remote list maintained by the app‟s cloud service
    38. 38. File and Protocol AssociationsEnables App to App Communication• 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 the browser, or through Sharepoint • One app can launch another by sending it a file of the registered type• App can register a protocol • Allows your app to automatically launch when another app „opens‟ a special URI • Protocol is the first part of a URI, e.g. myprotocol:/ShowProducts?CategoryID=aea6ae1f • App launches another and passes it data in the remainder of the launch URI
    39. 39. In-App Purchase used for digital content Offer digital assets Durables: buy once & own forever, e.g. new game levels, maps, game items Consumables: game currency, movie rentals, access to digital magazines for 6 months, etc.
    40. 40. Enterprise Deployment process Company develops or licenses app Company acquires and applies certificate to managed devices Company deploys through: Microsoft tools, internal distribution or third party installer Company manages and revokes on command
    41. 41. Company Hub
    42. 42. Getting Started Developing for Windows Phone 8.043 Microsoft confidential 12/6/2012
    43. 43. Windows Phone Dev Center http:/
    44. 44. Getting The Tools FREE Dev Tools (Visual Studio, Blend, XNA Game Studio) & SDK
    45. 45. The Windows Phone Emulator• 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 Windows PC platform• The emulator is supplied with the Windows Phone SDK• You can perform location and orientation simulation using the emulator• You can use the Simulation Dashboard in Visual Studio to manage the emulator environment • Lock and unlock the phone • Control the quality and availability of the network connection
    46. 46. Development PC Requirements• Your computer must meet the following system requirements to run Windows Phone SDK 8.0: Supported operating systems Windows 8 64-bit (x64) client versions 8 GB of free disk space Hardware 4 GB of RAM (recommended) 64-bit (x64) motherboard Windows 8 Pro or higher (for Hyper-V) and Windows Phone Emulator Second Level Address Translation (SLAT)
    47. 47. Second Level Address Translation (SLAT)• 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 based on the Nehalem, Westmere, or Sandybridge micro-architectures.• To determine if your machine supports SLAT, perform the following steps: • Download SysInternals/TechNet CoreInfo at • Run "coreinfo -v" • If you have "*" next to "EPT" you should be good. • If you have a "-" next to EPT then you should start looking for a new computer :)
    48. 48. Coreinfo Output• If you see the below, youre in good shape for running the WP8 emulator on this machine:• If you see the below, you cant run the WP8 emulator on this machine:
    49. 49. Getting a Windows Phone Developer Account• 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 for development and to submit apps for testing and publication in the Windows Phone Store (formerly known as Windows Phone Marketplace)• To get a Developer Account: • Included if you have an MSDN subscription • Free to students who have a Dreamspark subscription • $99 charge per annum for individual developers• Register for an account at the Windows Phone Developer Center
    50. 50. Windows Phone 7.xApp Compatibility
    51. 51. Windows Phone OS 7.1 Apps on Windows Phone 8• In general, the Windows Phone app platform enables apps that target No recompilation WP Windows Phone OS 7.1 to run without OS WP OS 7.1 modification or recompilation on 7.1 app Windows Phone 8 app• Same APIs may exhibit slightly different WP 8.0 behaviour in WP 8.0 compared to WP Runtime/ 7.1 Libraries • Feature improvements or behaviour changes
    52. 52. Windows Phone OS 7.1 Apps on Windows Phone 8• Instead of breaking WP 7.1 apps running with the WP 8.0 runtime, quirks No recompilation WP WP mode is applied to retain WP 7.1 OS OS WP OS WP OS 8.0 7.1 behaviour 7.1 8.0 app app• Apps that are upgraded to WP 8.0 and app app +Quirks recompiled run on the phone without WP 8.0 quirks mode being applied Runtime/ Libraries
    53. 53. Summary @davebost | http://www.davebost.comNew DevicesNew Application ModelsNew API‟sConvergence with Windows 8New Monetization OpportunitiesWindows Phone 7.X apps run on Windows Phone 8 but make the effortto light up Windows 8 features
    54. 54. Build Your Game! Launch your App or Game in 30 days Generation App  Online training and tips from insiders  App and Game dev content  Tele-support with a Windows 8 architect  Exclusive one-on-one WinRT and Windows UX design consultation
    55. 55. The information herein is for informational interpreted to be a commitment on the part ofpurposes only an represents the current view of Microsoft, and Microsoft cannot guarantee theMicrosoft Corporation as of the date of this accuracy of any information provided after thepresentation. Because Microsoft must respond date of this changing market conditions, it should not beMICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATIONIN THIS PRESENTATION.© 2012 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.