In this article we are going to talk about Android Phenomena, and compare it to other will established Smart phones market such as Windows mobile and Apple IOS.
What is android from Market Point of view
Is an operating system for mobile devices such as cellular phones, tablet computers and net-books. Android was developed by Google and is based upon the Linux kernel and GNU software. It was initially developed by Android Inc. (a firm later purchased by Google) and lately broadened to the Open Handset Alliance. According to NPD Group, unit sales for Android OS smart phones ranked first among all Smartphone OS handsets sold in the U.S. in the second quarter of 2010, at 33%. BlackBerry OS is second at 28%, and iOS is ranked third with 22%.
Android has a large community of developers writing apps that extend the functionality of the devices. There are currently over 70,000 apps available for Android with some estimates saying 100,000 have been submitted, which makes it the second most popular mobile development target. Developers write managed code in the Java language, controlling the device via Google-developed Java libraries.
The unveiling of the Android distribution on 5 November 2007 was announced with the founding of the Open Handset Alliance, a consortium of 71 hardware, software, and telecom companies devoted to advancing open standards for mobile devices. Google released most of the Android code under the Apache License, a free software and open source license.
The Android operating system software stack consists of Java applications running on a Java based object oriented application framework on top of Java core libraries running on a Dalvik virtual machine featuring JIT compilation. Libraries written in C include the surface manager, OpenCore media framework, SQLite relational database management system, OpenGL ES 2.03D graphicsAPI, WebKit layout engine, SGL graphics engine, SSL, and Bionic libc. The Android operating system consists of 12 million lines of code including 3 million lines of XML, 2.8 million lines of C, 2.1 million lines of Java, and 1.75 million lines of C++.
Android From Technical point of view
1. Android runs on ARM CPUs
2. Applications are compiled from Java to DalvikVM bytecode or from C to ARM native code
3. Dalvik VM vastly improves performance and stability by using Just In Time Compilation (JIT) technology to covert DalvikVM bytecode to ARM instructions on the fly. The JIT is a software component which takes application code, analyzes it, and actively translates it into a form that runs faster, doing so while the application continues to run.
4. State of art garbage collector. More efficient than Java VM’s
The Dalvik Virtual Machine
One of the key elements of Android is the Dalvik virtual machine. Rather than use a traditional Java virtual machine (VM) such as Java ME (Java Mobile Edition), Android uses its own custom VM designed to ensure that multiple instances run efficiently on a single device.
The Dalvik VM uses the device’s underlying Linux kernel to handle low-level functionality including security, threading, and process and memory management.
All Android hardware and system service access is managed using Dalvik as a middle tier. By using a VM to host application execution, developers have an abstraction layer that ensures they never have to worry about a particular hardware implementation.
The Dalvik VM executes Dalvik executable files, a format optimized to ensure minimal memory foot- print. The .dex executables are created by transforming Java language compiled classes using the tools supplied within the SDK.
.NET Compact Framework
1. Microsoft .NET Common Language Runtime (CLR) also employs JIT technology to optimize performance at the run-time. Some sources complain of very long start-up time for Windows Mobile CLR, up to 5-10 seconds
2. Interoperability between .NET managed code and native code is very limited
3. A major disadvantage of the UI development is that fact that modern looking applications with support for finger-based touch screen interaction are not that easy to implement. This is mainly due to the desktop-oriented user interface concept on which WinForms is based, although some third party libraries with custom controls for this purpose are available.
Last but not least
this comparison sheet was created by me and i updated it the last time maybe 1 year ago or less, I hope that you will find a good use for it
|Android||Windows Phone 7*||iPhone/iPad|
|Kernel||Linux 2.6.x||Windows CE7||OSX|
|UI Interface||SDK includes modern UI elements||SDK includes modern UI elements||SDK includes modern UI elements|
|Platform||Open Platform||Closed Platform||Closed Platform|
|Programming Language||Java, C but bridges from other languages exist (C# .net – Mono, etc)||C#, VB#||Objective C|
|CPU Architecture||ARM||ARM||Apple A4|
|Virtual Machine||Delvik||.NET CLR||Native|
|SDK/NDK Availability||managed code(Java), and native APIs (C,NDK available), many APIs (deep integration of apps, services into system is possible)||managed code only (C#), little APIs available||Native/managed code (objective C) , many APIs available, buts severe restrictions|
|SDK Cost||Free||development kit costs ~ 100 USD|
|Application Alternatives and defaults||applications can hook and override everything||Alternatives is allowed ,changing defaults is not allowed||Alternatives not allowed|
|Installing Applications||No limitation||Only from Windows Phone Marketplace||Only from AppleStore|
|Publishing Applications||Android Store, no fee||Windows Phone Marketplace||AppleStore, placement fee|
|Multitasking||Yes hardware dependent||No||Yes, starting from iPhone 4G|
|File System Access||Yes||No||No|
|Direct Network Access||Yes||No||Yes|
|Built-in Database||SQLite||Microsoft SQL Server 2005 Compact Edition||SQLite|
|Adobe Flash Support||Yes||No but in future it will be incorporated||No|
|Notifications Handling||Non-intrusive, aggregation in notification panel, manageable||Non-intrusive, no management||Intrusive, no management|
|Push Email||Multiple exchange servers, Gmail||Multiple exchange servers||Multiple exchange servers|
|Web Browser||Chrome(Webkit)||Internet explorer||Safari(webkit)|
|Media and File Synchronization||Via direct access to file system (any file synchronization method can be used) eg.windows media player, wifi , and cloud sync solutions||Zune desktop software, wifi Sync||iTunes|
|Codec Supported||MP3, ACC, OGG, AMR, MIDI, WAVE, H.263 , H.264, MPEG-4 , others through thrid party players||MP3, ACC, WMA, ASF, AMR, WAVE, WMV, MPEG-4,DiVX,H.263,H.264||AAC, H.264, MPEG-4, M-JPEG|
|Copy and Paste||Yes||No||Yes|
|Major Hardware Suppliers||Lenovo, HP, Dell, Cisco, Acer, NEC, Philips, Sharp, Samsung, Asus, HTC, Nokia, Motorola||Dell, Fujitsu, HP, Toshiba, Lenovo, HTC, Asus, Acer, Motorola, Samsung, LG, Siemens||Apple|
Chapter 1. Blog Posts
- Multitasking the Android Way [http://android-developers.blogspot.com/2010/04/multitasking-android-way.html]
- Multithreading For Performance [http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html ]
- Dalvik JIT [http://android-developers.blogspot.com/2010/05/dalvik-jit.html ]
- List of Androdi Devices [http://en.wikipedia.org/wiki/List_of_Android_devices ]
- iPhone OS X System Architecture [http://rixstep.com/2/2/20070707,00.shtml]
- An article of shortcomings of Windows Mobile platform [link]
- New Features in .NET Compact Framework 2.0 [http://www.dotnet-guide.com/new-features-in-dotnet-compact-framework2.html]
- WSJ: Businesses Add iPads to Their Briefcases [http://online.wsj.com/article/SB10001424052748703846604575447531699309858.html]