モバイル開発環境の
組み
込み
エン
ジニア から
見た
変遷
@kojira
自己紹介
名古屋出身の0x26歳の
組み込み系エンジニア
AndroidのSDKリリース
を契機に人生が変わった
2007/11/12
Android SDKが発表された当日に
Android情報まとめwiki開設
2008/02/05
Armadillo-500にAndroidを
ポーティング、
Youtubeにビデオ公開
2008/02/21
Android情報ブログを開設、
ポーティング方法を公開
2008/04/25
日本初開催のGoogle Android
SDK Hackathonに参加
2008/05/11
大阪で初のAndroid勉強会開催
(Armadillo-500へのポーティング
ハンズオン)
中略
2009/12/01
開発に携わったAndroidアプリ
「スポットメッセージ」が
ADC2のソーシャル部門で入賞
2010年
Android温泉グループ創設、
Androidなんとか部をいっぱい作る
Androidなんとか部
2010/09/04
執筆、取りまとめをした
「Android Hacks」が
オライリー社より出版
2010/09/28
Google developer day 2010
TokyoでRIC Android(Android
型Android)を展示。
2010/11/09
Google developer day 2010
ミュンヘンでRIC Android展示
2010/11/16
Google developer day 2010
プラハでRIC Android展示
後略
本題へ
モバイルの開発環境の変遷
2000年頃
統合開発環境?
エディタがIDEです。
( ー`дー´)キリッ
秀丸
WZ Editor
MIFES
今みたいにアプリのデバッグで
ブレークポイントで
止めることもできた
できたにはできたが
JTAG、ICEなど
高価な機材とソフトが必要だった
数百人の開発フロアに数台しかない
セットアップにも手間がかかる
配線間違えるとぶっ壊れる
結局ログでデバッグ
コードを修正してコンパイル
ヘッダをいじっちゃうと
フルコンパイルに1時間以上
アプリのコードを修正してコンパイル
アプリのヘッダしかいじってないのに
フルコンパイルに1時間以上
実機にバイナリを焼くのに
20分
「あー、あそこに
ログ入れるの忘れてたー\(^o^)/」
ログを追加してコンパイル
勢い余ってヘッダをいじっちゃうと
フルコンパイルに1時間以上
実機にバイナリを焼くのに
20分
コンパイラの
フローティングライセンス不足で
コンパイルできないことも。
あ、Visual C++ありましたよ
でもエミュレーター
開発者が善意で作ったエミュレーター
善意でメンテ。
実機と挙動がぜんぜん違う
増加するエミュレータのための
#ifdef
増え続ける機種毎のdefine
ますます混乱する#ifdef
もはやどっちのコードが
有効かわからない
そこに颯爽と現れた
BREW
公式シミュレータがある
ちゃんとメンテされる
それなりに実機に近い挙動
Visual C++で開発できて
ブレークポイントも張れる
でもやっぱり実機必要
シミュレータの切り分けの
ifdefはなくならない
アプリのヘッダ変更で
フルコンパイルは減った!
ヽ(´▽`)ノ
※なくなってません
そこに颯爽と登場したのが
Symbian
MOAP(S)
※MOAP(L)の経験はありません
シミュレータもある
シミュレータで
ブレークポイントも張れる
アプリだけでビルドできるし、
アプリ間の依存関係が希薄
Eclipseベースの開発環境
これはいける!
いけるぞぉー!!
アプリとシミュレータは別ビルド
まあ今までもそうだった
問題ない。
ブラウザのバージョンアップの
お知らせ
フルコンパイル
\(^o^)/
コンパイルエラー
/(^o^)\
俺のアプリ、
ブラウザ使ってないよ?
プラットフォームが悪いんじゃない
設計者が悪いんやー
そう思っていた時期が
ボクにもありました
2007年11月
颯爽と現れた
Android
こ、こいつは本物だ
エミュレータは
CPUからエミュレートしてる
アプリをいくらいじっても
フルコンパイルにならない!
エミュレータと実機が同じビルド
当たり前のことがアタリマエに
実装されてやがる
本
者
全部無料で開発環境が構築可能!
個人でもアプリ開発可能!
実機にアプリを転送するのも数秒
実機でブレークポイント張れる
JTAG、ICEとは何だったのか
開発環境のソースコードも公開!
これは組み込みのモバイル開発が
乗っ取られる
まさにそうなった現在
また新たな開発環境が
クロスプラットフォーム開発
Adobe AIR
Corona
DragonRad
Jo HTML5 Mobile App Framework
Kony
LiveCode
Marmalade
MonoTouch
MoSync
openFrameworks
OpenPlug
PhoneGap
Qt
RhoMobile
Sencha Touch
Sproutcore
Titanium Mobile
Unity
Wink Toolkit
Worklight
Xamarin
XDK(appMobi)
大杉!
もはやどれを使えばいいかわからん
2011年冬
Boot to Gecko誕生
Androidが踏み台
2012年冬
Firefox OSに改名
広がるHTML5
進むWebとの融合
組み込み開発者に求められる
Web開発知識
JavaScript
Lua
Node.js
AngularJS
asm.js
Backbone.js
CommonJS
Emscripten
Flight
jQuery
Swiffy
TypeScript
なるほどわからん
Web開発の統合開発環境
Eclipse
Coda
Dreamweaver
Aptana Studio
NetBeans
IntelliJ
WebStorm
なるほどわからん
Firefox OS
IDE早く・・・
糸冬。

組み込みエンジニアから見たモバイル開発環境の変遷