* 技術レポート *
第1回 Google Androidとは?
「Android」は、米Googleが開発した携帯電話の「プラットフォーム」です。「プラットフォーム」とは、オペレーティングシステムとその上で動作するソフトウェア等を組み合わせ、携帯電話を作るときの土台とするものに当たります。
このAndroid上で作成したアプリケーション・ソフトウェアは、Androidが搭載されている機器ならどこでも動作します。携帯電話以外の電子機器(例えばカーナビ、PDA、音楽プレイヤー等)にもAndroidが搭載される可能性があり、そうなった場合、それらの機器でもAndroidアプリケーションを動作させることが可能となるのです。
このように、「一度作成したソフトが異なるハードウェア、異なる機器でも動作出来る」という考え方、その仕組みは、SunMicrosystems社が「Java」言語によって実装しており、Java言語は今やビジネスソフトウェア開発において不可欠な要素となりつつあります。その考え方や仕組みを、携帯電話・PDAに必要な形としてまとめたものがAndroidです。Androidで動作するアプリケーションはJava言語で開発が可能で、専用の開発環境が提供されています。Androidの開発言語がJavaである理由は、より多くの人がAndroidアプリケーションを開発しやすくする為に、より普及率の高い言語セットが用いられた結果だと言われています。
この仕組みを使うことにより、携帯電話業界の関係者以外では今まで自由に作成できなかった携帯電話のアプリケーションを誰もが作ることができ、さらにそれらのアプリケーションを販売・流通させることもできるようになります。その促進を図る為に、米Google社が中心となってAndroidの普及促進団体「OHA (Open Handeset Alliance」を組織しています。OHAにはインテル、NTTDoCoMo、KDDI、Motorolaといった企業が参画していて、Androidの技術革新や各種の調整などについて、主導的かつ継続的な活動を行なっています。
下表で示す通り、各社から幾つかの携帯電話のプラットフォームが提供されています。この中にあって、Androidの最大の特徴は「ロイヤリティ(ライセンス使用料)が無料」ということです。
プラットフォーム |
中心的な企業 |
備考 |
---|---|---|
Symbian OS |
Symbian Foundation、ノキア |
富士通などもドコモ向け端末で利用している |
LiMoOS/DB |
モトローラ、NEC、パナソニック、サムスン電子、Vodafone、NTTドコモなど |
Linuxベースの共通プラットフォームの一大勢力 |
KCP+ |
KDDI、クアルコム、東芝、旧三洋電機 |
クアルコムのBREWをベースにau向け端末に必要な機能を共通化している |
Windows Mobile |
マイクロソフト |
|
Android |
Googleなど |
キャリア、端末メーカー、半導体メーカーなどが多数参加 |
Android以外の携帯電話のプラットフォームについては、それを携帯電話に搭載するにあたって高額な費用が発生していました。それが、Androidについては使用料が無料となる為、携帯電話メーカーや携帯電話会社にとって、コストを大幅に削減出来るというメリットが生まれます。
また、Android自体が「オープンソース」であることも大きな特徴です。携帯電話のソフトウェア開発者にとって、従来の携帯電話では開発環境が有償であったり、開発には契約が必要だったりしていました。また、電子署名されたソフトウェア以外、実行できないといった問題がありました。これに対して、Androidはソフトウェア開発環境(SDK)もオープンソースであり、誰でも無償で入手可能です。その開発環境上でソフトウェアを自由に開発し、公開することが出来ます。
携帯電話のソフトウェア開発者だけでなく、一般のユーザーにとっても、自由にソフトウェアを自分の携帯電話に追加して実行できるという、大きなメリットを得られることになります。
現状のAndroidはあくまで、一つの「携帯電話のプラットフォーム」でしかありません。それ自体だけで何かが出来る訳ではなく、「何が出来るか」は「Android上で動くソフトウェア」に委ねられています。従来の携帯電話にもあるような、時計、カレンダー、ゲーム、Webブラウザ、ワンセグなどは勿論のこと、mixiやTwitterと連動出来るアプリケーションや、動画サイトに繋げるアプリケーションなど、既に多種多様なソフトウェアが開発・公開されています。
無償で公開されているAndroidの開発環境(SDK)上には、ユーザーがタッチパネルで行った操作を監視し、それに基づいた処理を行なう為の関数群や、方位センサー、加速度センサー、温度センサー、光センサーなどを扱う関数群などが定義されています。また、GPSを使用しての現在位置の取得なども可能です。携帯電話を始めとした電子機器にこれらの機能を組み込むことにより、今までには無かったアプリケーションを作成することも出来ます。
先にも述べたとおり、Androidアプリケーションの開発や公開はすべて無料です。また、Androidの開発言語は「Java」ですので、「Javaのプログラミングスキル」と、少しの「アイデア」さえあれば、誰でも、どんなことでも実現できる可能性を秘めている、と言えます。
次回は、自宅での開発環境の導入方法ついてレポートします。