Sunday, November 27, 2011

Introduction of Android application Architecture - part 1

Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.

Android is an open source operating system targeted for mobile platforms. This open source Operating System running under the linux Kernel 2.6 platform. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.

There is a lot of similarities in Apple iOS and Android OS were created . There are several difference in to use objectives of C++ as a programming language. The main advantages of Android operating System is run on CPU’s with x86 ,ARM and Atom architecture, but Apple iOS runs only on Apple-built hardware.

So that the Android developers need not to build their applications in several binary version. To make the same application binaries working across different hardware. Google had to use a container-base architecture binaries are executed by a software container which isolates them from details if particular hardware the binaries are running on.

Google Android convert java code to DJVM[Dalvik JVM] binaries run time. Android application architecture is a framework-based application and Java programming is a free-style application architecture. Actually what is the difference between free-style application and framework- based application architecture. A free-style application written in Java starts from a class with main() method and the programmer can do anything as he wish.

In framework-based application is based on an existing framework and a developer extends certain classes or implements interfaces provided by the framework to buid an application. The application can’t run outside of the frame work. So framework-based architectures limit freedom of developers by prescribing what to do and how to do certain things.

Android Basics

Google introduced the Open Handset Alliance[OHA] Operating System. The first truly open and comprehensive platform for mobile devices, all of the software to run a mobile phone but without the proprietary obstacle that have hindered mobile innovation. Android is an open source operating system targeted for mobile platforms running under Linux kernel 2.6 platform .

Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language. Google has provided tools for developing Android application SDK including resource compiler debugger and emulator. Dalvik Virtual Machine [DVM] for running applications at runtime.

Why android is important because of the mobile-application space is crowded and difficult to gain footing for a new comer. Google’s entry into the mobile space has been in the woks for a few years.

Actually Android was a separate and distinct company name as Android Inc. On the beginning of 2003 Android Inc begin developing the project , later on 2005 Google purchased the company to give it a jump start on a mobile presence. Anything google is doing gets attention, publicity is good for introducing new platform.

On the other hand Android is important is because of it’s application model. Android applications are not monolithic menu-laden applications that require a great of clicking and tapping to operate. Android has an innovative design element to it’s architecture known as intent.

Attempting to make a play for the crowded mobile market Android and Open Handset Alliance is an impressive starting point . Android takes the different approach to applications. The architecture of android permit a highly customizable software environment by its runtime building of requested actions and the code to satisfy hose request. Most of the people using Eclipse development environment for developing android application.