Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
MH
Uploaded by
Masahiro Hidaka
PDF, PPTX
5,366 views
Gecko入門 - Introduction to Gecko -
2013.9.30 Geckoと仲良くなりたい人主催 FxOS Gecko勉強会の資料「Gecko入門」です。 Firefox OSのGeckoをまとめました。
Technology
◦
Read more
7
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 23
2
/ 23
3
/ 23
4
/ 23
5
/ 23
6
/ 23
7
/ 23
8
/ 23
9
/ 23
10
/ 23
11
/ 23
12
/ 23
13
/ 23
14
/ 23
15
/ 23
16
/ 23
17
/ 23
18
/ 23
19
/ 23
20
/ 23
21
/ 23
22
/ 23
23
/ 23
More Related Content
PDF
Nfcのアプリつくってみる
by
meco300
PDF
GeckoのLocal Storageについて調べてみた
by
Muneaki Nishimura
PDF
Firefoxの日和見暗号がカジュアルに無効化された話
by
Muneaki Nishimura
PPTX
おかえりセンサ
by
Yuka Tokuyama
PPTX
Firefox os
by
Vitalify.Inc
ODP
Linuxベースのシングルボード色々
by
Toshihisa Tanaka
PDF
Sensibleを試してみた@FxOSコードリーディングミートアップ#16
by
Hayato Hiratori
PDF
FirefoxOS を AndroidStick で動かしてみた(仮)
by
Kunihiko HAYASHI
Nfcのアプリつくってみる
by
meco300
GeckoのLocal Storageについて調べてみた
by
Muneaki Nishimura
Firefoxの日和見暗号がカジュアルに無効化された話
by
Muneaki Nishimura
おかえりセンサ
by
Yuka Tokuyama
Firefox os
by
Vitalify.Inc
Linuxベースのシングルボード色々
by
Toshihisa Tanaka
Sensibleを試してみた@FxOSコードリーディングミートアップ#16
by
Hayato Hiratori
FirefoxOS を AndroidStick で動かしてみた(仮)
by
Kunihiko HAYASHI
What's hot
PPTX
M5StackにFPGAをつないでみた
by
Kenta IDA
PDF
GnukトークンでSSH
by
Yuji IMAI
PDF
Firefox OS for Embedded System
by
Honma Masashi
PDF
Debian tokyo-20150224-01
by
Yuji IMAI
PPTX
nfcpy 0.10.0 でハマった話
by
Masaki Yamamoto
PPTX
ESP32開発環境まとめ
by
Kenta IDA
PDF
AndroidでFeliCaの履歴を読もう
by
treby
PPTX
4th tokushimaapp
by
Kenichi Tatsuhama
KEY
Pythonについて
by
Kenji NAKAGAKI
PDF
Outsmarting Smartphone Apps
by
Takahiro Yoshimura
PDF
Html5jplat 7th webはいつもあなたを見守っている
by
Fumihiko Nishio
M5StackにFPGAをつないでみた
by
Kenta IDA
GnukトークンでSSH
by
Yuji IMAI
Firefox OS for Embedded System
by
Honma Masashi
Debian tokyo-20150224-01
by
Yuji IMAI
nfcpy 0.10.0 でハマった話
by
Masaki Yamamoto
ESP32開発環境まとめ
by
Kenta IDA
AndroidでFeliCaの履歴を読もう
by
treby
4th tokushimaapp
by
Kenichi Tatsuhama
Pythonについて
by
Kenji NAKAGAKI
Outsmarting Smartphone Apps
by
Takahiro Yoshimura
Html5jplat 7th webはいつもあなたを見守っている
by
Fumihiko Nishio
Viewers also liked
PDF
Fxos lt1 shino_merry_mhidaka
by
Masahiro Hidaka
PDF
Android bluetooth
by
Masahiro Hidaka
PDF
Developers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンド
by
Masahiro Hidaka
PDF
DroidKaigi - Welcome talk
by
Masahiro Hidaka
PDF
Anroid Design Guide 3つのポイント
by
Masahiro Hidaka
PDF
Android端末の選び方
by
Masahiro Hidaka
PDF
Androidの衝撃 クラウドで進化する組込システム
by
Masahiro Hidaka
PPT
RecentApps
by
Masahiro Hidaka
PDF
失敗しない!Androidアプリ開発最前線!
by
Masahiro Hidaka
PDF
DroidKaigi 2017 welcometalk DAY01
by
Masahiro Hidaka
PDF
Android Studio First Step Guide
by
Masahiro Hidaka
PDF
Google I/O 2011 HowToADK
by
Masahiro Hidaka
PDF
Androidアプリのストレージ戦略
by
Masahiro Hidaka
PDF
DroidKaigi 2017 welcometalk DAY02
by
Masahiro Hidaka
PDF
新版 OutOfMemoryErrorを知る
by
Masahiro Hidaka
PDF
Google I/O 報告会 Overview
by
Masahiro Hidaka
PDF
Android Things Latest News / Aug 25, 2017
by
Masahiro Hidaka
PDF
書籍制作でReVIEWを使う実践ワークフロー
by
Masahiro Hidaka
Fxos lt1 shino_merry_mhidaka
by
Masahiro Hidaka
Android bluetooth
by
Masahiro Hidaka
Developers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンド
by
Masahiro Hidaka
DroidKaigi - Welcome talk
by
Masahiro Hidaka
Anroid Design Guide 3つのポイント
by
Masahiro Hidaka
Android端末の選び方
by
Masahiro Hidaka
Androidの衝撃 クラウドで進化する組込システム
by
Masahiro Hidaka
RecentApps
by
Masahiro Hidaka
失敗しない!Androidアプリ開発最前線!
by
Masahiro Hidaka
DroidKaigi 2017 welcometalk DAY01
by
Masahiro Hidaka
Android Studio First Step Guide
by
Masahiro Hidaka
Google I/O 2011 HowToADK
by
Masahiro Hidaka
Androidアプリのストレージ戦略
by
Masahiro Hidaka
DroidKaigi 2017 welcometalk DAY02
by
Masahiro Hidaka
新版 OutOfMemoryErrorを知る
by
Masahiro Hidaka
Google I/O 報告会 Overview
by
Masahiro Hidaka
Android Things Latest News / Aug 25, 2017
by
Masahiro Hidaka
書籍制作でReVIEWを使う実践ワークフロー
by
Masahiro Hidaka
Similar to Gecko入門 - Introduction to Gecko -
PPTX
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
by
Masami Yabushita
PDF
ずーるらんなー
by
Ryoma Sasaki
PPTX
20150117 gunmaweb Firefox OSの紹介
by
Akihiko Kigure
PDF
Firefox mobile for android internals
by
Makoto Kato
PPTX
Firefox OSアーキテクチャクイックツアー
by
Masami Yabushita
PDF
Firefox OS カスタム ROM の作成
by
Honma Masashi
PDF
Firefox OS 起動の仕組みを調べてみた
by
Muneaki Nishimura
PDF
Firefox OS Updates 201311
by
dynamis
PDF
Fx OS n2_aoitan_firefox osことはじめ
by
Masami Yabushita
PDF
N29 aoitan firefox osことはじめ
by
Masami Yabushita
PDF
Firefox OS - Blaze Your Own Path
by
dynamis
PDF
Firefox OS Updates 201308
by
dynamis
PPTX
関西Firefox OS勉強会 7th GIG LT
by
hama_lab
PDF
関東Firefox OS勉強会6th「Firefox OS」
by
Noritada Shimizu
PDF
Mobile + HTML5
by
Shinobu Okano
PDF
FirefoxOSを始めてみよう
by
Nobuhiro Ueda
KEY
Chrome osとgo言語からgoogleの今後を妄想してみる
by
Masakazu Muraoka
PDF
Firefox OS and Open Web Board - IGGG Meetup 2015 Spring
by
Gunma University
PDF
Firefox OSのアーキテクチャと構成技術
by
Makoto Kato
PDF
Firefox for mobile
by
Makoto Kato
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
by
Masami Yabushita
ずーるらんなー
by
Ryoma Sasaki
20150117 gunmaweb Firefox OSの紹介
by
Akihiko Kigure
Firefox mobile for android internals
by
Makoto Kato
Firefox OSアーキテクチャクイックツアー
by
Masami Yabushita
Firefox OS カスタム ROM の作成
by
Honma Masashi
Firefox OS 起動の仕組みを調べてみた
by
Muneaki Nishimura
Firefox OS Updates 201311
by
dynamis
Fx OS n2_aoitan_firefox osことはじめ
by
Masami Yabushita
N29 aoitan firefox osことはじめ
by
Masami Yabushita
Firefox OS - Blaze Your Own Path
by
dynamis
Firefox OS Updates 201308
by
dynamis
関西Firefox OS勉強会 7th GIG LT
by
hama_lab
関東Firefox OS勉強会6th「Firefox OS」
by
Noritada Shimizu
Mobile + HTML5
by
Shinobu Okano
FirefoxOSを始めてみよう
by
Nobuhiro Ueda
Chrome osとgo言語からgoogleの今後を妄想してみる
by
Masakazu Muraoka
Firefox OS and Open Web Board - IGGG Meetup 2015 Spring
by
Gunma University
Firefox OSのアーキテクチャと構成技術
by
Makoto Kato
Firefox for mobile
by
Makoto Kato
More from Masahiro Hidaka
PDF
DroidKaigi 2019 WelcomeTalk
by
Masahiro Hidaka
PDF
Google I/O 2018 KeynoteとDeveloper KeynoteのOverview
by
Masahiro Hidaka
PDF
DroidKaigi 2018 Android Back to the Future
by
Masahiro Hidaka
PDF
DroidKaigi 2018 WelcomeTalk
by
Masahiro Hidaka
PDF
KotlinConf Recap
by
Masahiro Hidaka
PDF
コミュニティ活動と企業の相互作用 ~コミュニティへの貢献と組織活動への還元~
by
Masahiro Hidaka
PDF
Google I/O 2017 Extended: Android O And Android Studio
by
Masahiro Hidaka
PDF
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
by
Masahiro Hidaka
PDF
Android カスタムROMの作り方
by
Masahiro Hidaka
PDF
ETWest2012 コミュニティセッション
by
Masahiro Hidaka
PDF
Android gameprogramming
by
Masahiro Hidaka
DroidKaigi 2019 WelcomeTalk
by
Masahiro Hidaka
Google I/O 2018 KeynoteとDeveloper KeynoteのOverview
by
Masahiro Hidaka
DroidKaigi 2018 Android Back to the Future
by
Masahiro Hidaka
DroidKaigi 2018 WelcomeTalk
by
Masahiro Hidaka
KotlinConf Recap
by
Masahiro Hidaka
コミュニティ活動と企業の相互作用 ~コミュニティへの貢献と組織活動への還元~
by
Masahiro Hidaka
Google I/O 2017 Extended: Android O And Android Studio
by
Masahiro Hidaka
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
by
Masahiro Hidaka
Android カスタムROMの作り方
by
Masahiro Hidaka
ETWest2012 コミュニティセッション
by
Masahiro Hidaka
Android gameprogramming
by
Masahiro Hidaka
Gecko入門 - Introduction to Gecko -
1.
Geckoと仲良くなりたい人主催 FxOS Gecko勉強会 Gecko入門 -
Introduction to Gecko – Masahiro Hidaka / @mhidaka
2.
ABOUT.ME(); Hello, Everyone
3.
自己紹介 • 日高 正博
/ @mhidaka – Embedded Engineer, 7年目。今年、関西→関東 – Android, Linux, RTOS。 Firefox OSは最近! • コミュニティ活動 – 執筆、勉強会 – techbooster.org • Android ,Mobile技術
4.
お知らせ:絶賛発売中 Effective Android 進撃の火狐
5.
ABOUT.GECKO(); Hello, Firefox OS
;)
6.
なぜ今、Gecko勉強会なのか • これのせい。 発表は昨日、ソースコードを落として読んだ内 容を元にしてます。ある意味、最新情報です が、うそを言う可能性が微レ存。 その場合は優しく訂正してください。優しく。 # WebにGeckoの情報なさ過ぎてビビる
7.
Geckoを知る意義 • Firefox OSの重要なブロックの1つ –
プラットフォームとして理解するうえで避け ては通れない。 • GeckoはWeb技術との接点 – HTML5による実装 – Google Chrome OSも同様の方向性
8.
WebApp Based OS •
Web標準技術が中心に • 両方ともブラウザがベース • chrome OS – Androidのタイミングでは HTML5は時期尚早 – ラップトップのローレンジへの 展開 • Firefox OS – Anroidが既にあった – モバイルのローレンジへの展開 – シンプルな構成でパフォーマン スを得る(Javaやネイティブなど の両サポートに比べると)
9.
ARCHITECTURE(); Hello, Firefox OS
:p
10.
Firefox OS アプリケーション開発と密接に関わる UIコンポーネント、Home,SystemAppの提供 HTML,CSS,JavaScriptで記述、描画等も担当。 Gaia Gecko Gonk https://developer.mozilla.org/ja/docs/Mozilla/Firefox_OS/Platform/Architecture カーネル、ライブラリ層。デバイス制御機能を提供 Linuxカーネル, init.rc
/ ほぼAndroidと同じ仕組み システムプロセスであるchrome(b2g)プロセスが存在。 Web標準技術の実装(アプリが動くために必要なもの全て) レイアウト、JavaScriptエンジン、ネットワーク、グラ フィックスタック。ブラウザそのもの。 B2G(Boot to Gecko): Firefox OSプロジェクト全体のコードネーム
11.
Firefox OSの肝はGaiaとGecko • Gaia –
Webアプリではあるが特別な権限を もったシステムアプリとして振る舞う – SystemUI like • Gecko – PC版Firefoxブラウザのノウハウが生 きている(その分、複雑…) – OSのもつデバイス制御を可能にして いる ※ざっくりとした理解ですよ Gaia Gecko Gonk Web アプリ Web ブラウザ
12.
ソースコードを確認する $ git clone
git://github.com/mozilla-b2g/B2G.git $ ./config.sh nexus-4 # ./config.sh galaxy-nexus はリポジトリが死んでた。つらい。 # ./config.sh で対応デバイスを確認できる 以下のスライドは2013.09.30 時点の情報をもとに作成
13.
B2Gディレクトリ device external frameworks
gaia gecko gonk-misc hardware libcore libnative helper ndk prebuilts rilproxy scripts system tools abi bionic bootable build dalvik
14.
GECKO.INNER(); Hello, Firefox OS
:)
15.
geckoディレクトリ browser chrome content dom hal xpcom view xulrunner dom
Web APIの提供 xulrunner レンダリングエンジン xpcom Mozillaのコンポーネント化技術 Chrome chromeプロセス用コード content domへローレベルAPI提供(Canvas等) view 基本的なview管理機構 layout 画面に表示するレイアウト要素 table,sytle hal geckoのHAL層 (Sensor, Switch, FMRadio, EventPolling ) layout …more
16.
gecko/hal/gonk/GonkHal.cpp class BatteryObserver :
public IUeventObserver, public RefCounted<BatteryObserver> { … 省略 … virtual void Notify(const NetlinkEvent &aEvent) // バッテリー変化の通知 { // this will run on IO thread NetlinkEvent *event = const_cast<NetlinkEvent*>(&aEvent); const char *subsystem = event->getSubsystem(); // e.g. DEVPATH=/devices/platform/sec-battery/power_supply/battery const char *devpath = event->findParam("DEVPATH"); if (strcmp(subsystem, "power_supply") == 0 && strstr(devpath, "battery")) { // aEvent will be valid only in this method. NS_DispatchToMainThread(mUpdater); } } 他にもバイブレータ、明るさ、 スクリーン、時刻設定など
17.
基本的な制御シーケンス DOM (API , DOM) Content
Layout Hal XPCOM… WebApp Gaia Gecko Linux
18.
GECKO.READ(); Hello, Firefox OS
:)
19.
gecko/hal/gonk/GonkHal.cpp SetLight(hal::LightType light, const
hal::LightConfiguration& aConfig) { light_state_t state; InitLights(); … 省略 … memset(&state, 0, sizeof(light_state_t)); state.color = aConfig.color(); state.flashMode = aConfig.flash(); state.flashOnMS = aConfig.flashOnMS(); state.flashOffMS = aConfig.flashOffMS(); state.brightnessMode = aConfig.mode(); sLights[light]->set_light(sLights[light], &state); sStoredLightState[light] = state; return true; } 明るさを設定するコード
20.
明るさ設定のCall Graph gaia/apps/system/js/settings.js gecko/dom/base/Navigator.cpp /
nsIDOMNavigator.idl (バインディング) gecko/dom/power/PowerManager.cpp gecko/hal/sandbox/SandboxHal.cpp gecko/hal/gonk/GonkHal.cpp –SetScreenBrightness gecko/hal/gonk/GonkHal.cpp – setLight navigator.mozPower.screenBrightness = parseFloat(value); Navigator::GetMozPower(nsIDOMMozPowerManager** aPower) PowerManager::SetScreenBrightness(double aBrightness, ErrorResult& aRv) Hal()->SendSetScreenBrightness(brightness); hal::SetLight(hal::eHalLightID_Backlight, aConfig); GaiaからGeckoへの コールグラフ
21.
PPT.FINISH(); Hello, Firefox OS
:)
22.
おや?Geckoの様子が? これであなたも Geckoが読めるようになりましたよね? Geckoが仲良くなりたそうにこちらを見ている!! 仲良くしますか? → はい いいえ ご清聴ありがとうございました そういえば
https://wiki.mozilla.org/B2G/Hacking っていう ページがあってHackの仕方が書いてあるぽいんだけど誰か?
23.
FAQ • ソースコードの接頭子のNSは何の略? – Netscapeのこと。NextStepではない。S •
時折みる接頭子のMozはどういう意味? – 独自実装されたもの(Web標準化前を含む) – o(opera)とか色々あるが、最近のトレンドとしてconfigや開発 者版のみなど使える環境を限定してたくさん接頭子が乱立しな いように工夫した上で接頭子を使わないケースもある • IDLってバインディングに使ってるんじゃない? – 実は3種類ある!S – JSのバインディング、FirefoxのAPI(XPCOM)、プロセス間通 信(pidl)
Download