際際滷

際際滷Share a Scribd company logo
apportable meeting
Keisuke Hata
SQUARE ENIX
Technical Director Mobile Business Division
13定7埖2晩諮袗晩
apportableとは
ObjC, ObjC++などで峰されたiOSアプリケ`ションをクロスコンパイルし、
Android喘のアプリケ`ションバイナリを伏撹するエンジンである。
iOSでリリ`スしたタイトルをAndroidに卞峅したいが、マルチプラットフォ`ム鬉離侫讒`ムワ`クや
ゲ`ムエンジンを旋喘していない栽Unityやcocos2d-x、Corona、Adobe Air、
宥械であれば、iOSのソ`スコ`ドをベ`スに_kをし岷すことが謹い。
しかし、apportableは、iOS喘に峰されたアプリケ`ションのソ`スコ`ドをAndroid喘にQするエ
ンジンを隔っているため、そのエンジンを喘いて、ソ`スコ`ドの俐屎は児云議に佩わずにAndroidのアプ
リケ`ションを徭咾派撹することができる。
iOSで嗤兆なスキタイのムスメやZenBound 2もこのエンジンを旋喘してリリ`スしている。
http://www.apportable.com/
13定7埖2晩諮袗晩
プランの`い
Free井は、Android 4.0參貧のデバイスに
してアプリを伏撹できるが、サポ`トが恷も
富なくいわゆるおし井である咫鵑い。
二Iとしては、Android2.xがまだ麼送であ
ることから、Proもしくは、Enterpriseのプ
ランの弐sは駅になりそう。
13定7埖2晩諮袗晩
apportableア`キテクチャ
Clangコンパイラを喘いており、ObjC( ObjC++ )のコ`ドをクロ
スコンパイルして、ARMのネイティブコ`ドをはき竃し、apkとし
てき竃している。このネイティブコ`ドがJava UIから柵び竃し
される。
ARM native code
ObjC
cross-compile
.apk
13定7埖2晩諮袗晩
スキタイのムスメ、ZenBound 2
の_k蜘
Q坤好タイのムスメ、ZenBound 2をiOSからAndroidへ卞峅するHに
apportableを喘いた_kを佩ったY惚、どれくらいのrgを勣したか
apportableによる鮉Iは、ゲ`ムの}jさに鬉犬董30蛍゛2Lg殻業でデモレベルまで隔って佩け
る。Google Playにロンチさせるなどのu瞳としてのチュ`ニングやe余鮉Iは、さらにrgを勣す
るが坪否肝及4゛6Lg。
ゲ`ムプラットフォ`ムごとの仟しいAPIを旋喘している栽などは、apportable箸任離灰鵐乂`ト
を佩うために弖紗垢方がかかる。麗によるが方ヶ埖eもってもらいたい。
スキタイのムスメは、宥械のゲ`ムとはなり、ゲ`ムプレイ嶄にk隔ちと罪隔ちが俳り紋わる鵬gがあ
る。そのため、その鬉鯰个Δ燭瓩Android箸任蓮▲曰`ムボタン、バックボタンがデバイスの徊櫃
よって指する碧Mみを旋喘して、ゲ`ムコ`ド箸了中指の鬉鯰个辰拭
¢卆m圭隈
NDAY瘁、プロジェクトのソ`スコ`ドをapportable箸北畊し、{砲靴討發蕕Δ海箸鰺Xしている。蒙にパフォ`マンスや仟API鮉Iが根ま
れるかどうかのeもりなどを佩う。その栽、サポ`ト弐sをYする駅勣があり。
13定7埖2晩諮袗晩
鏡徭プラットフォ`ム
iOSやAndroid、Kindleといった、プラットフォ`ムごとに喘吭される
Game APIやStoreKitなどのn署I尖の何蛍にvしては、すでに
apportable箸鬉靴討い襦
iOS井さえ恬撹すれば、光プラットフォ`ムごとに駅勣なコ`ドをコンパ
イルrに伏撹してくれる。_k宀はプラットフォ`ムごとの鬉没靴錣
なくてgむようになっている。ただし、Pro井參貧。
13定7埖2晩諮袗晩
SpriteKitへの
SpriteKitのサンプルをapportableが恬ってリリ`スすることは辛嬬であ
るが、できればgHの旋喘箭があると鬉靴笋垢ぁ
g箭がある栽は、apportableにContactしてみると措い。
apportableのスタンスとして枠に鬉靴謄螢蟋`スというよりは、
リクエストの謹い坪否から恬り兵めるスタンスであるという。
QSpriteKitを喘いたコンテンツを書瘁サポ`トできるように篇されているかどうか
13定7埖2晩諮袗晩
盾餠箸
UIScreenクラスをして、盾餠箸砲△錣擦織好羽`リングオプショ
ンが喘吭されている。
AndroidビルドするHにそのコ`ドが嘛するようにプリプロセッサマ
クロで蛍瓷しておけば、iOSではそのコ`ドがg佩されずにgむ。
しくは、參和のURLを歌孚。
QAndroidでは謹くの盾餠箸贋壓しているが、apportableではどのような鬉砲覆辰討い襪
http://docs.apportable.com/sample-apps.html#cocos2dsimplegame
13定7埖2晩諮袗晩
デバッグ返隈
apportableが喘吭するgdbを喘いてデバッグするのが児云。ログやスタックトレ`スを
試喘してデバッグする。あるいは、Objective-Cのメッセ`ジを弖ったり、オブジェクト
の彜Bをる。
AndroidのデバイスログもObjC->Javaコ`ルのデバッグにも叨羨つ。
Androidデバイスにありがちなグラフィックスチップ卆贋のバグは、トランスレ`ション
レイヤ`で簾Г気擦鳶渾するようにしている。また、デバッグにvして、apportable
には倔なエンジニアがいるため、デバッグのサポ`トも佩っている。
QapportableにおけるAndroidアプリケ`ションのデバッグはどのようにすればよいか
13定7埖2晩諮袗晩
屡贋ミドルウェアを旋喘するには
ミドルウェアやゲ`ムエンジンを旋喘する栽、できればソ`スコ`ドまで戻工さ
れることが李ましい。
それがyしいr╂えばライブラリのみが戻工されるは、apportableが喘吭す
るブリッジの碧Mみを旋喘したりすることで、apportableが鬉靴討い覆い發
も旋喘することは辛嬬。
Q瑳抜罎離潺疋襯ΕД△apportableで旋喘するHのTipsは
13定7埖2晩諮袗晩
apportableのバイナリサイズ
¢ライブラリサイズ
旋喘するライブラリにもよるが、方MB殻業( OpenGL, OpenAL, UIKitレベルなら )。これまで
の宛周は、50MB參貧のタイトルが謹かったためこのサイズが}になることは富なかった庁
。しかし、デバッグビルドは掲械に寄きくなりがちなので櫃鬚弔韻襪海函
¢バイナリサイズが50MBを階える栽
androidのAPK Expansion Fileには鬉靴討い襪燭瓠しくは、Contact Usでい栽わせを
してくださいとのこと。
Qapportableをm喘した栽のバイナリサイズはどの殻業になるか身娜召離秋`シャルゲ`ムを旗
燕とするアプリケ`ションは、50MB參和でランチャ`としてC嬬させ、アセットデ`タは、サ`バ
`からダウンロ`ドしてくる碧Mみを駻辰靴討い襪海箸謹い。
13定7埖2晩諮袗晩
Androidにおけるオ`ディオレイテンシ
オ`ディオレイテンシは、ずっと^をませている坪否である。apportableは、
OpenALプロジェクトに歌紗し、Androidデバイスにおけるオ`ディオのパフォ`マンス
と個鋲に廚靴討い襦
ソ`スコ`ドは、OpenAL-softとして、LGPLv3として巷_している。
QAndroidでは、オ`ディオレイテンシがとかく}になりやすいが、apportableではこの周にv
して函りMんでいることあるか
http://www.apportable.com/open_source
13定7埖2晩諮袗晩
apportableベストプラクティス
¢旋喘する冱Z
C, C++, Objective-C,C++などは}なし。ただし、Rubyなどのスクリプト冱Zへの鬉呂笋簪}j
になりがちで容Xしていない。
¢旋喘するライブラリやフレ`ムワ`ク
OpenGLやUIKitといったゲ`ム崙恬に恷詰浣慴なものとベ`シックなフレ`ムワ`クはgみ。
オ`プンソ`ス狼のライブラリにも光N鬄
Box2D, FMOD, CocosBuilder( ccbi ), cocos2d-x, cocos2d-iphone ...。
UIKitのベ`シックなものには鬈UIScrollViewなど...。
cocos2d-xやcocos2d-iphoneで_kすることはとても措い。
¢サポ`ト翌のC嬬
カメラやマイクロフォンのC嬬
Qapportableを旋喘する貧でのベストプラクティスを縮えてほしい。
13定7埖2晩諮袗晩
apportableのアドバンテ`ジ
cocos2d-xは、マルチプラットフォ`ムに鬉靴織侫讒`ムワ`クであるが、n署I尖やGame
API巓りは、光プラットフォ`ムごとにコ`ドを喘吭する駅勣がある。
apportableは、これらStoreKitやGameKitの鬽なを簾Г靴討れる。プログラマ`は、
iOS井のコ`ドのみを峰するだけであとは、apportableがプラットフォ`ムごとのコ`ドを
伏撹してくれるため、ゲ`ムのコ`ディングに鹿嶄することができる。
Qcocos2d-xは、マルチプラットフォ`ムに鬉靴織鴬`ムフレ`ムワ`クであるが、apportable
を旋喘するメリットはどこにあるのか
Kindle AndroidiOS
13定7埖2晩諮袗晩
cocos2d-x + apportable
Hero Academy
13定7埖2晩諮袗晩
Thank you for reading :)
Enjoy apportable !!
13定7埖2晩諮袗晩

More Related Content

apportable meeting