More Related Content
Similar to Kotlin/Golang Developer seminor. 「Androidが生み出す開発言語の多様性」 リックテレコム主催 (20)
Kotlin/Golang Developer seminor. 「Androidが生み出す開発言語の多様性」 リックテレコム主催
- 2. 2
自己紹介
嶋 是一 (しま よしかず)
日本Androidの会
特定非営利活動(NPO)法人 日本Androidの会 理事長
コミュニティー運営委員
株式会社KDDIテクノロジー
開発四部 部長 モバイルに関する新規技術の開拓
MCPCモバイルシステム技術検定委員
MCPC : モバイルコンピューティング推進コーンソーシアム
MCPC技術検定委員 テキスト作成WG副主査
IPA 情報処理技術者試験委員
大学
非常勤講師 東京電機大学 玉川大学
執筆
「Google Android入門」 技術評論社より2008年4月23日出版 ほか
@shimay
- 22. 22
Androidの目標
• JavaVM
– Javaはサンマイクロソフトが1995年に公開
– JavaのVMはサンマイクロソフトから提供されフィーチャーフ
ォンにもJavaMEが搭載
• VMソフトウェア自体はサンマイクロソフトのソフトウェアのためオー
プンソースでない
– Java技術の標準化作業は、Java Community
Process (JCP) というプロセスで行われている
– 新しい取り組みはJSRという形で標準化され、それが
JavaVMに搭載されて初めて利用可能になる
• 新しい技術を利用できるまでのタイムラグが発生
新しいイノベーションをモバイルの世界で加速させたい
- 23. 23
Androidの目標
• AndroidはDalvik VMを搭載
– サンマイクロソフトから提供されていJavaSEのインターフェ
イスにもとづいた実行環境(JavaVM)を、自前で制作
– アプリ開発者はJavaSEのプログラム言語で開発。しかし
VMはGoogleが実装したDalvik VMという組立
– DVMもオープンソースで公開され、自由に拡張可能
• 多様性が広がったとともに、様々な混沌(フラグメメント)も広がる
• 現在GoogleはGMSでその混沌を収めようとしている
• 新技術を早急に搭載でき、実験でき、アプリ開発で
き、マッシュアップの土台に乗せることができる。
新しいイノベーションをモバイルの世界で加速させたい
- 36. 36
CPUの進化
ケータイクラス
PCクラス
CPU性能
200MHz
600MHz
2007 2008 2009 2010 20112006
1GHz
400MHz
2012 2013
ARM11 400MHz
ARM9 128MHz
90nm
ARM11 528MHz
ARM9 256MHz
65nm
Scorpion 1GHz
ARM9 266MHz
65nm
MP Now
082Q CS
084Q CS
A8 800MHz
45nm
OMAP3430改
OMAP3
A8 600MHz
65nm
OMAP3430
OMAP3
A9 800MHz×2
45nm→28nm
OMAP4
Phoenix
ARM11 330MHz
90nm
OMAP2430
OMAP2
A9 1GHz×2
45nm→28nm
OMAP4
Phoenix
8960
Krait 1.5GHz×2
28nm
8960
8660
89xx
Scorpion 1.5GHz×2
45nm
Krait 1.7GHz×2
28nmLPIA
Z510: 1.1GHz
Z540: 1.86GHz
45nm
MP ’08/Jun
2009-2010年向
け
45nm
Silver thorne
MOORESTOWN
Atom(Intel)
ケータイプロセッサ並みの低消費電力へ
Oak Trail Medfield
32nm
1.5GHz
性能
Tegra1
ARM11 MP600MHz
65nm
Xscale
624MHz
Mervell
PXA310
Tegra2
1GHz x 2
40nm
Tegra3
1.5GHz x 4
40nm
- 38. 38
Android
進むランタイムの進化
ランタイムの進化
1.0 4.4 5.0 7.0 …
AOT仮
ART 仮
Dalvik
JIT
JIT
Just in time(実行時コンパイラ)
Javaバイトコードを実行時に実行可能形式へ
AOT
Ahead of time(事前コンパイラ)
Javaバイトコードをあらかじめ実行可能な形式へ
インストール
早い
ストレージ小 実行時早い CPU負荷小 省電力
中間言語コンパイル方式
JIT
AOT(最適化)
ART
AOT
- 39. 39スマートフォン白書2016(インプレス) 嶋是一原稿より
進むランタイムの進化
アプリ
Core OS
iOS Android
Core Service
Media
Cocoa Touch
Linux
Liblary
Dalvik
VM
Framework
Java
バイト
コード
ART
Swift
ソース
ObjectC
ソース
バイナリーコード
プログラミング
言語
コンパイル
LLVM利用
Javaソース
バイナリ
コード
ARTの場合Dalvikの場合
JavaのVM(バー
チャルマシン)
アプリ実行環境
コンパイル
LLVM利用
RTOS
ミドルウェア
アプリケーション
実行環境
アプリケーション
フレームワーク
配信環境
LLVMの活用
Javaバイト
コード
- 42. 42
混沌 vs 進化
• 混沌が進化を生むAndroid
• Googleは開発者を熱狂させるのうまい
– レガシーを良く見せる
– 技術者にうれしい提案によりファンを増やす
• コード効率化
• 開発環境整備
• 新技術の利用
• KotlinやGo言語の良いところは、開発者が開発して
いて気持ち良いこと。
広がる開発言語
次なる民主化領域を探しながら進化
- 50. 50
Android Bazzar and Conference 2016 Autumn
http://abc.android-group.jp/2016a/
会場 柏の葉キャンパス
主催 特定非営利活動法人 日本Androidの会
共催 31VENTURES(三井不動産)