2. Agenda
Introduction to Windows Phone 7
Tools for Development on Windows Phone 7
Using Silverlight for WP7 development
Navigation among pages of application
WP 7 application lifecycle
Launchers and Choosers
Tombstoning
Fetching data from server
Deployment model of WP7 application
Demos
Q & A
3. Introduction to WP7
Windows Phone 7 is a mobile operating system and is
the successor to Windows Mobile 6.x platform.
Windows Phone has a new Metro user interface and
seamlessly integrates the operating system with
Microsoft's other services including Xbox and Zune.
Partners (OEM) include Dell, Garmin-Asus, HTC, HP ,
LG, Samsung, Sony Ericsson, Toshiba and Qualcomm
Mobile network operators included AT&T, Deutsche
Telekom, Orange, SFR, Sprint, Telecom Italia,
Telefónica, Telstra, T-Mobile USA, Verizon Wireless,
Vodafone and SingTel.
4. Hardware Chassis
The Windows Phone specifications ensure that every Windows Phone has a
consistent set of features that customers can rely on. This also provides
developers with a base set of features they can build rich and creative
applications upon.
Each Windows Phone will contain the following hardware elements:
WVGA (800 x 480) format display capable of rendering most web content in
full-page width and displaying movies in a cinematic aspect ratio.
Capacitive 4-point multi-touch screens for quick, simple control of the phone
and its features.
DirectX 9 hardware acceleration for crisp graphics and exciting audio and video.
A standard suite of sensors - A-GPS, accelerometer, compass, light, proximity -
for interacting with the phone’s location, orientation, and environment.
A digital camera.
A common set of hardware controls and buttons that include the Start, Search,
and Back buttons.
Support for data connectivity using cellular networks and Wi-Fi.
256 MB (or more) of RAM and 8 GB (or more) of flash storage.
5. Introduction to Windows Phone 7
The Windows Phone Application Platform provides two
frameworks for developing applications:
The Silverlight framework for event-driven, XAML-based
application development that allows developers to develop
creative mark-up based user experiences.
The XNA Framework for loop-based games that enables
immersive and fun gaming and entertainment experiences.
Silverlight development on WP7 may be done using
existing Microsoft® tools and technologies such as Visual
Studio, Expression Blend® and Silverlight®. Developers
already familiar with those technologies and their related
tools are able to create new applications for
Windows Phone without a steep learning curve.
6. Tools for development
The primary tools used for development will be Microsoft's
Visual Studio 2010 and Expression Blend, which are also
available as free downloads.
Visual Studio 2010 is used by developers to develop
applications targeting WP7
Expression Blend for WP7 is available for designers for
defining user interface of the application
Windows Phone Emulator
a desktop application that emulates a Windows Phone OS 7.0
device
Additional tools: Developer Registration tool, Application
Deployment tool, Windows Phone Connect tool, Phone
Capability Detection tool
7. Introduction to Windows Phone 7
The Windows Phone Application Platform helps
developers to create applications by providing:
A familiar and inexpensive toolset.
A cohesive and well designed managed API set.
An isolated sandbox for each application.
Runtime services on devices that can be used to access web
services in the cloud such as Xbox LIVE®, Windows Azure,
location, and notification services. Access to 3rd party
Windows Communication Foundation (WCF),
Representational State Transfer (REST) services and ODATA
is also supported.
The Windows Phone Marketplace to distribute application.
8. Introduction to Windows Phone 7
– A Developer Perspective
The Windows Phone Application Platform is designed to support the multi-
screen world
9. Lightening up the Web
Silverlight apps = code + markup*
XAML markup language
defines UI
.NET code handles interaction
Silverlight .NET Application
10. Demo
Build a WP7 Client
Investigating Execution Model Events
Basic Navigation
PhoneApplicationService
Launchers: PhoneCallTask, SearchTask
Choosers: PhotoChooserTask
Create a Odata Service
Connect WP7 to Odata Service
12. Windows Phone execution model
The Windows Phone execution model governs the life cycle
of applications running on a Windows Phone, from when
the application is launched until it is terminated.
The execution model is designed to provide end users with
a fast, responsive experience at all times. To achieve this,
Windows Phone allows only one application to run at a
time.
To enable seamless navigation by limiting the phone to
run one application at a time, Windows Phone activates
and deactivates applications dynamically, raising events for
applications to respond to when their state changes.
By implementing handlers for these events, developers can
save and restore application state as their application
transitions between active and inactive states.
13. Tombstoning
Tombstoning: The procedure in which the operating system
terminates an application’s process when the user navigates away
from the application. The operating system maintains state
information about the application. If the user navigates back to
the application, the operating system restarts the application
process and passes the state data back to the application.
Two sets of data types
Persistent data: Data that is shared by all instances of an
application. Persistent data is saved and loaded from isolated
storage. Application settings are an example of persistent data that
should be preserved between application executions.
Transient : Data that describes the state of a single instance of an
application. Transient data is stored in the State dictionary provided
by the PhoneApplicationService class. A tombstoned application
restores its transient state when it is activated. An example of
transient state is the data returned by a Web service query. This can
be stored when an application is tombstoned to reduce the need to
perform the query again if the user quickly returns to the
application.
14. Launchers
Launchers: A Launcher is an API that launches one of
the built-in applications through which a user
completes a task, and in which no data is returned to
the calling application. Examples of this is the
PhoneCallTask, SearchTask, etc.
When the user closes the Phone application, the
calling application is usually activated again, but the
Phone application does not return any data about or
resulting from the user’s actions.
15. Choosers
Choosers: A Chooser is an API that launches one of the
built-in applications through which a user completes a
task, and which returns some kind of data to the calling
application. An example of this is the PhotoChooserTask.
The result includes a value that indicates whether the user
completed the task and, if the user did complete the task,
the result includes an IO stream that contains the image
data of the chosen photo.
An important concept for Windows Phone application
developers to consider in general, and especially when
using Launcher or Chooser APIs, is that the calling
application is no longer running when the Launcher or
Chooser task application is invoked.
17. Write in to
Subodh N Pushpak
http://geekswithblogs.net/subodhnpushpak/
http://subodhnpushpak.wordpress.com
S_pushpak@hotmail.com
Twitter: s_pushpak
Metro design language contains the following principles
Clean, Light, Open, Fast
UI of Metro is based on the signs you see on the Metro. Large, eye-popping typography that catches the eye and text that runs off the page