ハッシュタグ
#devsumiC
iOSにAndroid
百花繚乱モバイル開発環境を比較する
at Developers Summit 13-C-4
2014/02/13
株式会社シリアルゲームズ
エンバカデロ MVP / Delphi-ML 管理人
細川淳
ハッシュタグ
#devsumiC
•株式会社シリアルゲームズ
–サーバ・クライアントをワンストップで作るゲーム会社!
–ゲーム以外のソフトウェアも沢山つくってます!
ハッシュタグ
#devsumiC
•最近クライアントサイドは
–Windows / OS X 両用アプリ
–Android / iOS 両用アプリ
を多く作っています。
→この経験を元に用途毎のベストな開発環境を考察します。
ハッシュタグ
#devsumiC
•知識が足りなかったり
•間違っていたら
•#devsumiC をつけて
#Shine
と、ツイート 輝け!かもしれない!
ハッシュタグ
#devsumiC
Android / iOS
普通の開発環境
ハッシュタグ
#devsumiC Native + SDK
•Android SDK
–Java
–Android Studio / eclipse
•利点
–純正!
–Java!(Dalvik)
ハッシュタグ
#devsumiC Native + SDK
• iOS SDK
–Objective-C
–Xcode
•利点
–純正!
–お、Objective-C
ハッシュタグ
#devsumiC Native+SDK
最新機能に対応
情報が豊富
環境・言語の強制
それ以上のモノは提供されない
しかも
両対応は無理!!
ハッシュタグ
#devsumiC Native+SDK
•純正ということ
–最新の機能に対応する
•Framework を使うモノだと、Framework の改修が必要
–情報が豊富
•メーカーの情報はもちろん、ユーザー同士の情報も豊富
ハッシュタグ
#devsumiC Native+SDK
•純正ということ
–環境・言語の強制
•Java / Objective-C
•AndroidStiduo / eclipse / Xcode
→学習コスト 人生は
有限なのよ!
ハッシュタグ
#devsumiC Native+SDK
•純正ということ
–それ以上のモノは提供されない
•便利なライブラリなどは、自分やユーザー同士で作らねばならない –google が提供しているモノもある
ハッシュタグ
#devsumiC
ライブラリを作ろう!
両対応にしよう!
百花繚乱の
戦国時代へ!
ハッシュタグ
#devsumiC
Android / iOS 両対応
開発環境詳細
ハッシュタグ
#devsumiC
HTML5 Script +
Framework
Mono Native + Framework
グループ分布
完成度
生産性
Native +
SDK
※個人の見解です
Native+SDK
HTML5
Script
Mono
Native+Framework
ハッシュタグ
#devsumiC
みんな知ってる!
HTML5 / JavaScript
ハッシュタグ
#devsumiC HTML5 グループ
•HTML5
•PhoneGap
•Sencha Touch
•Titanium
–JS + NativeUI
•etc...
ハッシュタグ
#devsumiC HTML5 グループ
•(程度の差はあれ)ほとんどの技術者が知っている
→技術者が多い
利点
ハッシュタグ
#devsumiC HTML5 グループ
•技術者のレベル差が大きい
–ある程度は書けてしまう
–チューニングに長けている者と、そうではない者の差が激しい
•ライブラリの使用についても同じ。
難点
ハッシュタグ
#devsumiC HTML5 グループ
オススメ!
•Webサービスのモバイル展開
–Facebook とか…
•HTML5 のせいじゃない!
by Sencha
ハッシュタグ
#devsumiC HTML5 グループ
個人的には
•Sencha Touch
–開発チームの HTML5 レベルがやばい(褒
–Win/Mac どちらでも apk/ipa が作れる
–日本代理店がある •キヤノンITソリューションズ
ハッシュタグ
#devsumiC
Scriptで作る!
LL + Framework
ハッシュタグ
#devsumiC Script グループ
•Python + Kivy
–iOS用(ゲーム向け?)
•Ruby Motion
–iOS 用
•Ruboto
–Android 用
•Adobe Air
•etc...
ハッシュタグ
#devsumiC Script グループ
•LL言語を使える!
–Python, Ruby, ActionScript3
利点
「好きな言語を使える」 というのは
全てに当てはまること
ハッシュタグ
#devsumiC Script グループ
•Adobe Air
–Flasher が力を発揮できる
•Ruby Motion
–LLVM の使用によりネイティブになる
利点
ハッシュタグ
#devsumiC Script グループ
•Adobe Air
–AVM で動作
•大分高速化されているそうです
•Python/Ruby
–iOS/Android 両対応している Framework が存在しない?
難点
ハッシュタグ
#devsumiC Script グループ
オススメ!
•Web API 経由のアプリなど
–やはり、LL言語は Web との親和性が高い(と思う)
ハッシュタグ
#devsumiC Script グループ
個人的には
•Adobe Air
–Flasher が狂喜する
–ゲームも結構出ている
–日本語情報も多いほう
ハッシュタグ
#devsumiC
.NETの知識が活きる
Mono touch
ハッシュタグ
#devsumiC Mono グループ
•Xamarin.iOS / Xamarin.Android
•Unity3D
ハッシュタグ
#devsumiC Mono グループ
•.NET Framework
•.NET Framework
•.NET Framework
•.NET Framework
•.NET Framework
•.NET Framework
•.tanasinn…
利点
ハッシュタグ
#devsumiC Mono グループ
•C#
–みんな大好き C# が使える!
利点
ハッシュタグ
#devsumiC Mono グループ
• Xamarin / Unity3D
– iOS に関してはネイティブにコンパイルされる
•Unity3D
–3Dゲーム用機能が充実!
–Boo/JavaScript(UnityScript)も、使用可能
利点
ハッシュタグ
#devsumiC Mono グループ
•.NET Framework
–利点でもあり難点でもあるかも
難点
ハッシュタグ
#devsumiC Mono グループ
•Xamarin
–GUI は Native を使う
•iOS - StoryBoard 等で構築可能
•Android - Layout.xml を使う
難点
ハッシュタグ
#devsumiC Mono グループ
•Unity3D
–GUI
•2D Framework / NGUI etc...
•日本語が…
難点
ハッシュタグ
#devsumiC Mono グループ
オススメ!
•Xamarin
–一般的なアプリ
•オールマイティ
•Unity3D
–ゲーム!ゲーム!ゲーム!
ハッシュタグ
#devsumiC Mono グループ
個人的には
•Xamarin / Unity3D
–アプリとゲームですみ分け •C#.NET Framework 好きなら、どっちも使えばいいじゃない!
ハッシュタグ
#devsumiC
回り回って Native!?
Delphi / C++Builder
+ FireMonkey
ハッシュタグ
#devsumiC Native + Library Delphi グループ
•Delphi
•C++Builder
※Xamarin.iOS はここでは除外
ハッシュタグ
#devsumiC Native + Library Delphi グループ
•Native ! Native ! Native ! Native ! Native ! Native ! Native ! Native ! Native ! Native ! Native ! Native ! Native ! Native ! Native ! Native ! Native ! Native ! Native ! Native ! Native ! tanasinn…
利点
ハッシュタグ
#devsumiC Native + Library Delphi グループ
• iOS / Android 双方とも Nativeになる
–やっぱり速い
–Android は NDK を使用
•OS API にシームレスアクセス
–Objective-C Bridge / JNI
利点
ハッシュタグ
#devsumiC Native + Library Delphi グループ
• iOS/Android 2つに完全対応
–GUI も1ソースで
•Windows/OS Xとも
単一コードベースで –メニューなど、それぞれの文化に合わせた変更は必要です
利点
ちなみに
ハッシュタグ
#devsumiC Native + Library Delphi グループ
•FireMonkey
–2D/3D 対応
–DPI フリー(FormFamily)
–Style 機構
•iOS/Android 両方の NativeUI の見た目に対応する – iOS7 への対応も1週間(iOS7Style の配布)
利点
ハッシュタグ
#devsumiC Native + Library Delphi グループ
•コンポーネント
–Indy や DB系コンポーネントも、使えます。
•Indy –総合ネットワークコンポーネント
•OS の API に依存しないため、
真の単一コードベースになります。
利点
ハッシュタグ
#devsumiC Native + Library Delphi グループ
•言語
–みんな知ってる C++
–僕も大好き Delphi Language
•完全なデバッグ
–ブレークポイントを置いたりといった普通のデバッグができる
利点
ハッシュタグ
#devsumiC Native + Library Delphi グループ
•Native
–Android では弱点でもある
•Delphi Language
–Pascal 系列の言語
–C++Builder なら C++
難点
ハッシュタグ
#devsumiC Native + Library Delphi グループ
•Style
–NativeUI の見た目を自分で描いている(PixelPerfect)
•見た目が変わった場合、新しい Style が必要になる
難点
ハッシュタグ
#devsumiC Native + Library Delphi グループ
•IDE が Windows
–OS X 上で動く IDE が出れば……
•iOSアプリの開発にはMacも必要 –Xcode Command Line Tools
–Windows on OS X
•VMware とかで。
難点
ハッシュタグ
#devsumiC Native + Library Delphi グループ
オススメ!
•一般的なアプリ
–オールマイティ
–ゲームも? •カスタムシェーダーにも対応している
•OpenGL ES
–Windowsアプリもあるなら 超オススメ!
ハッシュタグ
#devsumiC Native + Library Delphi グループ
個人的には
•Delphi
–FireMonkey を含めすべてのライブラリが Delphi Language で書かれている
ハッシュタグ
#devsumiC
結論
ハッシュタグ
#devsumiC
•一般的なアプリ
–Delphi
–Xamarin
•エンタテインメント分野
–Unity3D
※発言は個人の見解であり云々
GUI まで
1ソースで作るか
GUI はあくまで
NativeUI とするか
ハッシュタグ
#devsumiC 皆さんに期待するアクション
•興味を持ったツールに トライしてみましょう!
モバイルパビリオン(華しらべ)には 体験コーナーがあります。
ココへ 行こう!
今ココ