3. Shared Windows Core
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)
4. Common native API
Common native Description
API
DirectX
For Mulrimedia
XAudio2
Audio API
MediaEngine
Video Playback
STL
Standard Templete Library
CRT
C Runtime Library
WinSock
Windows Sockets
5. Common Windows Runtime API
Common Windows Runtime API
Networking
Sensors
Proximity
Storage
DataSaver/Connection Manager
Location
Touch
Online Identity
Keyboard
Launchers & Choosers
In-App Purchase
Sensors
Threading
Base Types/ Windows.Foundation
6. Similar XAML UI Controls
You create your UI on both platforms using
XAML. Your app will consist of one or more
pages, and each page contains a UI created
by and customized by UI controls. The set
of controls available on Windows Phone 8 is
available in the System.Windows.Controls
namespace.
The set of controls used on
Windows 8 is in the Windows.UI.Xaml.Controls
namespace. Although these are different
namespaces and the types are different,
there’s a lot of similarity in the controls that
are supported.
Most of the controls are named
the same and will be familiar to you coming
from either platform. This supports design
reuse you can design your app for Windows
Phone 8 and Windows 8 with the same UI
building blocks in mind.
7. Windows Phone 8 Programming API
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
•Games dev using the WP7.1
XNA framework
•Games dev using Direct3D or
DirectX
8. .NET API for Windows Phone
.NET API for
Windows
Phone
Windows
Phone
RunTime
Managed
Managed &
Native
Win32 &
COM
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. Windows Phone Runtime API
.NET API for
Windows
Phone
Windows
Phone
RunTime
Managed
Managed &
Native
Win32 &
COM
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
11,000 members)
Subset adopted for
Windows Phone
Runtime (around
2,800 members)
Phone-specific additions to Windows
Phone Runtime include
New for Windows
Phone Runtime
(around 600
members)
•Speech synthesis and recognition
•Windows.Phone.PersonalInformation
•LockScreen and LockScreenManager
•More…
10. Win32 & COM API for Windows Phone
.NET API for
Windows
Phone
Windows
Phone
RunTime
Managed
Managed &
Native
Win32 &
COM
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 othe
Mainly of interest to native code developers
Managed applications could call these by adding a native project to the solution,
but there are few situations where this will be used
12. Development PC Requirement
Supported Operating Systems
Windows 8 64-bit(x64) client
versions
Hardware
8 GB free disk space
4GB of RAM
64-bit motherboard
Windows Phone Emulator
Windows 8 Pro or Higher (for
Hyper - V) and Second level
Address Translation(SLAT)
15. 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 for a particular phone
•Registered developers can register up to
three devices
•Registered students can register one device
17. Tile Templates and Tile Sizes
•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
18. 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
19. 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
20. 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
21. 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
23. UI Controls
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
24. 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
25. Other Features
Camera and Photos
Media
Bluetooth and NFC
Better Sharing with NFC
Networking Enhancements
Storage – Read from SD Card
Custom Contact Store
File and Protocol Associations
Enterprise app deployment
And many more…
26. App Model
XAML UI with Managed Code
XNA Games using Managed Code
Direct3D App
Direct3D and XAML
XAML/Managed plus Native Code
HTML5 App Development
28. Windows Design Principles
1.Pride in craftsmanship
Take care of the details
Make it safe and reliable
Uncompromising Sensitivity to Weight, Balance and Scale
Align to the grid
29. Windows Design Principles
2.Be fast and fluid
Life is mobile
Delight with motion
Design for touch
Intuitive interaction
Be responsive and ready
Immersive and compelling
30. Windows Design Principles
3.Do more with less
Be great at something
Focused and direct
Content before chrome
Inspire confidence
31. Windows Design Principles
4.Authentically Digital
Don’t Try to be What It’s NOT
Cloud connected
Dynamic and alive
Beautiful use of typography
Bold vibrant colours
Motion
32. Windows Design Principles
5.Win as one
Fit into the UI model
Reduce redundancy
Work together to complete scenarios
Tools and templates are designed to scale
36. Now Start Building With the Tools
Tools for the Job: Graphical Design
•A UX designer can use Blend to
specify the appearance of the user
interface
•A version of Blend for the phone is
supplied as part of the phone SDK
37. Tools for the Job: Code Creation
•A Developer can take the user
interface design and use Visual
Studio build the program to make it
work
•Visual Studio provides a design
environment but it is not as
advanced as Blend
38. Project Templates and Components
•Windows Phone SDK provides a
set of project templates
•Each of them maps onto a
particular style of application