2014年5月21日水曜日

iアプリをAndroidで動かしたい

追記:iアプリを動かすAndroidアプリ、公開しました。
http://android.develga.com/2014/07/androidi.html


iアプリは米国Sun Microsystems社(現在は米国Oracle社)により開発された家電製品・組み込みデバイス向けJavaプラットフォームであるJ2ME CLDCで規定されているAPIと、ユーザインターフェースやHTTP通信などiモード対応機種用に作成されたiアプリAPIにより構成されています。
https://www.nttdocomo.co.jp/service/developer/make/content/iappli/architecture/index.html

iアプリ

iAppli is Dead (Seriously)

iアプリを知らない奴がいるのか。

iアプリはiPhoneで動くアプリのことではない。

iアプリは docomoのガラケーで動くアプリ のこと。
iOSアプリとかAndroidアプリとかのガラケー版な。
(そういう言い方は気に食わないがな)

私が今回の記事で扱うのはゲームのみな。

iアプリをAndroidでやるか

記事タイトルをみて、

せっかくスマホにしたっていうのに、Androidでiアプリやらないよ。
いまは、パズドラ、モンストだろ。

と思ったかもしれない。
Androidでiアプリはやらない理由として以下を挙げておく。

  • iアプリやるより、スマホのゲームやるよね
  • UIが変わっちゃうよね(スマホにキーパッドはない)

iアプリはしょぼい。それほんと?

iアプリしょぼいとかいうキミの記憶は 間違っている
確かにファミコン以上、スーファミよりしょぼいクオリティのゲームが多かった。

しかし、短絡的に判断してはならない。

なぜなら、iアプリの全盛期には、スーファミも
いや!プレステも、
いやや!Wiiも
発売された世界で作られたのである。
それゆえアイディアとして尖ったもの、洗練されたものが(なかには)あった。

リッチなゲームが溢れる世界で膨らんだそういったアイディアは、
非常に(いやまじで非常に)限られたリソースをいかに効率的に使うか、
という技術的な問題を乗り越えて作成された。

iアプリは超面白い。それほんと?

一方でiアプリ超おもしろいというキミの記憶も 間違っている
iアプリはあくまでレトロゲームであり、
個人小規模ゲームが台頭した時代の歴史的資料に過ぎない。
思い出補正というやつだろう。

Androidで動かすに足るか。

iアプリは歴史的な資料。アーカイブだ。
遊ぶのではなく、歴史を閲覧するのだ。

ファミコンや初代プレステのゲームは今も社会に残っていると言える。
なぜなら、今も遊べるからだ。

Wiiやプレステで昔の古いゲームが販売され続けている。

カセットをデータ化すれば
ファミコンというハードなしで、
パソコンやスマホ上で動かすことができる。

ゲームは遊べないと社会から消えるのだ。

だから

  • iアプリやるより、スマホのゲームやるよね
  • UIが変わっちゃうよね(スマホにキーパッドはない)

とかは、まー、その、どうでもいいんだ!!!!!

Androidで動かす

というわけでAndroidでiアプリを動かすことを考える。

iアプリは何語か。

幸運なことにJavaだ。
しかももっと幸運なことにこのブログが対象としているAndroidアプリもJavaだ。
しかしiアプリはDocomo専用のAPIを含んだDoja(ドコモジャバ)だ。
(Dojaをなんて読むのかは知らない。今となっては知る由もない。)

技術的な話。

やることは以下だ。

  • Docomo専用のAPIをAndroidで動くように実装する
  • ガラケーの物理キーを画面に表示して押せるようにする
  • iアプリをAndroid(DalvikVM)上で動作可能な形に変換する

できそうだ。

先行した、関連したもの

iアプリ変換機。

iアプリをAndroidアプリに変換しようという人はすでにいた。

iアプリをスマホ向けに変換する「iappli Publisher」、アプリックスのJBlendで実現

iアプリのAndroid移植サービス renacentia

iアプリ、S!アプリをAndroidアプリに自動変換――NSW、無料の試用サイトを公開

とか。

どれもアーカイブ目的じゃない。ガチで売る気だ。
なにより私が気になるのは「ソースコード」が必要ってところ。
それじゃあ製作者しかAndroidアプリに変換できない。

開発用エミュレータ。

iアプリの開発環境を入れたWindowsでは、iアプリを動かすことができる。
(どうやってアプリを入手するかは別の話)

最後に

つくります。
音と3Dは諦めそう。。。