Introduction
In this article we are going to see what Windows Phone 7 is and what are the
hardware and requirements for developing a Windows Phone 7 Application and also
we are going to see the software development kit used to develop the application
with Visual Studio 2010 IDE.
Windows Phone 7 applications are build on existing tools from Microsoft like
Visual Studio 2010 IDE, Expression Blend, Silverlight and XAML code. Windows
Phone 7 provides 2 types of frameworks upon which we can develop the
applications and the types are as follows
- Silverlight Framework: With this framework we can develop event based XAML applications for
enterprise and consumer based application development.
- XNA Games Framework: With this framework as the name itself suggest we can develop rich games (2D
and 3D) games targeting the entertainment category.
With Windows Phone 7 we can develop application
accessing the framework internally, though we have restrictions over developing
applications targeting the native application development which is bit
disappointed. We can develop native application with Windows phone 7 using VC++
but with some restrictions over using multi tasking and its features. Also we
can make use of the .Net Compact framework which has support over the Windows
Phone 7 Development.
Before we start with the development process of the Windows Phone 7
applications, we need to have a look at the requirements to set up the
development environment. Microsoft has suggested with the software and hardware
requirements which needs to be considered when we start developing the
application. The hardware requirements are mainly considered for the device
manufactures to certify the hardware required to have a better performance for
the application that runs on the devices. As far as the software development
considered we need to have the latest updates running so that we can make use of
the framework more effectively to have a better application developed using the
latest features.
Initially it was Windows Mobile (6.0, 6.5) where Microsoft provides developers
to play around with the development of applications for mobile. We need to first
know that Windows Mobile and Windows Phone 7 are 2 different platforms even
though both run run on top of the CE Kernel as far as API's are concerned.
Windows Mobile and Windows Phone 7 doesn't have support over each other to run
the applications between the different platforms.
Hardware Requirements
Below are some of the hardware requirements the device manufactures to take care
of while designing the device. These are the minimum requirements that should be
considered and can have variations to have a better performed device. As a
developer we will not have much of the control over these requirements, but
developers can target the application development based on considering the
device with the hardware requirements specified. When considering Windows Mobile
we can say Windows Phone 7 have higher configuration for device manufactures as
below.
- Multi Touch (4 Ways) Capacitive screen
- DirectX 9 Acceleration
- Accelerometer
- Global Positioning System(GPS)
- 5 megapixel camera with flash
- 8 Gig Bytes Storage
- 256 MB of RAM
- Button Controls
Hardware |
Description |
Display |
WVGA (800 x 480) Should
have a minimum resolution of 800X480 for providing a good user
interface. |
Multi Touch (4 Ways) |
This is for providing
option for multi user processes like accessing shared portion, used for
games etc |
DirectX 9 Acceleration |
This is specifically for
the GUI based processes, like games, rich user application to maintain
the standards. |
Global Positioning System(GPS) |
This is for providing
location specific processes like GPS navigator, to integrate with Maps
etc. |
Accelerometer |
This is for providing the
proper acceleration of the device normally used in games, location-based
applications. |
Compass |
This is for detecting the
position like North, South, East, and West. |
Light |
This is for using like a
Flash light in the phone. Also we can enhance to use it across some
external application for flash |
Camera |
This is for taking
pictures that can be stored and accessed online, also to integrate with
the social networking sites like Facebook, Twitter etc. |
Button Controls(Up, Down, Side
buttons) |
This is for providing the
functionality that normally all phone will have like attending the call,
navigation etc |
Network Connection |
This is for providing the
connectivity process like normal phones to make calls, text and similar
purposes. |
Data Connection |
This is for providing the
functionality of internet to the phone with the technologies of 2G, 3G
etc. |
256 MB of RAM |
This is the base
requirement for a windows phone 7 manufacturer because 90 MB of memory
can be used by the application our of 256Mb. This is strictly followed
if fails then the application will fail in the Market Place |
8GB flash storage |
This is for the storage
among the applications |
The items mentioned above are the minimum
requirements, so a device can have maximum capacity to get a better performance.
When we consider on setting up the development environment for the Windows Phone
7 Software Development Kit we need to consider below requirements to setup the
software. Windows Phone 7 SDK is supported with one of the below OS with all the
versions except the express version i.e. the Starter Versions
- Windows Vista (All Editions)
- Windows 7 (All Editions)
Also we need to have the below requirements on
setting up the hardware for the development environment
Minimum 4GB Hard disk Space
Minimum 3GB Ram
DirectX 10 or above capable graphics card with a WDDM 1.1 driver
Once we are ready with the above development environment, we can install the
Windows Phone 7.1 SDK on the machine. We need to note that if the older version
of the Windows Phone (7.0) is available on the environment then we need to
remove the older version before installing the newer version on the same
environment. Windows Phone SDK 7.1 enables developers to target both Windows
Phone OS 7.0 and Windows Phone OS 7.1 platforms. Applications that target
Windows Phone OS 7.0 will run on both Windows Phone OS 7.0 and Windows Phone OS
7.1 devices. Applications that target Windows Phone OS 7.1 will not run on
Windows Phone OS 7.0 devices.
Software Requirements
Once we are ready with the hardware setup of the environment we need to install
the required software to start with the development of the Windows Phone 7
Applications. To start with Microsoft has provided the all the required and
supported software with the SDK, which we can just download from the link below.
Windows Phone SDK 7.1
This SDK will install the development environment providing options for the
developers to develop applications and games on both Windows Phone 7.0 and
Windows Phone 7.5 The above Windows Phone SDK 7.1 installs a list of products
which are in the list below.
- Microsoft Visual Studio 2010 Express for
Windows Phone
- Windows Phone Emulator
- Windows Phone SDK 7.1 Assemblies
- Silverlight 4 SDK and DRT
- Windows Phone SDK 7.1 Extensions for XNA
Game Studio 4.0
- Microsoft Expression Blend SDK for Windows
Phone 7
- Microsoft Expression Blend SDK for Windows
Phone OS 7.1
- WCF Data Services Client for Window Phone
- Microsoft Advertising SDK for Windows
Phone
Once the installation of the Windows Phone 7.1
SDK is done we can see new templates added to the Visual Studio 2010 IDE
(Silverlight for Windows Phone 7 and XNA Games Studio ) we are well set to start
with the application development.
Windows Phone 7 Architecture
The architecture of Windows Phone 7 is made on top of 4 main components of which
each component have internally many items to be seen in depth which we will see
in our upcoming articles. To have a quick look below figure gives some idea on
the architecture of the Windows Phone 7
Image Reference - Microsoft MSDN
The 4 main components on which the Windows Phone 7 Architecture lies are as
follows
- Runtimes: Silverlight and XNA framework
provides with an excellent environment for the developers to build a much
optimized application.
- Tools: Visual Studio IDE, Expression
Blend and the tools provides the developers with flexibility to design and
develop user rich applications.
- Cloud Services: Windows & SQL Azure,
Notification Services, Location Services provides developers with usage of
data across the frameworks with support over other 3rd party services as
well.
- Portal Services: Windows Phone Market
Place provides developers with upload and certifying the application to the
market.
Where Silverlight Framework fits in Windows
Phone 7 ?
Silverlight is basically used for light weight
business applications and normal 2D games development using the XAML (Extensible
Application Markup Language) Programming. Developers will have much flexibility
using this framework along with much used UI tools like Microsoft Blend, Adobe
Photoshop etc. to create a vector based process that can be easily transported
to XAML. This is really a not new topic compared to the XNA development since
Silverlight is already in market for developing rich browser applications and it
provides an option of creating applications with XAML which is highly
advantageous of creating a vector based application. So it gives the developers
on full control of the layout, design, structure and also the data binding
components. Silverlight application development for Enterprise or Consumers
looks like the image as shown in the screen below.
Where XNA Framework fits in Windows Phone 7 ?
XNA is basically used for developing rich games where the framework comes with a
game engine (with 3D) which helps the game developers to provide rich 3D games.
Unlike Silverlight XNA is not much known across the developers since it has been
used to develop Xbox games using Managed code. Why Microsoft provided the XNA
engine with the windows phone 7 is mainly because of integration of Xbox live
integration with Windows Phone 7. XNA engine provides the rich user experience
that ever y developers take advantage in providing next generation games with 2D
and 3D game loop engines. XNA Game Studio application development for the
entertainment or for the enterprise looks like the image as shown in the screen
below.
How Windows Azure Cloud fits in Windows Phone 7 ?
When we create an application with Windows Phone 7, we need to save some data
for future retrieval which is going to be bit tough here. Windows phone 7
doesn't provide the direct connectivity with database to save the data. To
overcome this we need to use AZURE, Windows azure provides the platform of Cloud
Computing in storing and retrieving the data from different locations using
Windows Phone 7. Say today we created a small application in windows phone 7
using Silverlight. Day to-day when the development increases and finally we get
an excellent product, then the number of user visit gets increased which
eventually requires an enterprise database to save the details. So at this case
we can use the Azure availability of extending the size of the database as per
the need since it maintains in the cloud. If we use Azure for the development of
the Windows Phone 7, Microsoft has provided with an additional advantage of
using Bing Maps which is given free of cost only for the windows phone 7.
Additionally Push notification services are also been provided in the cloud
where we can use it to send notifications to the mobiles as Text which is
eventually a bitter process for the business needs.
Windows Phone 7 Development Life Cycle
We as developers of windows phone 7 we need to register with App hub using the
below link http://create.msdn.com/en-US/ and giving our Windows Live credentials
which acts like a single sign on for all the process which Microsoft provides.
The main idea behind registering with App hub is once registered and developed
an application in Windows Mobile phone 7 we can use our registered hand set as a
physical device tester to test our application. App Hub provides developers with
up to 3 devices can be registered and test it in real-time. Now let us jump
through the steps involved in the application development life cycle of the
windows phone 7.
Steps to register to APP HUB Market Place
Step 1 : Register with App Hub
As mentioned above App hub is the Microsoft place where we need to register
and use for testing the application in real-time. Please follow the below steps
to register in App Hub.
Step 2 : Market Place Certification procedures
Once we are registered with the App Hub, before proceeding with the development
consider reading the certification process document in order to avoid rejection
of the product at the market level. Please refer to the below link for the
Application Certification process checklist and validation. http://go.microsoft.com/?linkid=9730558
Once the development is completed and the validation process is checked and
passed by the Market, then the application will be available online for
downloads.
Microsoft reserves the rights to give 5 free applications downloads and
unlimited number of paid application downloads. Microsoft charges an amount of
99$ for the market place registration to submit the application developed. And
for each download the Microsoft takes 30% of the fees paid and the developer
will get 70% for his development charge.
Conclusion
We have seen in this article the complete overview on What Windows Phone 7
development is and the hardware and software requirements for developing the
Windows Phone 7 Application in detail. In our upcoming article in this series of
article we are going to see some of the interesting features of the Windows
Phone 7 development.