What is it?
T-Mobile's G1 is the first commercially available mobile phone
to be based on the Google/Open Handset Alliance
Android software platform and operating system. At least one
more is promised before the end of the year, and many more have
reached prototype stage.
Google has come in for much criticism during the development of
Android. Described as open source, much of the platform is still
proprietary, although it's promised that all will eventually be
covered by the Apache and GPL licences. The use of the open source
Apache Harmony Java implementation rather than Java ME or SE
could mean compatibility issues between Android and other mobile
phone software, and in the words of one developer, "the net result
seems reinvention of a lot of wheels". Others point out that this
makes a mockery of Java's "write once, run anywhere" promise, and
say Android is going to create more problems for developers than it
solves for Google.
Google antagonised the developer community further by keeping
them in the dark about Android developments, and then releasing
version 0.9 of the SDK privately to the 50 winners of its Android
development challenge. Many people who had committed
enthusiastically to Android development threatened to desert to
other platforms no doubt some actually did.
Where did it originate?
Google took over Android Inc, a startup specialising in mobile
phone software, in 2005, and put the team to work on a Linux-based
mobile phone operating system. Android was announced late in 2007,
together with the formation of the Open Handset Alliance.
What's it for?
Android uses Linux version 2.6 for core system services such as
security, memory and process management, network stack and driver
model. The Linux kernel also acts as an abstraction layer between
the hardware and the rest of the software stack. The Dalvik Virtual
machine, developed by Google engineers, uses Java syntax but
compiles it to its own non-Java bytecode, and uses Apache Harmony's
rather than Sun's implementation of the Java SE class library.
The only development language supported so far is Java. There is
an Android Development Tools plug-in for the Eclipse IDE. Android
uses the WebKit browser application framework and the SQLite
relational database.
According to Google, "Developers have full access to the same
framework APIs used by the core applications. The application
architecture is designed to simplify the reuse of components any
application can publish its capabilities and any other application
may then make use of those capabilities... This same mechanism
allows components to be replaced by the user."
How difficult is it to master?
Android makes use of existing Java development skills using
Eclipse and Sun's Java Development Kit. It's not yet clear how much
Google's departure from Java standards will affect developers -
except that applications written for Android won't necessary run
unmodified on other mobile platforms.
Where is it used?
The Open Handset Alliance includes China Mobile Communications,
NTT DoCoMo, T-Mobile, Telecom Italia, Telefónica, Intel and NVIDIA,
HTC, LG Electronics, Motorola, Samsung, eBay and Wind River.
What systems does it run on?
The Android SDK runs on Linux, Mac OSX, Windows XP and
Vista.
Rates of pay
Android is already beginning to appear in the portfolio of
skills employers look for in mobile software developers, alongside
Symbian, Windows Mobile, Palm, Blackberry and iPhone. You can
expect to earn £25,000 to £45,000, depending on sector and
experience.
Training
Download the Android SDK and find documentation, developer's
guides and sample code on
http://code.google.com/android/documentation.html