Mais conteúdo relacionado Semelhante a 組み込みでも使えるFirefox OS (20) Mais de Noritada Shimizu (20) 組み込みでも使えるFirefox OS13. • 商用端末3機種
• ZTE Open
• Alcatel One Touch Fire
• LG Fireweb
• 開発端末 / PC
• Geeksphone Keon /Peak
• APC (VIA) Paper /Rock
発売中の端末
13
14. Firefox OS 端末販売状況
• ベネズエラ(Telefónica@2013/10)
スマートフォン販売の12%
• コロンビア(Telefónica@2013/10)
スマートフォン販売の9%
• ウルグアイ(Movistar@2013/12)
スマートフォン販売の30%
14
15. 15
ハードウェア 最小構成
CPU 1GHz, single-core, ARM Cortex A5 互換
ストレージ 汎用:オンボード256MB、スマホ:トータルで4G
システムRAM 128MB
ディスプレイ 262K色、HVGA、マルチタッチ(2点は必要)
GPU WebGLが利用可能、H.264動画を30FPSで描画可能
物理ボタン ホーム、電源、ボリューム
16. 16
ハードウェア サポートしているバージョン
チップセット Qualcomm 7727, 7727A, 8210, 8212, 8225, 8926
Spreadtrum SC6821, SC7710, SC7715
解像度 HVGA, WVGA, FWVGA, 720P
NFC Broadcom 20793S NFC Controller
GPS A-GPS
17. ハードウェア コードネーム CPU RAM ROM
Alcatel One
Touch Fire
hamachi, buri
Qualcomm MSM 7227A
1GHZ
256MB 512MB
ZTE Open ikura
Qualcomm MSM 7225A
800Mhz
256MB 512MB
LG Fireweb leo Qualcomm 1GHz 512MB 4GB
Nexus4 nexus-4
Qualcomm Snapdragon
S4Pro 1.5GHz quad-core
2GB
8 /
16GB
Foxconn
InFocus
flatfish
A31(Arm Coretex A7)
Quad-Core 1.0GHz
2GB 16GB
Spreadtrum
SC6821
tarako Coretex A5 1GHz 128MB 2GB
Flame
the reference
device
Qualcomm MSM8210
Snapdragon, 1.2GHz 2core
256MB
- 1GB
8GB
19. Firefox OS vs Android
19
カーネル & HAL
Web Platform AppFramework
!
!
Android
Runtime
Dalvik
WebKit
Java
アプリ
ブラウザ
アプリ
Native
Library
Web
アプリ
Web
アプリ
Packaged
Webアプリ
Gecko
DeviceAPI SystemAPI
ライブラリ
SGL etc.
Native
Interface
カーネル & HAL
23. 23
プロセス 説明
b2g Content process の親
rild Radio Interface Layerを提供
rildproxy rildのクライアント
netd ネットワークインタフェースを設定
wpa_supplicant WPAのサプリカント
dbus_daemon DBUSを提供。Bluetooth通信に利用
24. sysfsの利用例
FILE *capacityFile =
fopen("/sys/class/power_supply/battery/capacity",
"r");
double capacity =
dom::battery::kDefaultLevel * 100;
if (capacityFile) {
fscanf(capacityFile, "%lf", &capacity);
fclose(capacityFile);
}
24
25. • Hosted (Web 読み込み型)
• 従来のWebと同じ権限
• オフライン対応アプリも開発可能
• Packaged (ダウンロード型)
• 従来のスマホアプリに相当
• Hostedアプリの権限+ 追加権限
• マーケット審査
Firefox OSアプリ
25
Packaged
Web アプリ
Hosted
Web アプリ
26. • Firefox OS の管理する
リソースに対する操作
• ハードウェアの操作
• 通知のコントロール
• etc
• JavaScript から呼び出す
Web API
26
27. 現在提供されているWeb API
• コミュニケーション
Network Information API, Bluetooth, Mobile
Connection API, Network Stats API, TCP Socket API,
Telephony, WebSMS, WiFi Information API
• ハードウェアアクセス
Ambient Light Sensor API, Battery Status API,
Geolocation API, Pointer Lock API, Proximity API,
Device Orientation API, Screen Orientation API,
Vibration API, WebFM API, Camera API, Power
Management API
27
28. 現在提供されているWeb API(つづき)
• データ管理
FileHandle API, IndexedDB, Contacts API, Device
Storage API, Settings API
• その他
Alarm API, Simple Push, Web Notifications, Apps
API, Web Activities, WebPayment API, Browser API,
Idle API, Permissions API, Time/Clock API
28
29. Vibration API
var pattern =
[100,30,100,30,100,200,200,30,200,30,200,200,
100,30,100,30,100];
navigator.vibrate(pattern);
// Vibrate 'SOS' in Morse.
29
31. Vibration API の WebIDL
partial interface Navigator {
boolean vibrate(unsigned long duration);
boolean vibrate(
sequence<unsigned long> pattern);
};
31
34. Geolocation API
var locator = navigator.geolocation;
// locator は Geolocation オブジェクト
locator.getCurrentPosition(function(position){
doSomething(position.coords.latitude,
position.coords.longitude);
});
34
35. Geolocation.webidl
[NoInterfaceObject]
interface Geolocation {
[Throws]
void getCurrentPosition(PositionCallback successCallback,
optional PositionErrorCallback? errorCallback = null,
optional PositionOptions options);
[Throws]
long watchPosition(PositionCallback successCallback,
optional PositionErrorCallback? errorCallback = null,
optional PositionOptions options);
!
void clearWatch(long watchId);
};
35
44. 44
ハードウェア 最小構成
CPU 1GHz, single-core, ARM Cortex A5 互換
ストレージ 汎用:オンボード256MB、スマホ:トータルで4G
システムRAM 128MB
ディスプレイ 262K色、HVGA、マルチタッチ(2点は必要)
GPU WebGLが利用可能、H.264動画を30FPSで描画可能
物理ボタン ホーム、電源、ボリューム