携帯電話向けプラットフォーム「Android」。実は、ケータイ分野以外の組み込みデバイス開発でも注目を集めている!!
携帯電話向けソフトウェア・プラットフォーム「Android」が発表されてから約1年半がたち、現在、OSバージョン「1.5」がリリースされている。また、日本国内でもAndroid搭載端末「HT-03A(HTC製)」(画像1)がNTTドコモから発表・発売されるなど、ここ最近“Android”の名前を目にする機会が増えてきた。
Androidの登場は、前述のようにスマートフォンをはじめとするケータイ分野で話題になっているが、実はケータイ分野以外の組み込みデバイス開発の現場にもAndroidという大きな波が打ち寄せてきている。
実際、これまでリアルタイムOSを採用してきたメーカーや、組み込みLinuxやWindows CEを採用しているメーカーがAndroidを検討しはじめているという。2009年5月に行われた「第12回 組込みシステム開発技術展(ESEC2009)」の会場では、Androidを活用した組み込みデバイスの開発事例が目立っていた。
というわけで、連載「Androidがもたらす組み込み開発の新たな可能性」の第1回では、『Androidが組み込みデバイス開発の現場で注目されている理由』について考えてみたいと思う。
はじめに、現在の組み込みデバイス開発を取り巻く状況を見てみよう。そこには、さまざまな課題がある……。
コンシューマ機器分野で特に要求されているのが、『多種多様な周辺機器やネットワークへの接続』である。例えば、カーナビゲーションデバイスの場合、アップル社のiPodに代表されるような携帯型音楽プレイヤーとの連携による音楽再生機能や、Bluetoothを利用した携帯電話との接続機能などが挙げられる。こうした周辺機器は、すさまじいスピードで進化し、新しい製品が次々と発表される。そのため、カーナビゲーションデバイスを開発しているエンジニアは、新しい周辺機器が登場するたびに、接続・連携・評価とさまざまな作業を延々と続けていかなければならない。
また、ワイヤレスネットワークの確立によって、カーナビゲーションデバイスにおいても『ネットワーク上にあるコンテンツにアクセスする』ような利用シーンが多く見られるようになってきた。そのため、デバイス開発者は、さまざまなデータ・フォーマットや複雑なデータの解析を行わなければならない。
さらに、ユーザー・インターフェイスへの要求も高い。アップル社のiPhoneやiPod Touchを代表とするタッチパネルを利用したデバイスが登場して以来、『視覚的・感覚的な操作要求』が高まり、より高度な画像処理と表現力が求められるようになった。
このようにデバイス開発の現場では、高機能・多機能化、省電力化などが求められるだけではなく、さらに『開発期間の削減』も要求されている……(図1)。
そこで、これまでのリアルタイムOSではカバーし切れなかった部分(リアルタイムOSでも頑張れば対応可能だが)を革新する、低コスト・短期開発、新しいコンテンツやネットワークへの接続性、そして豊かな表現力を実装できるプラットフォームの登場が切望されていた。
そう、こうしたデバイス開発現場が抱える課題やユーザー要求を満たす新しいプラットフォームとして、Androidが注目されはじめたのである。
では、もう少し具体的にAndroidが組み込みデバイスで注目される理由を見ていこう。本稿では、その理由を3つ挙げる。
「オープンソースであること=ロイヤリティが掛からない」ため、多くの組み込みデバイスの製品コストとして重要な“変動費”を削減できる。
オープンソースであることは同時に自社での製品品質の確保と体制が必要となるが、すでに組み込みLinuxを採用しているメーカーにとっては大きな障壁にはならないだろう。また、組み込みLinuxを採用してきたデバイスにとっては、既存のLinux資産の上にAndroidを実装するだけで、「WebKit」や「SQLite」などが利用可能となり、組み込みデバイスとして必要なキラーコンポーネント、タッチパネル、豊かなユーザー・インターフェイスによる表現力を手に入れることができる。
携帯電話に限らず、組み込みデバイスの開発現場では、開発環境は非常に重要なポイントといえる。Androidは、同じ開発環境、同じSDK、同じプラットフォームでの動作が保証されているため、ソースコードの移植性・再利用性が高まり、複数のデバイス上のアプリケーションを開発する場合の“開発費”が抑えられる。
例えば、組み込みLinuxの開発では、多くのライブラリやフレームワークが存在し、エンジニアの趣向や流れで開発スタイルも変わり、開発言語ですら異なる場合がある。Androidの採用により、エンジニアは「Android SDK」が提供する統一されたライブラリとフレームワーク上での開発が保証され、さらに「Eclipse」による統合開発環境が提供される。
また、Android SDKには優れたエミュレータが付属している。エミュレータによって組み込みデバイス上のアプリケーション開発者は、評価ボード上でのAndroidの実装を待たずして、アプリケーション開発が行える。また、エミュレータの動作速度は、実機に近い状態でアプリケーションを実行できるため、効率のよいアプリケーション開発が可能となる。
参考URL: | |
---|---|
⇒ | Android Developers |
⇒ | Android 1.5 SDK, Release 2 |
3つ目に挙げられるポイントが、GUI(Graphical User Interface)/HMI(Human Machine Interface)などの表現力の向上と、さまざまなコンテンツ・サービスへの接続性の向上だ。
現在の組み込みデバイスは「コンシューマ」「オフィス」「FA(Factory Automation)」などの業種、利用シーンを問わず、ディスプレイとタッチパネルを搭載している機器が多く存在する。これまでのデバイスでは必要な情報のみを表示し、タッチパネルはポイントを指定するだけのポインティングデバイスとしてのみ利用されてきた。しかし、iPhoneやiPod Touchなどの登場によって、多くのエンジニアや製品企画担当者が、自社デバイスに同様の操作性を求めるようになってきた。
Androidを採用することで、このような操作性・表現力を実装できる。ユーザー・インターフェイスについては「XML」で記載され、さまざまなレイアウトに対応可能である。また、XMLで定義された各パーツからのイベントは、「Intent」と呼ばれるメッセージでアプリケーションに通知され、アプリケーションは対応する処理をハンドラに記載するだけで、タッチパネルの操作性を飛躍的に向上できる。
また、Google社が提供する各種サービスへの接続が可能であることも大きなメリットといえる。もちろん、組み込みデバイスによっては「Google社のサービスに接続することが重要である」とは必ずしもいい切れないところもあるが、ネットワークの先にあるコンテンツやサービスにアクセスするための機能がプラットフォームとして標準で提供されている点はデバイス開発の可能性を広げてくれるはずだ。
キラーコンポーネントの代表格である、ブラウザについてもAndroidは、WebKitと呼ばれるフルブラウザのエンジンを採用している。インターネット接続が必要とされる多くの組み込みデバイスは、これまで組み込み用のブラウザを搭載することで対応してきた。しかし、組み込み向けに利用できるブラウザの多くがサードパーティ製のミドルウェア製品である。組み込みLinuxのロイヤリティが不要で済んでいたとしても、商用の組み込みブラウザを導入することで、変動費が発生してしまう。
また、組み込み向けのブラウザは、PCで日ごろ見ているWebサイトと同一の表示を必ず保証してくれるものではない。その理由は、“組み込み向け”というさまざまな制約によるものだ。しかし、ユーザーの認識は「PCで利用しているブラウザの表示」が“標準”である。Androidは、WebKitの搭載により携帯電話・スマートフォンでのフルブラウザ環境を提供できるだけでなく、ネットワーク上のコンテンツをPCと同等クラスに表示する機能を組み込みデバイスに提供してくれる。
参考URL: | |
---|---|
⇒ | The WebKit Open Source Project |
Copyright © ITmedia, Inc. All Rights Reserved.