2008年07月29日

何がAndroidか?

AndroidとSymbianを単一のOSに統合するのは得策か?」という記事を見つけました。

キモとしては、↓の部分であるのですが、残念ながら、Androidの構造をよく知らない人にとって、意味のわからない内容かと思います。

「Nokiaの携帯電話のほとんどで採用されているプラットフォームのSymbianそしてGoogleのAndroidは完璧な組み合わせだ」

なぜかと言えば、最初に、

市場に出回っているスマートフォン用OSとして最大のシェアを誇るオープンソースのモバイルOSであるSymbian、そしてGoogleが鳴り物入りで宣伝しているオープンソースのモバイルOSのAndroid

と、SymbianもAndroidも、モバイルOSと書いてあるからです。そして、一般的な認識もそうであるといえるでしょう。

しかし、そうなると、キモの部分の「完璧な組み合わせ」の意味が通りません。これは言うならば、

WindowsとMac、この二つを組み合わせれば、完璧だ!

といっているようなもので、実現不可能という意味で意味がわかりません。


ですが、すこし、Androidの構造を見ると意味がわかってきます。
ということで、Androidのアーキテクチャブロック図です。

要するに、

●Kernel(OS)部(赤い部分)・・・SymbianやLinuxに相当する部分です。
●ライブラリ(ミドルウェア)部(緑部分)・・・DBや3Dのライブラリやネイティブアプリケーションなどです。
●アプリケーション部(青い部分)・・・DalvikVMの上に載っている、JavaSEに似たAndroid独自のアプリケーションライブラリ群です。そして、この上にアプリケーションを書くことになります。

という風に分かれているのです。通常は、コレを全てまとめて、「Android」となるわけなのです。
当然、これらは、分離されております。すなわち、Kernel部分を変更しても、アプリケーション部には影響を与えません。(それを示すかのように、SDKの古いKernel部のままで、新しいミドルウェア+アプリケーション部が動いたりします。)
そして、アプリケーションを書く人やサービスを提供する人から見れば、アプリケーション部(青い部分)だけしか、見えていません。すなわち、そういう人たちにとっては、アプリケーション部=Androidなのです。



さて、ここまで来れば、

「Nokiaの携帯電話のほとんどで採用されているプラットフォームのSymbianそしてGoogleのAndroidは完璧な組み合わせだ」

の意味が見えてくるはずです。
Kernel部は、Nokia+Symbianで。そして、アプリケーション部は、Androidのものを組み合わせる、と言いたいのです。(もちろん、ライブラリ部のSymbianへの移植が必要です。)
こうすることにより、Androidで懸念される端末数の少なさを補い、開発が難しいSymbian上ではなく、AndroidのJava+WebKitの環境上で開発が可能となるわけです。
そして、これもまた、Androidなんですよね。少なくとも、アプリケーションやサービスを開発する人たちから見れば。

余談ですが、JamVMは、iPhone上で動くそうですね。。。。。。。ということは、上記のiPhone版が可能な可能性が非常に高いですね。
(Androidのソースが公開される日が、待ち遠しいです。)




ということで、Androidといっても、見る人により見え方が違うのです。

Android勉強会も、全九回終了後は、この「人によって見え方が違う」という点を踏まえて、パワーアップする予定です。おたのしみに!

Creative Commons License
This weblog is licensed under a Creative Commons License.