Tuesday, February 12, 2013

Android Platform Differences

Android is hailed as “the first complete, open, and free mobile platform.”
n
Complete: The designers took a comprehensive approach when they developed
the Android platform.They began with a secure operating system and built a
robust software framework on top that allows for rich application development
opportunities.
n
Open: The Android platform is provided through open source licensing.
Developers have unprecedented access to the handset features when developing
applications.
n
Free: Android applications are free to develop.There are no licensing or royalty
fees to develop on the platform. No required membership fees. No required
testing fees. No required signing or certification fees.Android applications can be
distributed and commercialized in a variety of ways.
Android: A Next Generation Platform
Although Android has many innovative features not available in existing mobile
platforms, its designers also leveraged many tried-and-true approaches proven to work in
the wireless world. It’s true that many of these features appear in existing proprietary
platforms, but Android combines them in a free and open fashion, while simultaneously
addressing many of the flaws on these competing platforms.
The Android mascot is a little green robot, shown in Figure 1.6.You’ll see this little
guy (girl?) often used to depict Android-related materials.
Android is the first in a new generation of mobile platforms, giving its platform
developers a distinct edge on the competition.Android’s designers examined the benefits
and drawbacks of existing platforms and then incorporate their most successful features.
At the same time,Android’s designers avoided the mistakes others suffered in the past.
Free and Open Source
Android is an open source platform. Neither developers nor handset manufacturers pay
royalties or license fees to develop for the platform.
The underlying operating system of Android is licensed under GNU General Public
License Version 2 (GPLv2), a strong “copyleft” license where any third-party improvements
must continue to fall under the open source licensing agreement terms.The
Android framework is distributed under the Apache Software License (ASL/Apache2),
which allows for the distribution of both open and closed source derivations of the
source code. Commercial developers (handset manufacturers especially) can choose to
enhance the platform without having to provide their improvements to the open source
community. Instead, developers can profit from enhancements such as handset-specific
improvements and redistribute their work under whatever licensing they want.
Android application developers have the ability to distribute their applications under
whatever licensing scheme they prefer. Developers can write open source freeware or
traditional licensed applications for profit and everything in between.
Familiar and Inexpensive Development Tools
Unlike some proprietary platforms that require developer registration fees, vetting, and
expensive compilers, there are no upfront costs to developing Android applications.
Freely Available Software Development Kit
The Android SDK and tools are freely available. Developers can download the Android
SDK from the Android Web site after agreeing to the terms of the Android Software
Development Kit License Agreement.
Familiar Language, Familiar Development Environments
Developers have several choices when it comes to integrated development environments
(IDEs). Many developers choose the popular and freely available Eclipse IDE to design
and develop Android applications. Eclipse is the most popular IDE for Android development
and there is an Android plug-in available for facilitating Android development.
Android applications can be developed on the following operating systems:
n
Windows XP or Vista
n
Mac OS X 10.4.8 or later (x86 only)n Linux (tested on Linux Ubuntu 6.06 LTS, Dapper Drake)
Reasonable Learning Curve for Developers
Android applications are written in a well-respected programming language: Java.
The Android application framework includes traditional programming constructs,
such as threads and processes and specially designed data structures to encapsulate objects
commonly used in mobile applications. Developers can rely on familiar class libraries,
such as
java.net and java.text. Specialty libraries for tasks like graphics and database
management are implemented using well-defined open standards like OpenGL
Embedded Systems (OpenGL ES) or SQLite.
Enabling Development of Powerful Applications
In the past, handset manufacturers often established special relationships with trusted
third-party software developers (OEM/ODM relationships).This elite group of software
developers wrote native applications, such as messaging and Web browsers, which
shipped on the handset as part of the phone’s core feature set.To design these applications,
the manufacturer would grant the developer privileged inside access and knowledge
of a handset’s internal software framework and firmware.
On the Android platform, there is no distinction between native and third-party
applications, enabling healthy competition among application developers. All Android
applications use the same libraries.Android applications have unprecedented access to the
underlying hardware, allowing developers to write much more powerful applications.
Applications can be extended or replaced altogether. For example,Android developers
are now free to design email clients tailored to specific email servers such as Microsoft
Exchange or Lotus Notes.

No comments:

Post a Comment