Mobile Software Development Platform Comparison: Windows Phone 7 and Android

Student: Ahmad Hasan

Supervisor: J. Ostroff

Description

Over the past decade the development and use of smartphone technologies has become increasingly sophisticated. The computational power of modern smartphones is growing to match the power of conventional desktop computers. More people and organizations are becoming increasingly dependent on their mobile devices being able to perform sophisticated computations. As the leaders in the technology industry move towards providing advanced products and development platforms, the environment of traditional software development is changing rapidly. Mobile applications that provide a variety of services involving cloud computing, GPS, games, and automation.

The goal of this project is to explore and compare the software development platforms for popular mobile phone operating systems for the development of applications and games.

Business applications and games have distinctive features in the context of mobile platforms. For regular applications, platform capabilities relating to cloud computing, GPS and everyday consumer applications have a unique development cycle that differ from regular desktop applications. Mobile applications are usually lightweight and efficient tools for everyday administrative tasks. Under Windows Phone 7 such apps are usually built under the Microsoft Silverlight framework, and the the application must adhere to guidelines and best practices laid out in the Windows Phone 7 documentation. The Android platform provides no such single framework for developing these types of applications but all of the tools and functionalities are available to provide the same services, again this app will also follow the guidelines and best practices described in the official Android documentation.

The games developed in each platform are intended to serve as explorations into the graphics capabilities of both systems. Graphics environments and frameworks are another area in mobile devices that are becoming increasingly important. Rich graphics and animation capabilities are important for providing immersive user experiences and games are excellent environments to develop and test interactive graphics capabilities on mobile devices. The Windows Phone 7 game development framework uses and extension of Microsoft’s well established XNA framework. This provides libraries to develop and debug game and graphics engines and easily integrate multimedia content into mobile games. Android game applications depend on a to be determined open source game engine.

This project aims to compare the mobile platforms with respect to development languages, the use of object oriented software development principles and the utility of the tools. The applications and documentation developed through the course of this project should also provide a good source of information for computer science and engineering students who might want to develop software on mobile platforms. Using standard libraries and working with established frameworks and as well as open source frameworks to develop reliable, extendible and reusable code for mobile platforms would be an excellent experience for students to learn about new emerging technologies and the software engineering concepts that apply to them.