Microsoft introduced Windows Phone 7 to the public during the Mobile World Congress 2010 @ Barcelona. During the initial stages, MS developed this one as an upgrade to Windows Mobile 6.5, but the developments made by Apple and Google in the mobile arena prompted them to rejig its mobile offering. Then @ MIX 10, they revealed more features and then released the beta toolkit for developers to build applications targeting the Windows Pone platform. As of writing this post the toolkit has been put to gold and RTM version is now available for download from the Microsoft site. The home page for Windows phone is located here and it contains lots of documentation and code samples.
The Windows Phone 7 OS exposes classes defined by the .Net Compact Framework. One can develop apps for Windows Phone using Expression BlendVisual Studio 2010 Express; both are free offerings from Microsoft. An app targeting Windows Phone must be created using Silverlight or XNA Framework. It will be nice idea to use both of them in a single app, but as of now itâ€™s not possible. So before starting the actual work, one must decide about the technology to be used. andIdeally applications created using Silverlight can be thought of as utility programs such as Calculator or a Currency converter. XAML(Extensible Application Markup Language) is used for creating the user interface controls and panels and the code behind files can perform actions such as event handling, input/output processing etc. Microsoft is trying to promote Silverlight as the front end for their cloud services(Windows Azure) which implies that the Windows Phone OS is cloud ready. By using Silverlight we can leverage the advantages of RIA(Rich Internet Applications) in to a Windows Phone App.
XNA Framework is mainly used for creating high performance games. Initially Microsoft offered this one for developing games for their XBOX platform. With 2009 release of the Zune HD, Microsoft incorporated the support for multi touch navigation in XNA and revamped its graphics engine. Now we will be able to develop games targeting multitude of platforms such as PC, XBOX, Zune and Windows Phone.
Windows phone supports only two phone sizes 480 * 800 pixels or 320 * 480 pixels. Since there are no other options, this plays a major part in developing apps for Windows Phone. Also the phone supports both Portrait and Landscape modes. In Landscape mode phone supports an aspect ratio of 3:2 or 1:5 for small screen and for large screen it is 5:3 or 1:66. Like many recent phones, Windows Phone is expected to use OLED(Organic Light Emitting Diode), whose power consumption is directly proportional to the light emitted from the display, which helps to sustain more battery life.
Before you starting development, you should be familiar with the most important buttons in the windows phone.
Back Button: The apps are required to use the back button to exit from the application or for navigation between pages in the application
Start Button: This button is used to power up the phone and if the phone is running then it will take to the start screen. This button will not be accessible to the custom made apps.
Search Button: Custom apps can either completely ignore this button or can use it for any search related purposes.
The primary source of input is the touch screen. The screens respond to human fingers and not to a stylus or other forms of pressure and a hardware keyboard is optional.
Wi-Fi : The phone has got a Wi-Fi option for accessing internet and the device includes Internet Explorer as the browser
Camera: Itâ€™s a 5 mega pixel one with flash
Accelerometer : An accelerometer is detects acceleration, ie the movements made with the phone. One area which uses this sensor is when we change the orientation of phone it automatically switches the display from portrait to landscape mode or vice versa.
Compass : The Compass detects orientation relative to magnetic earth
Vibration : The phone can be vibrated through program control.
The Developer Tools helps developers for creating custom built apps running on a windows phone. Itâ€™s built on top of existing tools such as Visual Studio and the Expression Blend, and technologies like Silverlight and XNA Framework. Silverlight framework is used for developing event driven apps using XAML and XNA framework for developing loop based games. I will divulge more details about it in the second part of this series. Till then happy coding…