小野塚 pl資料社外向け cpf_140903
DESCRIPTION
mobileTRANSCRIPT
モバイルにおけるマルチプラットフォームについて
ネクストスケープ 小野塚
マルチプラットフォーム=1つのアプリケーションソフトが複数の OS に対応していること。
発展の背景 ハイスペックデバイス 高速な通信環境 HTML5 の普及 パワフルなクラウドコンピューティングの存在(例 :
mBaas )⇒Web 技術者の参入障壁が低くなっている
マルチプラットフォームとは?
説明 使用言語 使用料金
Titanium mobileネイティブ APIが提供されている
JavaScript( 以下 JS) 無料
PhoneGapwebviewアプリケーション HTML,CSS,JS 有料
JQuery Mobilejqueryベースなwebviewアプリケーション
JS(HTML,CSS) 無料
Sencha Touch
webviewアプリケーションでネイティブシェルを使用できる
HTML,CSS,JS 無料
Unity言わずと知れたゲームエンジン
C#,JS,Python 無料 (object 等が有料 )
CoronaSDKスマートフォンゲーム用の SDK
lua 有料
QtOpenGL,SVGなどに対応している
C++ オープンソース版は無料
Xamarin.NET Frameworkを使用できる
C# 有料
Caedeデスクトップとモバイルに対応
Curl 無料
Intel XDKchromeプラウザ上で開発をする
HTML5,JS 無料
どんなのがあるの?
特徴 JavaScript で記述 OS のネイティブ機能( UI 等)は Plugin を自作して対応 CORDOVA とも呼ばれる(正確には PhoneGap⇒CORDOVA )
長所 アシアルの Monaca も PhoneGap (正確には PhoneGap を拡張し
たもの)。 Monaca なら Web ブラウザ上での開発が可能 OnsenUI ( HTML5 ベースの UI フレームワーク)が使える その他既存の JavaScript ライブラリが使用できる( jquery mobile
とか) 短所
ゲームには不向き(漂うもっさり感) 実際には WebView 上で動いているので機種間で表示の違いが出や
すい
PhoneGap
特徴 JavaScript で記述
長所 ネイティブの UI パーツが使える( UI を HTML でなくがっつり JS で実
現するのは辛いという声も・・) 複雑な機能、提供の API 以上の事を実現したい場合、自作モ
ジュールで機能拡張できる 短所
元々 iPhone 寄りで作られているため、 Android よりも iPhoneアプリが作りやすい
⇒ そのため、 Android だけネイティブで作ったアプリもある ゲーム系は苦手?(コンパイルされるので PhoneGap よりはマ
シ)
Titanium( Titanium Mobile )
特徴 JavaScript (正確には UnityScript )、 C# で記述
長所 3 D 開発が強力!(物理計算等はお任せ) IDE 上でいろいろ設定できる(パラメータの調整等が楽)
短所 IDE はとっつきづらい(そっと画面を閉じたくなるレベル) より使いこなそうとすると有料版が必要(但し、 Android や iOS
への書き出しが有料だったのが無料になりました) ⇒総収益が US$100,000 を超える団体は無料版は使用不可・・・ 2D の開発が若干弱い(が、去年冬の VerUp で改善されたっぽ
い)
Unity
特徴 東南アジアでの普及率トップ。ランキング7割が利用 MicroSoft が技術的に協力 C++ で記述
長所 画面遷移や表示効果が豊富 実績多数! OpenGL を知らなくてもパフォーマンスの高い画像処理を行うこと
ができる 短所
バージョン毎にクラス名等が大きく変更されているため、バージョンアップは危険
C++ からアクセスするため、ネイティブ間の連携が面倒。特にAndroid
Cocos2d-x
特徴 MicroSoft ・・ではなく、 Xamarin のツール群(元は .NET を
Linux で動かそうということで始まった) C# ( F# )で記述
長所 VisualStudio での開発や、 C#、 .NET での資産・スキルが活用
できる 比較的処理速度は速い
短所 プラットフォーム毎に API が異なる箇所や UI は共通化できない ライセンスが高い( iOS 、 Android それぞれ10万) 情報が少ない
Xamarin
が、しかし
2014年5月末、 Xamarin3 、そして Xamarin.Forms リリース!
共通で UI が書けるようになりました。
Xamarin
「1つで2度おいしい」「Web の人間にも間口が開かれている」という2点、特に後者は NS にとっては非常にメリット
但し、以下の点に注意!!十分な検証期間を取る確実に大丈夫だと言えなければ最悪対象OS のうちどれか、ある
いは全てネイティブで作るぐらいのリスク(期間、予算)は確保したい(うまくいけば非常に美味しい結果に)
常々簡単なアプリを作って色々と試しておく、あるいは詳しい会社と情報交換してナレッジを蓄積する
最悪ネイティブでの実装になるので、ネイティブでコードを書ける人を確保しておきましょう(坂本さんとか小林さんとか三原さんとか・・あとは私とか)
NS としてどう取り組むか
ぶっちゃけ案件による 処理速度を重視する場合、2D であれば Cocos-
2dx 、3 D であれば Unity 。それ以外、特に処理速度を問わないのであれば PhoneGap で良いのでは?
特に我々は処理速度が要求される系はあまり扱わないと思うので尚更 PhoneGap ( Monaca )で良いかと
でもうちの立ち位置としては Xamarin も放っておけない・・
個人的には3 D 表示は今後色々発展の余地があると思っているので Unity やりたいなー・・・等
どれを使う?
ご清聴頂きありがとうございました。