Androidのアーキテクチャ:マッシュアップのためのケータイ

ウェブサービスAPIへのアクセス
ウェブサービスAPIへのアクセス

最近はAndroid上の開発に毎日没頭しています。自分の作るものはGPSや電子コンパスといったセンサーの情報を、ウェブサービスの情報とマッシュアップして、Open GLを用いて3Dで可視化するというようなものです。

従来のモバイルプラットフォームでは、このような多数の要素が並列に動作するサービスを実装することは困難でした。それは性能の低さおよびタスク管理の貧弱さによるものでした。

Androidでの開発を行っているとわかってくるのは、マッシュアップのための携帯電話を実現するというコンセプトを、言葉だけでなくアーキテクチャのレベルで実現していることです。

参考リンク:
@IT「Androidは雇い主の分身として仕事をするエージェント
日経コミュニケーション「Androidから始まるモバイル・マッシュアップ革命

充実したアプリケーション間通信技術

iPhoneでもアプリケーション間通信は可能ですが、今のところAppleの純正アプリケーションでの利用に限られているようです。

Androidの場合には、アプリケーションの機能はActivityおよびServiceという単位で実装されています。他のアプリケーションのアクティビティに対して、Intentというメッセージングの仕組みを用いて機能の呼び出しを行えます。たとえばGoogle MapsのView(画面)を、自作のアプリケーションに取り込んでカスタマイズして用いることができます。

また、アプリケーションによってファイルおよびSQLiteデータベースにデータを保存します。通常はアプリケーション毎にデータへのアクセスは独立していますが、Content Providerという標準化された手順を用いて他のアプリケーションに公開することができます。

限られたリソースでマルチプロセスを実現するメモリ管理

Androidの大きな特徴の一つに完全なマルチタスクを提供していることが挙げられます。iPodなどの一部のプロセス以外のバックグラウンド動作ができないiPhoneとは異なり、メモリが許す限りアプリケーション等のプロセスを同時起動できます。もちろん現行機(T-mobile G1)のメインメモリが192MBとリソースの限られたモバイル環境です。優先順位の低い・利用されていないプロセスのメモリを解放するメモリ管理機構を持っています。

Javaであるメリット

Androidでは原理的にはいかなる言語での開発も行えますが、標準の開発言語がJavaであることで、既存の多くのソフトウェア資産を活用することができます。(既存のJava Archiveをそのままインクルードしてコンパイルできます。)

例えば上のスクリーンショットではリクルートのドコイク?のWebサービスを用いているのですが、Googleのライブラリで住所から変換した緯度経度を、さらにジャスミンソフトによる緯度経度⇔平面直角座標系変換ライブラリを利用して変換しています。

モバイル・マッシュアップという思想

開発リーダーであるアンディ・ルービンは、「Androidを搭載する携帯電話と,従来の携帯電話とは何が違うのか。」という質問に対して以下のように答えています:

モバイル・マッシュアップだ。Androidでは,新しいAPIをどんどん追加できるアプリケーション・フレームワークを用意した。我々が用意したフレームワークを使えば,第三者が新しいアプリケーションを作れるし,そのアプリケーションの機能を使って,別の誰かが新しいアプリケーションを作ることもできる。さらにAndroidではインターネットで公開されている各種サービスも自在に使える。これらが相互に作用することで,想像もできないような新しいサービスが生まれる。これがモバイル・マッシュアップの力だ。

今日のウェブにおいては、様々なサービスが機能をマッシュアップすることでその価値を大きく増しています。また英語圏のゲーム産業においても、物理シミュレーションやレンダラーなどのCGのライブラリが流通することで、業界全体として高度なCGを用いたゲームの開発を促進しています。

僕はオープンイノベーションの力を信じています。現状のデザインやアプリケーションの充実度では、iPhoneは大きく先行しています。一方でアプリケーション開発という観点からは、Androidははるかに開かれた可能性を持っています。

このポテンシャルに、しばらく時間を使ってみようと思います。

3 thoughts on “Androidのアーキテクチャ:マッシュアップのためのケータイ”

  1. データアクセスの共通化が担保されているのは、素晴らしいですねぇ。
    それでこそ、「プラットフォーム」でありえると思います。

  2. ケータイだとプライベートなデータもあるから、こういう措置なんだろうね。今年中には日本市場向けのローカライゼーションもされるらしいし、今年もモバイルは熱そうです。

    例のプロジェクトは進んでますか?

  3. ■「Androidの日本語化は2009年中に」、グーグルが会見で明らかに?Androidでまた発展する携帯電話
    こんにちは。すでに開発されている方もたくさんいらっしゃるんですね。これ、もう少しで日本語対応になりますね。Androidが日本語化されると、日本の技術が世界的に評価されるようになると思います。日本では、いままで世界とは隔絶した世界で開発をしてきまた。共通の基盤ができれば、それに載せていろいろ流通させることができると思います。思ってもみなかったようなサービスがでてくる可能性が大です。それに、一番期待しているのは、日本国内でも、開発速度などはやまるとともに、有益なサービスが提供され、内需拡大に寄与することです。携帯を含むエレクトロニクスに関しては、円高のため廉価で質の良いものが出回るようになると思います。そこに、Android携帯がでまわると、面白いことになりそうです。私の会社では、ピザの宅配をしています。ピザ宅配の業務や販促などで、Androidなど使えたら面白いことになりそうですね。何かあったら是非おしえてください。ひょっとしたら何か新しい事業なんかも生まれるかもしれませんね。詳細は是非私のブログをご覧になってください。

Comments are closed.