大学院のレポートとしてまとめたので、せっかくなのでここにも上げてみる。
はじめに
Androidとは、携帯電話やタブレット端末等の情報端末向けのOSである。googleが開発し、2007年に発表された。Androidでは、アプリケーション開発者向けに、SDK(Software development Kit)が提供される。アプリケーションはJavaで開発し、DalvikというJava仮想マシン上で稼動させる。
携帯電話、タブレット向けに開発したAndroidアプリケーションは、Android Market で公開することができる。ユーザはAndroid Marketを通じて有料あるいは無料のアプリケーションを自由に選んでダウンロードすることができる。Android Marketに似た仕組みとしてAppleの開発したiOS向けアプリケーションを公開するApp Storeというものがある。Android Marketは、App Storeとは異なり、審査なしにアップロード出来る点が開発者にとってのメリットになっている。
組込みにおけるAndroidの利点
Androidは携帯電話やタブレット端末を主眼において開発されたOSであるが、組込み機器向けソフトウェアの世界においても注目される。その理由として
- オープンソースライセンス
- 多機能性
- 開発環境
の3つを挙げる。
オープンソースライセンス
Androidのソースコードには、Apache2.0というオープンソースライセンスが採用され(※一部、WebkitのGPL、LinuxカーネルのLGPLを含む)、ライセンス料を払わずに使用できること、ソースコードを自由に改変できることがメリットとなる。また、Apacheライセンスでは改変したソースコードを公開しなくてよいことになっており、セキュリティや独自性も確保できる。
まとめ
組込み機器でのAndroidの利用には上記のような利点があり、今後はより促進していくと考えられる。Androidを利用する際に懸念される点としては、アップデートのリリースの早さがある。最初のAndroid SDKがリリースされた2008年9月から現在までのわずか2年半の間に、1.0, 1.1, 1.5, 1.6, 2.0, 2.1, 2.2, 2.3, 3.0という9つものバージョンがリリースされてきた。Androidを採用した携帯電話のベンダーは、アップデートや新機種での採用など、その対応に追われている。大抵の組込み機器では携帯電話よりも製品サイクルが長く、より重大な問題となりうる。Androidのアップデートに追随してソフトウェア開発を行っていくことは開発負荷が高い。一方でひとつのバージョンを長く使い続けると、新機能を取り入れることができない。このトレードオフが開発におけるポイントとなりそうである。
近い将来、PCや携帯電話だけでなく、様々な機器がネットワークに繋がる時代が来ることが予想される。もともと携帯電話向けであるAndroidは3GやWiFiなどの通信の基本機能の他、GPSの位置情報を使うLocation APIなどを備えており、ネットワーク機器開発の重要な役割を担っていくと考えられる。
このエントリ的な意味でのまとめ
いかにもレポート風という当たり障り無い感じになってしまいましたが。そういえば、Android アプリはひとつも作ったことありません。この薄っぺらさは、アプリ書いてないのに意見を書こうとするからなのか。うーん。
参考文献
*1:本当か?Objective-Cよりはマシなのかもしれないが。つーか、Javaを1行も書いたことないですほんとすいません。