Androidとは
Androidは、GoogleおよびOHA(Open Headset Alliance)が2007年11月に発表した、 インターネットの技術や開発スタイルが随所に反映された、オープンソースソフトウェアの「モバイルプラットフォーム」です。現在は携帯電話での採用が中心ですが、ネットブックやカーナビゲーションといった携帯電話以外の組み込み機器での採用も、メーカーで検討されています。
Androidの4つの特徴
Androidの特徴として、下記の4つが公式に発表されています。それぞれを個別に見ていきましょう。
- Open
- All applications are created equal
- Breaking down application boundaries
- Fast & easy application development
Open
Androidはドライバなどの一部を除いて、ソースコードがオープンソースとして提供されています。OHAの主導の下、全世界の技術者によって、オープンな形で開発が行われています。オープンソースなので、利用料などは一切かからず無料です。
All applications are created equal
全てのアプリケーションは等価性を持っています。つまり、プリインストールアプリもサードパーティーのアプリも、自作(勝手)アプリも全て同一の立場のアプリケーションとして扱われます。
例えば、Android携帯の電話アプリケーションをサードパーティーの電話アプリに置き換えることが可能です。このように、Android携帯は非常にカスタマイズ性が高くなっています。
Breaking down application boundaries
アプリに関する様々な境界、障壁をなくす工夫と努力が、Androidには成されています。例えば、AndroidアプリはGoogleのようなWebサービス、いわゆる「クラウド」に容易にアクセスできます。
また、Androidアプリどうしも「コンテントプロバイダ」と呼ばれる仕組みを使って、安全かつ簡単に相互にアクセスすることができます。
Fast & easy application development
Web開発のように、早くて簡単なアプリ開発がコンセプトとなっています。特に最もユーザに近いアプリケーションやそれを支えるフレームワークの層は、Web開発者に馴染みの深いJavaやXMLが採用されています。従来の組み込み系開発と比べて、アプリケーションが開発しやすくなっていることが特徴です。
Androidはオープンソース
先に述べた通り、Androidはオープンソースです。したがって、全世界の技術者が各々でソースコードをダウンロードして、必要に応じてカスタマイズし、場合によっては正規の機能として採用されて、本流に戻されることもあります。このようなAndroidプラットフォームの開発スタイルは、Linux等と共通する点でもあり、プラットフォームの仕様が日々進化していきます。しかも、開発環境を含めてオープンソースなので、基本的にAndroidを採用するために必要なコストはありません。この点は企業がビジネスとしてAndroidを採用する際のコストが抑えられるというだけでなく、個人が趣味でAndroidのアプリケーションを開発するのにも良い条件だと言えます。
インターネットの技術や開発スタイルを取り入れたAndroid
Androidでは、従来の組込機器の開発方法に加えて、Webアプリケーション開発に近い手法や考え方、あるいは、仕組みが取り入れられていており、下記のような特徴を持っています。
- Web系開発者に馴染みのある開発言語が利用できる
- WebKit等のオープンソースを利用して、アーキテクチャが構成されている
- インターネットへの接続やWebサービスとの処理連携(マッシュアップ)が容易
- 開発期間が比較的短い
Androidはアプリケーションの開発言語にJavaを採用しているので、Web系の開発者にとって馴染みの深い言語で実装することができます。また、HttpClientを用いればWebサービスとの連携も容易です。その他、さまざまな便利な仕組みがAndroidにはちりばめられており、開発期間も数週間~数か月という単位で可能にしています。
開発者から見たAndroidの凄いところ
何といっても、その「自由度の高さ」にあります。Androidアーキテクチャの各層で自由なカスタマイズが可能であり、ビジネスチャンスも含めてこの点にさまざまな可能性が感じられます。例えば、アプリケーション層で考えた場合、その気になれば自作のアプリケーションだけで構成された携帯電話(もちろん電話機能も含めて)を作ることができます。つまり、「完全俺様専用ケータイ」ができる訳です。
さらに、仕様が自由に拡張できる点やオープンからクローズに移行できるライセンス形態も見逃せません。例えば、オープンソースのAndroidプラットフォームのコードに独自仕様のコードを埋め込み、クローズなコードにすることが可能です。互換性を失うことにも繋がりますが、ビジネスを成立させ発展させるためには必要な面でもあります。このように柔軟性もAndroidには備わっていると言えます。
