SlideShare a Scribd company logo
1 of 112
Download to read offline
モバイル開発環境の
組み
込み
エン
ジニア から
見た
変遷
@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早く・・・
糸冬。

More Related Content

What's hot

Android Wear最新トピック+α
Android Wear最新トピック+αAndroid Wear最新トピック+α
Android Wear最新トピック+α
Kenichi Kambara
 
Android SDK Toolsのおさらい
Android SDK ToolsのおさらいAndroid SDK Toolsのおさらい
Android SDK Toolsのおさらい
Tomoki YAMASHITA
 

What's hot (20)

[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編
[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編
[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編
 
Android 6.0 Marshmallow App Permissions 実践編
Android 6.0 Marshmallow App Permissions 実践編Android 6.0 Marshmallow App Permissions 実践編
Android 6.0 Marshmallow App Permissions 実践編
 
Android Wear最新トピック+α
Android Wear最新トピック+αAndroid Wear最新トピック+α
Android Wear最新トピック+α
 
Android dev summit 2019 recap
Android dev summit 2019 recapAndroid dev summit 2019 recap
Android dev summit 2019 recap
 
パーミッションモデルの過渡期への対応
パーミッションモデルの過渡期への対応パーミッションモデルの過渡期への対応
パーミッションモデルの過渡期への対応
 
用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法
 
Cocos2d-JSはイケてる? イケてない?
Cocos2d-JSはイケてる? イケてない?Cocos2d-JSはイケてる? イケてない?
Cocos2d-JSはイケてる? イケてない?
 
Android SDK Toolsのおさらい
Android SDK ToolsのおさらいAndroid SDK Toolsのおさらい
Android SDK Toolsのおさらい
 
Jag201610 API Diffで見るNougat
Jag201610   API Diffで見るNougat Jag201610   API Diffで見るNougat
Jag201610 API Diffで見るNougat
 
[展開用]Android wear abc2014w-kenichikambara
[展開用]Android wear abc2014w-kenichikambara[展開用]Android wear abc2014w-kenichikambara
[展開用]Android wear abc2014w-kenichikambara
 
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
 
150624 fy2015 jpn
150624 fy2015 jpn150624 fy2015 jpn
150624 fy2015 jpn
 
Android Wearアプリ開発経験談
Android Wearアプリ開発経験談Android Wearアプリ開発経験談
Android Wearアプリ開発経験談
 
Android,Brillo,ChromeOS
Android,Brillo,ChromeOSAndroid,Brillo,ChromeOS
Android,Brillo,ChromeOS
 
Android Wearアプリ プレビュー版→正式版への移植ガイド
Android Wearアプリ プレビュー版→正式版への移植ガイドAndroid Wearアプリ プレビュー版→正式版への移植ガイド
Android Wearアプリ プレビュー版→正式版への移植ガイド
 
透過型HMD Google Glass
透過型HMD Google Glass透過型HMD Google Glass
透過型HMD Google Glass
 
今日から始める Android Wear - Watch Face 制作【プロ生第39回】
今日から始める Android Wear - Watch Face 制作【プロ生第39回】今日から始める Android Wear - Watch Face 制作【プロ生第39回】
今日から始める Android Wear - Watch Face 制作【プロ生第39回】
 
Androidクラスタの私がcocos2d-xでマルチディスプレイ対応してみた
Androidクラスタの私がcocos2d-xでマルチディスプレイ対応してみたAndroidクラスタの私がcocos2d-xでマルチディスプレイ対応してみた
Androidクラスタの私がcocos2d-xでマルチディスプレイ対応してみた
 
もしプロダクトマネージャーが野球のピッチャーだったら
もしプロダクトマネージャーが野球のピッチャーだったらもしプロダクトマネージャーが野球のピッチャーだったら
もしプロダクトマネージャーが野球のピッチャーだったら
 
GDC/VRDC 2016 フォトレポート
GDC/VRDC 2016 フォトレポートGDC/VRDC 2016 フォトレポート
GDC/VRDC 2016 フォトレポート
 

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

Windows Phoneの 企業内活用方法、 社内向けアプリ開発と展開
Windows Phoneの企業内活用方法、社内向けアプリ開発と展開Windows Phoneの企業内活用方法、社内向けアプリ開発と展開
Windows Phoneの 企業内活用方法、 社内向けアプリ開発と展開
Akira Onishi
 
"AMA App" Android App with Physical UI
"AMA App" Android App with Physical UI"AMA App" Android App with Physical UI
"AMA App" Android App with Physical UI
Tadasi Nisimura
 
セキュリティ部、始動!
セキュリティ部、始動!セキュリティ部、始動!
セキュリティ部、始動!
Naoya Niwa
 
[Jagys]android41+開発ツール紹介
[Jagys]android41+開発ツール紹介[Jagys]android41+開発ツール紹介
[Jagys]android41+開発ツール紹介
Kenichi Kambara
 

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

Android Wearと戦ってみた
Android Wearと戦ってみたAndroid Wearと戦ってみた
Android Wearと戦ってみた
 
20120630 android ics in Yokohama
20120630 android ics in Yokohama20120630 android ics in Yokohama
20120630 android ics in Yokohama
 
Windows Phoneの 企業内活用方法、 社内向けアプリ開発と展開
Windows Phoneの企業内活用方法、社内向けアプリ開発と展開Windows Phoneの企業内活用方法、社内向けアプリ開発と展開
Windows Phoneの 企業内活用方法、 社内向けアプリ開発と展開
 
cocos2d-xとCocos Code IDE
cocos2d-xとCocos Code IDEcocos2d-xとCocos Code IDE
cocos2d-xとCocos Code IDE
 
Monaco Editor on Cloud
Monaco Editor on CloudMonaco Editor on Cloud
Monaco Editor on Cloud
 
Cocos Code IDEを使ってみた
Cocos Code IDEを使ってみたCocos Code IDEを使ってみた
Cocos Code IDEを使ってみた
 
cocos2d-x 3.0による変更点
cocos2d-x 3.0による変更点cocos2d-x 3.0による変更点
cocos2d-x 3.0による変更点
 
"AMA App" Android App with Physical UI
"AMA App" Android App with Physical UI"AMA App" Android App with Physical UI
"AMA App" Android App with Physical UI
 
Android Studio 2.2の紹介@Google I/O 2016東京報告会
Android Studio 2.2の紹介@Google I/O 2016東京報告会Android Studio 2.2の紹介@Google I/O 2016東京報告会
Android Studio 2.2の紹介@Google I/O 2016東京報告会
 
Augmented realitynewstopics march2012
Augmented realitynewstopics march2012Augmented realitynewstopics march2012
Augmented realitynewstopics march2012
 
デブサミ2013応募用スライド
デブサミ2013応募用スライドデブサミ2013応募用スライド
デブサミ2013応募用スライド
 
セキュリティ部、始動!
セキュリティ部、始動!セキュリティ部、始動!
セキュリティ部、始動!
 
ふぃじかるこんぴゅ〜てぃんぐしてみた
ふぃじかるこんぴゅ〜てぃんぐしてみたふぃじかるこんぴゅ〜てぃんぐしてみた
ふぃじかるこんぴゅ〜てぃんぐしてみた
 
[Jagys]android41+開発ツール紹介
[Jagys]android41+開発ツール紹介[Jagys]android41+開発ツール紹介
[Jagys]android41+開発ツール紹介
 
20120422 m3pi in Yokohama
20120422 m3pi in Yokohama20120422 m3pi in Yokohama
20120422 m3pi in Yokohama
 
[デブサミ2015]Androidで広がる世界&エンジニアとしての歩み
[デブサミ2015]Androidで広がる世界&エンジニアとしての歩み[デブサミ2015]Androidで広がる世界&エンジニアとしての歩み
[デブサミ2015]Androidで広がる世界&エンジニアとしての歩み
 
Androidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーションAndroidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーション
 
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
 
Dojojag shima dis-tver-20170524
Dojojag shima dis-tver-20170524Dojojag shima dis-tver-20170524
Dojojag shima dis-tver-20170524
 
Android端末と組み込み機器が連携する Android Make Days
Android端末と組み込み機器が連携する Android Make Days Android端末と組み込み機器が連携する Android Make Days
Android端末と組み込み機器が連携する Android Make Days
 

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