今回のBlackBerry DevConでは、タブレットであるPlayBookのBlackBerry Tablet OS(以下Tablet OSと略す)のVer.2.0のβテストプログラムについても発表があった。次世代OSとなるBBXもこのTablet OSとおなじくQNXベースであり、Tablet OSは、BBXのプロトタイプともいえるものだ。

今回のDevConでは、BBXが発表されたが、その情報については、現時点ではほとんどなく、セッションでも一部にCascades(BBXに搭載予定のユーザーインターフェースのフレームワーク)の話が多少あった程度だ。しかし、Tablet OSについてはいくつかセッションが用意されており、特に注目がたかったのが「Runtime for Android apps」だ。

Runtime for Android Appsは、Linuxの上で動くAndroid環境をTablet OSの上に乗せたもの。QNXは、マイクロカーネルであるため、こうした環境の構築が容易であるという

開発途上のAndroid Apps Playerなどがリークされた関係でいろいろと情報が交錯しているが、最終的には以下のようなものになる予定だという。

  • Tablet OS 2.0上に、Android 2.3(GingerBread)と同等の実行環境を作る
  • Androidアプリケーション開発環境(Eclipse)にRepackaging tool Plug-inをインストールして、Androidアプリケーションを再パッケージする
  • 通常のTablet OSアプリケーションとおなじく、再パッケージしたAndroidアプリケーションにも電子署名が必要

つまり、Runtime for Android appsは、アプリケーション自体は無修正であっても、再パッケージ化の処理が必要で、原則、ソースコードにアクセスできないと再パッケージができない。つまり、AndroidアプリケーションをTablet OS用に作り替えることができるのは、そのアプリの開発者のみということになる。

名称などからAndroidのアプリケーションがそのまま動くようになると期待された方もいるかもしれないが、このRuntime for Android Appsは、あくまでもAndroid開発者のためのもので、エンドユーザーが勝手にAndroidアプリケーションを動作させるものではないということだ。

なお、Runtime for Android Appsは、以下のような機能がサポートされないという。

  • ネイティブコードアプリケーション
  • Googleサービスのライブラリ(Google Maps)などを使うもの
  • Androidに標準搭載されているアプリケーション(カメラアプリケーションなど)を起動するもの
  • SIP、VOIP、Bluetoothを利用するもの
  • ウィジェット(Androidのホーム画面自体が存在しない)
  • 画面(AndroidのActivity)がないアプリケーション
  • 複数のAPKを同じプロセスで使うもの(サードパーティライブラリなどを利用するもの)

意外に制限が多い感じがするが、いくつかはライセンスや著作権による問題である。Androidはオープンソースだが、Googleサービスに関わるアプリケーション(GmailやAndorid Market、Google Maps)や、これらのライブラリは、ソースが公開されておらず、Googleからライセンスを受けて自社ハードウェアに組み込むことになっている。そのため、AndoridそのものではないRuntime for Android Appsには、組み込むことができないからだ。

筆者は、Androidアプリケーションを開発した経験があるが、その経験から見ても、上記の制限に引っかかるアプリケーションは、それほど多くないと思われる。

商業系のゲームアプリケーションなどは、サードパーティのエンジンを利用することがあるようだが、Tablet OS 2.0では、ネイティブコードによるアプリケーション開発が可能になるため、Java版を移植するよりも、ネイティブコード開発のほうがむいているだろう。

Androidの開発は、汎用の開発環境であるEclipseに、専用のPlug-inをいれ、Android SDKをインストールすることで行うことができる。RIMが提供する再パッケージのためのツールは、Eclipseが動作する環境であるWindows、MacOS、Linuxのどれにも対応するという。また、Eclipseを使わない開発者のため、コマンドラインツールも用意されるという。

また、Eclipse環境では、Androidエミュレータによる動作、デバッグが可能だが、RIMの再パッケージツールでは、PlayBookのエミュレータも提供され、どちらでも動作確認が可能になる。いくつかの制限があるものの、多くのアプリケーションは、ほとんど手を加えることなく、動作できたという。再パッケージしたアプリケーションは、そのままApp Worldで配布できるため、正式版になるまでには、多くのAndroidアプリケーションの移植が進むのではないかと考えられる。というのも、現行の利用者数ではiPhoneやAndroidに肩を並べる程度のユーザーはいるため、同じソフトウェアが利用できるとなると、さらなるビジネスが期待できるからだ。

PlusというAndroid用プログラムがTablet OS内で動作しているところ。Tablet OSでは、アプリケーション画面を縮小表示してタスク切り替えを行うことができる

Plusの開発元のページ。ここにあるように対応しているのは、iPhone、iPad、AndroidのみでTablet OSには対応していない

Androidでは、アプリケーションメニューは、下に出るが、Tablet OSでは、画面上から出すのが標準であるため、メニューは上に出る。また、下にあるのはステータスバーで実行中のタスクや環境設定が行える。左側の矢印は、Androidのバックキーに相当するもの

Android SDKにあるサンプルプログラムAPI Demoを動かしたところ。API Demoは、AndroidのAPIを動作させてみせるサンプルプログラム