Over the past year developers are to this day are focusing to a new place to practice and improve their programing skill and they are called smartphone. These Smartphones are mobile phone that offer more advance computing power and connectivity than any regular mobile phone because they are considered as a handheld computer. Some people agree that these smartphones are our future but we will start with two well-known mobile OS's one is the Windows Phone 7 made and developed by Microsoft and Google's Android these two mobile OS are to these day very powerful tools but it stirs a great question which is better ? To answer it's categorized by the following:
OS Structure "so much power yet so small".
SDK developer" your new friend".
Advantages and Disadvantages "all good yet some bad".
Differences between platforms (strengths and weakness) "Both are so good I can't decide"
This paper will focus on these four topics.
Operating System Structure:
First is the Android. The Android is software for mobile devices that includes the operating system, the middleware and the key application. It includes a lot of interesting features like the application framework that helps to modify components, Dalvik virtual machine it is an essential part of the android that converts and compacts the application to a (.dex) file that is designed to be suitable for the system that is in terms with memory and processor speed. Other features include a browser, database capability, media support, phone, Bluetooth, WIFI, camera, GPS, compass, accelerometer and a development environment that includes an emulator, tools that includes for debugging purposes, performance and memory reporting.
Android's structure is composed by five parts and these are:
Applications : This part represents all the applications you have in the android that includes the essentials to a smartphone all applications are coded in Java in the same way you can add or take as many times as you like.
Application Framework: As a Developer you have access to all the API's used by the core applications. Android is designed so that application's capabilities can be publish and also other applications copy the same capabilities, as well. It has some security constraints, it is expected. One of the best things is how clean and easy it is to write code. Android has an extensive, not to mention very rich, set of 'Views' that'll make your programming life a heck of a lot easier. It has drop down-menus, tables, buttons and many more features. You can even embed a web browser. Along with all that, you get a Provider for content on the mobile device, and a Resource, Notification and Activity Manager. When it comes to creating applications quickly and easily, Android has you covered.
Libraries: Android has vast libraries off of which all applications run from. Developers can directly access these. Some of the core libraries include C/C++, FreeType, SQLite, LibWebCore, and SGL.
Android Runtime: is pretty exclusive part of the Android, it only needs the other parts to do its purpose one is the Dalvik Virtual Machine and the libraries in the Android. A lot of the functions are in the Java libraries are provided by Android Runtime, which is yet another set of core libraries. What this does is it executes files in '.dex' format, which are especially for the Dalvik Virtual Machine. This format is also created for minimal memory footprints, which makes it ideal for cell phones. The Dalvik Virtual Machine is written so it can run multiple processes quickly and smoothly. It relies on the Linux Kernel to execute all given to it.
Linux Kernel: It holds all the android's internal structure together and also acts like a layer between the hardware and the software.
Now is the Windows Phone 7 is designed to provide an exceptional hardware and software integration on a platform engineered for optimal performance, quality, and hardware distinction.
A high- level view of core architectural components and systems, including:
The window phone architectures based on the Windows Embedded CE 6.0 kernel and it is logically layered into three main components.
Kernel mode: It includes the kernel that provides extensive coverage of the kernel including trap and interrupt handling, thread and process scheduling and memory management. The file system provides a in=depth look at the file system architecture including partitions, the file systems stack, and the user store. Networking describes the overall networking architecture if then it provides more information on the four main networking areas the IP core, CellCore, Bluetooth core and the connection manager. The graphics and rendering illustrates the components that make up the new graphics and rendering system. Phone update explains the mechanism by which the OS is updated. The BSP covers the device driver architecture, the kernel independent transport layer (KITL) architecture, and the EOM adaptation layer (OAL) architecture.
User mode (the software layer): It includes the windows phone application platform and the shell which covers drivers and application development.
Hardware components: it includes all the physical parts in the windows phone.
SDK Developer tools
Both SDK for the Android and Windows Phone 7 is a set tools that allows for the creation and development of applications for their respective software, framework and hardware and operating system depending on the OS you are developing. SDKs may have attached licenses that make them unsuitable for building software intended to be developed under an incompatible license.
The Android SDK contains a complete set of tools. That includes a debugger for the run of the application, core libraries, an emulator, Android documentation, code, and vast collection of tutorials. Eclipse is the official development environment in using the Android Development Tools, though the developers can use all text editors to edit Java code and XML files then use command line tools to create, build and debug Android applications also control attached devices with the android software. Windows Phone 7 development is based on Silverlight, XNA, and the .NET Compact Framework. The tools used for development on the windows phone 7 are Microsoft's Visual Studio 2010 and Microsoft's Expression Blend. Windows Phone 7 will only run applications that have approved and will only be available via the Microsoft's Marketplace.
Advantages and Disadvantages
The Android is open source software. This means that the Android software platform will have a competitive advantage over other operating systems. There a lot of advantages that the Android was developed as open source software. Here are some Rewards:
Anyone to customize and personalize the Android to their own needs like never before, right down to the screen.
As an end result for the massive quantities of mobile phones carrying the Android OS, all mayor companies will improve and come up with such groundbreaking for the products that will provide users with any information they might be in need of.
The entertainment functions are taken a notch higher by Android.
But the Android is applications which Android will enable mobile phone holders to access free of charge.
Android is an open source application and by being an opens source significantly increase the risk of hacking the devices with the OS.
Microsoft's Windows Phone 7 is a huge development over its past OS, Windows Mobile 6.5.
The Windows Phone 7 needs minimal hardware.
The Windows Phone 7 it only accepts applications that are developed in the language provisioned.
The list that application developers are all are lining up to team up with Microsoft's new mobile OS.
The Windows Phone 7 does not offer multitasking,
Differences between platforms:
Android offers multitasking and The Windows Phone 7 on the other hand no.
Android and the WP7 come with a browser and an enhanced mobile layout.
Windows Mobile and the Android are both user friendly including the touch screen.
Android is open-source.
WP7 must be registered per device.
Both OS are practical for players in today's market.
Android's drive is faster than the WP7.