SlideShare a Scribd company logo
1 of 53
Firefox OSアーキテクチャクイックツアー
FxOSコードリーディング向け追記版
株式会社グローバルサイバーグループ
マネージャ
藪下 正美
はじめに
自己紹介
• 藪下正美
– わんくまでは普段あおいたんとか名乗ってる人
– 大阪は#45以来ですおひさしぶりです
• 株式会社グローバルサイバーグループから来ました
• Firefox OSコミュニティから来ました
• Codezineで記事書きました
– Firefox OSアプリ開発が楽しくなるハードウェアAPIの概要と、センサーAPIや音声APIを
使った楽器アプリの作例
– http://codezine.jp/article/detail/8540
会社紹介
• 株式会社グローバルサイバーグループ
– 関西出身の組み込み系の会社
• 携帯電話とか業務用コピー機とかデジカメとかの中の人やってます
• 最近はAndroidのすごい下の方か各モバイルOS向けアプリを主にやってます
– Firefox OSの勉強会を支援する事業やってるので興味があればご相談ください
• http://www.gcg.bz/labo_blog/?page_id=943
– 各種モバイルOSの質問も受け付けてます。ブログで回答します
• http://www.gcg.bz/labo_blog/?page_id=945
コミュニティ紹介
• Firefox OSコミュニティで各種イベントのスタッフとかスピーカとかやってま
す
– FxOSコードリーディングというコミュニティのいいだしっぺ
• http://reading.fxos.org/
• 大体毎月Mozilla Japanのオフィスでソースコードを読む会やってます
• 年三回ぐらい成果発表会的なセミナーやってます
• ほかにもHTML5j Webプラットフォーム部とかWoT的なソフト/ハードを味見す
るコミュニティもやってます
今日のアジェンダ1
• Firefox OSの全体像
– Gaia
– Gecko
– Gonk
今日のアジェンダ2
• Gaiaについて少し詳しく
– Gaiaの全体像
– アプリの権限
– ChromeプロセスとContentプロセス
– Chromeプロセスで動くアプリ
– Contentプロセスで動くアプリ
今日のアジェンダ3
• Geckoについて少し詳しく
– Gecko概要
– 三大機能と三つのツリー
今日のアジェンダ4
• Gonkについて少し詳しく
– HAL
– AOSP Linux
• 全体まとめ
• さいごに
Firefox OSの全体像
• Firefox OSは大別して三つの
モジュールで構成される
Firefox OSの全体像
• Firefox OSは大別して三つの
モジュールで構成される
– Gaia
• UIやプリインアプリなど
ユーザに見える基本機能を
提供する
• すべてHTML5で書かれている
• ソースコードはB2G/gaiaにある
Firefox OSの全体像
• Firefox OSは大別して三つの
モジュールで構成される
– Gecko
• Gaiaやユーザアプリが
使用するAPIやHTML5の
ランタイムを提供する
• C++、JS、IDLなど多くの
言語で実現されている
• ソースコードはB2G/geckoにある
Firefox OSの全体像
• Firefox OSは大別して三つの
モジュールで構成される
– Gonk
• OS、HALなどを含む層
• C/C++で書かれている
• ソースコードはB2G/gonk-miscや
B2G/gecko/b2g
Gaia
• UIやプリインアプリなどでデバ
イスの基本的な操作を提供する
• すべてHTML5で書かれている
• Geckoに依存するがプラット
フォームに依存しない
– B2Gデバイス、デスクトップ、シ
ミュレータなどGeckoが動作する環
境であれば広く動作する
• Gaiaはプロファイルに応じて提
供する機能やUIの変更が多い
• 主に読むのはB2G/gaia/apps、
B2G/gaia/shared、
B2G/gaia/tv_appsあたり
Gecko
• Gaiaやユーザアプリが使用する
APIやHTML5のランタイムを提供
する
• C++、JS、IDLなど多くの言語で
実現されている
• FirefoxやThunderbirdなどの
Mozilla製品で共通のランタイム
• 読むところいっぱいあるので
ソースコードの話は後述
Gonk
• OS、HALなどを含む層
• WindowsやMac OS XなどのOSと
同等にGeckoの移植対象プラット
フォームの一つとして定義され
ている
• Gonkは現状唯一B2Gの要求を満
たすプラットフォーム
– 他のOSでは必要な権限が得られな
い
• Gonkで使用されるOSはAOSP
Linux
• B2G/gonk-miscやB2G/gecko配下
にコードが散在している
GAIAについて少し詳しく
Gaiaの全体像
• Gaiaのアプリ (以下内部アプリ)
はUIや基本機能を提供する
• 内部アプリは大きく分けて
Chromeプロセスで動くアプリと
Contentプロセスで動くアプリに
分けられる
アプリの権限
• アプリには利用できるAPIの範囲
が異なる権限タイプが存在する
– web権限 (ホスト型アプリ/単純な
パッケージ型アプリ)
– trusted権限 (信頼されたホスト型ア
プリ)
– privileged権限 (特権型アプリ)
– certified権限 (内部アプリ)
権限 概要
Web権限
基本的な権限
ハードウェアにアクセスするAPIやプライ
バシーにかかわるAPIが使えない
Trusted権限
V2.1から追加された権限
一部のユーザに許可を求めるタイプの
APIを使用できる
Privileged権限
事業者に関わる課金、重大なプライバ
シー/セキュリティインシデントが予想さ
れるものを除いたAPIが使用できる権限
Certified権限
キャリアやメーカがプリインアプリでのみ
使用可能な権限
すべてのAPIを使用できる
ChromeプロセスとContentプロセス
• 内部アプリは特権的な機能を利
用するため認証 (certified) 権限を
持つ
• Geckoの制約上特権的APIは特権
的なプロセスでないと実行でき
ない
• この特権的なプロセスをChrome
プロセスと呼ぶ
Gaia
Gecko
Chrome
プロセス
Content
プロセス
APIs
(Interface)
APIs
(Implement)
API呼び出し
ChromeプロセスとContentプロセス
• 内部アプリの大部分を含む一般
的なアプリでは特権的でない
Contentプロセスで動作する
• Contentプロセスで動作するアプ
リでもアプリマニフェストで宣
言し、ユーザに許可された機能
についてはAPIの使用を許可され
る
Gaia
Gecko
Chrome
プロセス
Content
プロセス
APIs
(Interface)
APIs
(Implement)
アプリのヒエラルキー
• Firefox OSのアプリは少数の
Chromeプロセスアプリと多数の
Contentプロセスアプリからなる
• Firefox OSで実行されるアプリは
Systemアプリの子プロセスとし
て実行される
• 子プロセスはContentプロセスと
して起動される
Gaia
Gecko
Chrome
プロセス
Content
プロセス
APIs
(Interface)
APIs
(Implement)
Chromeプロセスで動くアプリ
• Chromeプロセスで動くアプリと
しては以下のものが挙げられる
– Systemアプリ
– Settingsアプリ
– ブラウザアプリ
– キーボードアプリ
– 検索アプリ
• これらのアプリにはSystemアプ
リの一部として動作するものも
ある
System Settings
ブラウザ キーボード
検索
Systemアプリ
• アプリの管理とか共通して使わ
れるUIを管理するアプリ
• Firefox OSで見た目のあるアプリ
すべての親
– 見た目がないアプリもいくつかぶら
下がっている
• アプリ起動時のアニメーション
やアプリの切り替えなども
Systemアプリの管轄
• ソースコードは
B2G/gaia/apps/system
• B2G/gaia/sharedとかAPIの実装と
かいろいろ見ることになるので
楽しい
Settings
ブラウザ キーボード
検索
System
Settingsアプリ
• 特定のアプリによらない設定を
行うアプリ
• 端末設定を変更するのは特権的
機能なのでChromeプロセスで動
作する
• Systemアプリが提供している機
能の設定はSettingsアプリの仕事
となる
ブラウザ キーボード
検索
System Settings
今日は省略
ブラウザアプリ
• その名の通りブラウザアプリ
• webブラウズだけでなくアプリの
インストール経路にもなるので
特権的な位置づけにある
Settings
キーボード
検索
System
ブラウザ
今日は省略
キーボードアプリ
• ユーザが文字入力を行うための
アプリ
• ここではキーボードそのもので
はなくキーボードが動作するフ
レームワークになる部分を指し
ている
• 実際操作される部分はユーザが
選択可能であり作成可能である
Settings
ブラウザ
検索
System
キーボード
今日は省略
検索
• ホーム画面上部にある検索ボッ
クス
• v2.1からはアプリ起動中もステー
タスバーに常駐するようになっ
た
• 検索ボックスもアプリのインス
トール経路になるので特権的な
位置づけになる
Settings
ブラウザ キーボード
System
検索
今日は省略
Contentプロセスで動くアプリ
• Contentプロセスで動くアプリは
多数あるが大別すると以下の二
つ
– プリインアプリ (内部アプリ)
– ユーザアプリ
プリインアプリ
ユーザアプリ
プリインアプリ
• ダイアラやメッセージングなど
の工場出荷状態でインストール
済みのアプリ
• 一部の特権アプリを除いてほぼ
認証権限を持つ
• 一般の開発者によるアプリも採
用されることがある
ユーザアプリ
プリインアプリ
ユーザアプリ
• ユーザアプリは出荷後にユーザ
によってインストールされるア
プリ
• 基本的には検索やマーケットプ
レイスを通して入手する
プリインアプリ
ユーザアプリ
今日は省略
GECKOについて少し詳しく
Geckoの全体像
• ざっくり分けてブラウザ機能、
通信系、レンダラ、描画系、ス
クリプトエンジン、プラグイン
コンテナ、プラットフォーム固
有層、プラットフォーム抽象化
層で構成される
• 全部は話せないのでざっくり分
けた機能について一言ずつと代
表的な機能の中でも密接な関係
を持っている部分について述べ
る
Gecko
プラットフォーム固有層
プラットフォーム抽象化層
プラグインコンテナ スクリプトエンジン
レンダラ
通信系
ブラウザ機能
Gecko概要
• ブラウザ機能
– 履歴やブラウザコンテキストの管理、
トップレベルオブジェクトの提供な
どを行う
– ソースコードはB2G/gecko/docshell
あたりから読み始める感じ
• 通信系
– 主にプロトコルに応じた処理へディ
スパッチするプロトコルハンドラ、
サーバとの通信を行うチャネル、
URI文字列の構文チェックや正規化
を行うURIオブジェクトを中心概念
として構成される
– ソースコードが割と膨大だけど
B2G/gecko/netwerkあたりにあるの
でがんばれ
Gecko
プラットフォーム固有層
プラットフォーム抽象化層
プラグインコンテナ スクリプトエンジン
レンダラ
通信系
ブラウザ機能
Gecko概要
• レンダラ
– CSSやstyle属性、JSからの操作に
よって決定されるDOMツリーの表
示表現を作り描画系に指示を与える
– ソースコードはB2G/gecko/layoutあ
たり? 自信ない
• 描画系
– プラットフォームに依存しない抽象
化された描画フレームワーク
Moz2D、旧フレームワークの
Thebes、レイヤシステム、APZ
(Asynchronous Pan and Zoom) など
からなる
– ソースコードはB2G/gecko/gfxだけ
ど結構構造が込み合ってるので別
途資料見たほうが良い
Gecko
プラットフォーム固有層
プラットフォーム抽象化層
プラグインコンテナ スクリプトエンジン
通信系
ブラウザ機能
レンダラ
Gecko概要
• スクリプトエンジン
– JavaScriptエンジン、XPConnect
(XPCOM)、WebIDLバインディングな
ど数種類の言語処理系を持つ
– JSエンジンはB2G/gecko/js
– XPCOMはB2G/gecko/xpcom
– WebIDLはB2G/gecko/dom/webidlと
B2G/dom/bindings
• プラグインコンテナ
– Flashプレイヤーなどのサードパー
ティプラグインやDRMシステム、ビ
デオハードウェア、その他埋め込み
オブジェクトなどをブラウザ本体の
プロセスから切り離し影響を最小化
するためのコンテナ機能を提供する
– B2G/gecko/ipc/contentprocあたり参照
Gecko
プラットフォーム固有層
プラットフォーム抽象化層
レンダラ
通信系
ブラウザ機能
プラグインコンテナ スクリプトエンジン
Gecko概要
• プラットフォーム抽象化層
– NSPR、XPCOMなどのクロスプラッ
トフォーム用抽象化ライブラリや文
字列、数などのプラットフォームに
よらず表現を一定にしたいプリミ
ティブなデータ表現を提供する
– B2G/gecko/nsprpubあたり? 自信
なし
• プラットフォーム固有層
– ウィジェット、ファイル、ソケット、
ヒューマンインターフェイスなど低
レイヤ機能
– B2G/gecko/widgetとか
B2G/gecko/network/socketとか
Gecko
プラグインコンテナ スクリプトエンジン
レンダラ
通信系
ブラウザ機能
プラットフォーム固有層
プラットフォーム抽象化層
三大機能と三つのツリー
• ここからはブラウザ機能、レン
ダラ、描画系、スクリプトエン
ジンにまたがるGeckoの主要機能
について述べる
Gecko
プラットフォーム固有層
プラットフォーム抽象化層
プラグインコンテナ
通信系
スクリプトエンジン
レンダラ
ブラウザ機能
三大機能と三つのツリー
• Geckoはブラウザの機能として
HTMLパーザ、JSエンジン、CSS
レンダラを持つ
• これらはそれぞれDOMツリー、
JSオブジェクトツリー、レンダリ
ングツリーという密接に関係し
た三つのツリー構造を持つ
Gecko
プラットフォーム固有層
プラットフォーム抽象化層
プラグインコンテナ
通信系
スクリプトエンジン
レンダラ
ブラウザ機能 HTMLパーザ
JSエンジン
CSSレンダラ
三大機能と三つのツリー
• HTMLがパースされDOMツリーに
なると、DOMツリーと対応した
JSオブジェクトのツリー、DOM
ツリーにCSSやJSによる操作を適
用して描画を行うためのレンダ
リングツリーも連動して生成さ
れる
<html>
<head>
<title> <meta> …
<body>
<header>
…
<section>
… …
HTMLElement
HTMLHeadElem
ent
HTMLTitleEleme
nt
HTMLMetaElem
ent
…
HTMLBodyElem
ent
Element
…
Element
… …
<html>
<body>
<head>
…
<section>
… …
HTMLパーザとDOMツリー
• パーザはHTMLを解釈するとDOM
と呼ばれるツリー上のデータ構
造を構築する
• DOMツリーはHTMLとして記述さ
れた木構造とその構造上のオブ
ジェクトに対する操作、状態を
表したオブジェクト
– JavaScriptから操作することによっ
てHTMLの状態や見た目の状態を変
更することができる
HTMLElement
HTMLHeadElem
ent
HTMLTitleEleme
nt
HTMLMetaElem
ent
…
HTMLBodyElem
ent
Element
…
Element
… …
<html>
<body>
<head>
…
<section>
… …
<html>
<head>
<title> <meta> …
<body>
<header>
…
<section>
… …
JSエンジンとJSオブジェクトツリー
• JSエンジンはHTMLから参照され
ているJavaScriptのソースコード
やscriptタグ内に記述された
JavaScriptを読み込んで実行する
<html>
<head>
<title> <meta> …
<body>
<header>
…
<section>
… …
<html>
<body>
<head>
…
<section>
… …
HTMLElement
HTMLHeadElem
ent
HTMLTitleEleme
nt
HTMLMetaElem
ent
…
HTMLBodyElem
ent
Element
…
Element
… …
<html>
<body>
<head>
…
<section>
… …
JSエンジンとJSオブジェクトツリー
• この時DOMツリーとして構築さ
れた木構造と関連してJavaScript
から操作可能なオブジェクトを
構築していく
– その結果JavaScriptからDOMツリー
を操作したり、何らかの要因で変更
されたDOMツリーに対応して
JavaScriptから参照できるオブジェ
クトの状態も変化する関係が作られ
る
<html>
<head>
<title> <meta> …
<body>
<header>
…
<section>
… …
HTMLElement
HTMLHeadElem
ent
HTMLTitleEleme
nt
HTMLMetaElem
ent
…
HTMLBodyElem
ent
Element
…
Element
… …
レンダラとレンダリングツリー
• レンダラはCSS、style属性、
JavaScriptによる操作などの結果
DOM要素がどのように描画され
るかを計算する
<html>
<head>
<title> <meta> …
<body>
<header>
…
<section>
… …
HTMLElement
HTMLHeadElem
ent
HTMLTitleEleme
nt
HTMLMetaElem
ent
…
HTMLBodyElem
ent
Element
…
Element
… …
<html>
<body>
<head>
…
<section>
… …
レンダラとレンダリングツリー
• レンダラやスタイルシステムは
DOMツリーをもとにスタイルや
JavaScriptによる操作を適用した
描画計算に基づくツリー構造を
作る
– これをレンダリングツリーと呼ぶ
• レンダラにはパイプライン構造
があり、各要素の矩形フレーム
生成、レンダリングツリーの構
築、レイアウト、リフロー、描
画と進む
HTMLElement
HTMLHeadElem
ent
HTMLTitleEleme
nt
HTMLMetaElem
ent
…
HTMLBodyElem
ent
Element
…
Element
… …
<html>
<body>
<head>
…
<section>
… …
<html>
<head>
<title> <meta> …
<body>
<header>
…
<section>
… …
GONKについて少し詳しく
Gonk概要
• GonkはOSや低レベル機能を含む
層
• 基礎的なOSとしてはAOSP Linux
を使っている
• WindowsやLinux、Mac OS Xのよ
うなGeckoの移植対象の一つとし
て開発されている
Gonk
Daemon
Interfaces
HAL
Drivers
Linux
Gonk概要
• 現状Geckoの移植対象OSの中で
は唯一特権的機能にアクセスで
きるため、他のOSでは実現不可
能なAPIなども実装されている
• ここからHAL層とAOSP Linuxにつ
いて少し述べる
Gonk
Daemon
Interfaces
Drivers
Linux
HAL
HAL
• その名の通りハードウェアを抽
象化する層
– GeckoのHALラッパー層で上位に提
供するAPI仕様を満たす制御を行い、
GonkのHAL層はGeckoのHALラッ
パーが要求するインターフェイスを
提供する
– 多くの場合GeckoのHALラッパー層
で非同期処理の制御を行い、Gonk
のHAL層では同期的なAPIを提供し
ている
– 詳しくはB2G/gecko/hal/gonkあたり
読んでみよう
Gonk
Daemon
Interfaces
Drivers
Linux
HAL
AOSP Linux
• Android Open Source Projectに
よってホストされているLinux
• GonkはAOSP Linuxから不要なモ
ジュール (SurfaceFlingerなど) を
取り除きGeckoの要求するHALイ
ンターフェイスを実装したOSで
ある
• ソースコードはB2Gで見るより
AOSPからカーネルを落としてき
た方が見やすい
Gonk
Daemon
Interfaces
HAL
Drivers
Linux
AOSP Linux
• ブートの仕組みはAndroidと同様
にinitがinit.rcを読み込んで記述に
したがって順次プロセスを起動
する
– Firefox OSの場合はinit.b2g.rcという
固有の設定ファイルがinit.rcから参
照されている
– init.b2g.rcの記述にしたがってGecko
を起動しshell.jsという起動用のスク
リプトをGeckoに処理させることで
Firefox OSを起動する
Gonk
Daemon
Interfaces
HAL
Drivers
Linux
全体まとめ
• Firefox OSはGaia、Gecko、Gonkの三層からなる
• Gaiaはユーザの目に触れる部分、ユーザが直接触れる体験を提供する
• Geckoはデスクトップブラウザにも使われてるエンジン。ブラウザに必要な機
能を一通り備えた (=OSの要件を備えた) エンジンをミドルウェアとして利用
している
• GonkはFirefox OSのために作られたOSコア部分。Geckoの移植対象OSでもある
さいごに
• ものすごく駆け足でFirefox OSの全体を一攫いしました
• 各部分だけで何セッションかできる骨太機能の集まりなのでどこを見ても楽
しいですよ!
• Firefox OSコミュニティはまだ若い世界です
• あなたも一緒に盛り上げてみませんか?

More Related Content

What's hot

Firefox OSアーキテクチャクイックツアー
Firefox OSアーキテクチャクイックツアーFirefox OSアーキテクチャクイックツアー
Firefox OSアーキテクチャクイックツアーMasami Yabushita
 
Robotium を使った UI テスト
Robotium を使った UI テストRobotium を使った UI テスト
Robotium を使った UI テスト健一 辰濱
 
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみたYoshiki Shibukawa
 
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門Hironori Sekine
 
剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題AimingStudy
 
iOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクトiOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクトShuichi Tsutsumi
 
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―shinjiigarashi
 
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室Yusuke Ando
 
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方Daisaku Mochizuki
 
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介健一 辰濱
 
Arduino を PHP で制御する
Arduino を PHP で制御するArduino を PHP で制御する
Arduino を PHP で制御するKenichi Ahagon
 
Core Graphics on watchOS 2
Core Graphics on watchOS 2Core Graphics on watchOS 2
Core Graphics on watchOS 2Shuichi Tsutsumi
 
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話Kentaro Matsumae
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情Junichi Ishida
 
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm晃 遠山
 
Firefox FAQ
Firefox FAQFirefox FAQ
Firefox FAQdynamis
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」Yoshiki Shibukawa
 

What's hot (20)

Firefox OSアーキテクチャクイックツアー
Firefox OSアーキテクチャクイックツアーFirefox OSアーキテクチャクイックツアー
Firefox OSアーキテクチャクイックツアー
 
Robotium を使った UI テスト
Robotium を使った UI テストRobotium を使った UI テスト
Robotium を使った UI テスト
 
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた
 
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
 
剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題
 
iOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクトiOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクト
 
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
 
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
 
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
 
Ansible softlayer
Ansible softlayer Ansible softlayer
Ansible softlayer
 
Osoljp201204
Osoljp201204Osoljp201204
Osoljp201204
 
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介
 
Arduino を PHP で制御する
Arduino を PHP で制御するArduino を PHP で制御する
Arduino を PHP で制御する
 
組込み向けRuby処理系mrubyの可能性
組込み向けRuby処理系mrubyの可能性組込み向けRuby処理系mrubyの可能性
組込み向けRuby処理系mrubyの可能性
 
Core Graphics on watchOS 2
Core Graphics on watchOS 2Core Graphics on watchOS 2
Core Graphics on watchOS 2
 
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
 
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
 
Firefox FAQ
Firefox FAQFirefox FAQ
Firefox FAQ
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
 

Viewers also liked

FxOSコードリーディングミートアップ#16 Contacts API読んでみた
FxOSコードリーディングミートアップ#16 Contacts API読んでみたFxOSコードリーディングミートアップ#16 Contacts API読んでみた
FxOSコードリーディングミートアップ#16 Contacts API読んでみたMasami Yabushita
 
マンガで覚える視線誘導 おかわり
マンガで覚える視線誘導 おかわりマンガで覚える視線誘導 おかわり
マンガで覚える視線誘導 おかわりMasami Yabushita
 
Android以外os(OpenWebAppについて)
Android以外os(OpenWebAppについて)Android以外os(OpenWebAppについて)
Android以外os(OpenWebAppについて)Wataru Asai
 
Android Wearアプリ プレビュー版→正式版への移植ガイド
Android Wearアプリ プレビュー版→正式版への移植ガイドAndroid Wearアプリ プレビュー版→正式版への移植ガイド
Android Wearアプリ プレビュー版→正式版への移植ガイドKenichi Kambara
 
KEONとPEAKが無くてもFirefox OS開発出来る
KEONとPEAKが無くてもFirefox OS開発出来るKEONとPEAKが無くてもFirefox OS開発出来る
KEONとPEAKが無くてもFirefox OS開発出来るandroid sola
 
FxOSはウェアラブルデバイスの夢を見るか?
FxOSはウェアラブルデバイスの夢を見るか?FxOSはウェアラブルデバイスの夢を見るか?
FxOSはウェアラブルデバイスの夢を見るか?Masakazu Muraoka
 

Viewers also liked (7)

FxOSコードリーディングミートアップ#16 Contacts API読んでみた
FxOSコードリーディングミートアップ#16 Contacts API読んでみたFxOSコードリーディングミートアップ#16 Contacts API読んでみた
FxOSコードリーディングミートアップ#16 Contacts API読んでみた
 
マンガで覚える視線誘導 おかわり
マンガで覚える視線誘導 おかわりマンガで覚える視線誘導 おかわり
マンガで覚える視線誘導 おかわり
 
Android以外os(OpenWebAppについて)
Android以外os(OpenWebAppについて)Android以外os(OpenWebAppについて)
Android以外os(OpenWebAppについて)
 
Android Wearアプリ プレビュー版→正式版への移植ガイド
Android Wearアプリ プレビュー版→正式版への移植ガイドAndroid Wearアプリ プレビュー版→正式版への移植ガイド
Android Wearアプリ プレビュー版→正式版への移植ガイド
 
KEONとPEAKが無くてもFirefox OS開発出来る
KEONとPEAKが無くてもFirefox OS開発出来るKEONとPEAKが無くてもFirefox OS開発出来る
KEONとPEAKが無くてもFirefox OS開発出来る
 
FxOSはウェアラブルデバイスの夢を見るか?
FxOSはウェアラブルデバイスの夢を見るか?FxOSはウェアラブルデバイスの夢を見るか?
FxOSはウェアラブルデバイスの夢を見るか?
 
SPAと覚悟
SPAと覚悟SPAと覚悟
SPAと覚悟
 

Similar to Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版

できる!スマホアプリ:Webからはじまるアプリ for CMU16
できる!スマホアプリ:Webからはじまるアプリ for CMU16できる!スマホアプリ:Webからはじまるアプリ for CMU16
できる!スマホアプリ:Webからはじまるアプリ for CMU16Masami Yabushita
 
できる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリできる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:WebからはじまるアプリMasami Yabushita
 
Fx OS n2_aoitan_firefox osことはじめ
Fx OS n2_aoitan_firefox osことはじめFx OS n2_aoitan_firefox osことはじめ
Fx OS n2_aoitan_firefox osことはじめMasami Yabushita
 
N29 aoitan firefox osことはじめ
N29 aoitan firefox osことはじめN29 aoitan firefox osことはじめ
N29 aoitan firefox osことはじめMasami Yabushita
 
自社製品のバージョン管理 進化と問題解決の道のり
自社製品のバージョン管理 進化と問題解決の道のり自社製品のバージョン管理 進化と問題解決の道のり
自社製品のバージョン管理 進化と問題解決の道のりStudy Group by SciencePark Corp.
 
関東Firefox OS勉強会6th「Firefox OS」
関東Firefox OS勉強会6th「Firefox OS」関東Firefox OS勉強会6th「Firefox OS」
関東Firefox OS勉強会6th「Firefox OS」Noritada Shimizu
 
20150118 firefoxos-handson-helloworld
20150118 firefoxos-handson-helloworld20150118 firefoxos-handson-helloworld
20150118 firefoxos-handson-helloworldNoritada Shimizu
 
モバイルOSとWeb標準とそれらへのアプローチ
モバイルOSとWeb標準とそれらへのアプローチモバイルOSとWeb標準とそれらへのアプローチ
モバイルOSとWeb標準とそれらへのアプローチKisato
 
2014年のChefとInfrastructure as code
2014年のChefとInfrastructure as code2014年のChefとInfrastructure as code
2014年のChefとInfrastructure as codeYukihiko SAWANOBORI
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menusharoid
 
神戸ITフェスティバル2013「Firefox開発ツールコレクション」
神戸ITフェスティバル2013「Firefox開発ツールコレクション」神戸ITフェスティバル2013「Firefox開発ツールコレクション」
神戸ITフェスティバル2013「Firefox開発ツールコレクション」Noritada Shimizu
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshopYoichiro Sakurai
 
Osc2009tokyofall xoops groupware
Osc2009tokyofall xoops groupwareOsc2009tokyofall xoops groupware
Osc2009tokyofall xoops groupwareYoshi Sakai
 
Firefox OSの何が嬉しいか
Firefox OSの何が嬉しいかFirefox OSの何が嬉しいか
Firefox OSの何が嬉しいかTakao Sumitomo
 
20141018 osc tokyo_fall_firefox osってなぁに?
20141018 osc tokyo_fall_firefox osってなぁに?20141018 osc tokyo_fall_firefox osってなぁに?
20141018 osc tokyo_fall_firefox osってなぁに?Masami Yabushita
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理Tadashi Miyazato
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト健一 辰濱
 
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編Yoshito Tabuchi
 

Similar to Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版 (20)

できる!スマホアプリ:Webからはじまるアプリ for CMU16
できる!スマホアプリ:Webからはじまるアプリ for CMU16できる!スマホアプリ:Webからはじまるアプリ for CMU16
できる!スマホアプリ:Webからはじまるアプリ for CMU16
 
できる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリできる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリ
 
Fx OS n2_aoitan_firefox osことはじめ
Fx OS n2_aoitan_firefox osことはじめFx OS n2_aoitan_firefox osことはじめ
Fx OS n2_aoitan_firefox osことはじめ
 
N29 aoitan firefox osことはじめ
N29 aoitan firefox osことはじめN29 aoitan firefox osことはじめ
N29 aoitan firefox osことはじめ
 
Firefox OS アプリ開発
Firefox OS アプリ開発Firefox OS アプリ開発
Firefox OS アプリ開発
 
自社製品のバージョン管理 進化と問題解決の道のり
自社製品のバージョン管理 進化と問題解決の道のり自社製品のバージョン管理 進化と問題解決の道のり
自社製品のバージョン管理 進化と問題解決の道のり
 
関東Firefox OS勉強会6th「Firefox OS」
関東Firefox OS勉強会6th「Firefox OS」関東Firefox OS勉強会6th「Firefox OS」
関東Firefox OS勉強会6th「Firefox OS」
 
20150118 firefoxos-handson-helloworld
20150118 firefoxos-handson-helloworld20150118 firefoxos-handson-helloworld
20150118 firefoxos-handson-helloworld
 
モバイルOSとWeb標準とそれらへのアプローチ
モバイルOSとWeb標準とそれらへのアプローチモバイルOSとWeb標準とそれらへのアプローチ
モバイルOSとWeb標準とそれらへのアプローチ
 
2014年のChefとInfrastructure as code
2014年のChefとInfrastructure as code2014年のChefとInfrastructure as code
2014年のChefとInfrastructure as code
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menu
 
Softlayer勉強会#2
Softlayer勉強会#2Softlayer勉強会#2
Softlayer勉強会#2
 
神戸ITフェスティバル2013「Firefox開発ツールコレクション」
神戸ITフェスティバル2013「Firefox開発ツールコレクション」神戸ITフェスティバル2013「Firefox開発ツールコレクション」
神戸ITフェスティバル2013「Firefox開発ツールコレクション」
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
 
Osc2009tokyofall xoops groupware
Osc2009tokyofall xoops groupwareOsc2009tokyofall xoops groupware
Osc2009tokyofall xoops groupware
 
Firefox OSの何が嬉しいか
Firefox OSの何が嬉しいかFirefox OSの何が嬉しいか
Firefox OSの何が嬉しいか
 
20141018 osc tokyo_fall_firefox osってなぁに?
20141018 osc tokyo_fall_firefox osってなぁに?20141018 osc tokyo_fall_firefox osってなぁに?
20141018 osc tokyo_fall_firefox osってなぁに?
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
 

More from Masami Yabushita

Idlリーディング xpidl編
Idlリーディング xpidl編Idlリーディング xpidl編
Idlリーディング xpidl編Masami Yabushita
 
Idlリーディング webidl編
Idlリーディング webidl編Idlリーディング webidl編
Idlリーディング webidl編Masami Yabushita
 
Meetup11 contacts api読んでみた
Meetup11 contacts api読んでみたMeetup11 contacts api読んでみた
Meetup11 contacts api読んでみたMasami Yabushita
 
ちょっとapiかいてみた
ちょっとapiかいてみたちょっとapiかいてみた
ちょっとapiかいてみたMasami Yabushita
 
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版Masami Yabushita
 
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうかわんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうかMasami Yabushita
 
バッテリー監視の為にバックグラウンドタスクについて調べたらなくなってたから作ってみた話のはずだった
バッテリー監視の為にバックグラウンドタスクについて調べたらなくなってたから作ってみた話のはずだったバッテリー監視の為にバックグラウンドタスクについて調べたらなくなってたから作ってみた話のはずだった
バッテリー監視の為にバックグラウンドタスクについて調べたらなくなってたから作ってみた話のはずだったMasami Yabushita
 
バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話
バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話
バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話Masami Yabushita
 
Fx osコードリーディングの紹介
Fx osコードリーディングの紹介Fx osコードリーディングの紹介
Fx osコードリーディングの紹介Masami Yabushita
 
ちょっとapiかいてみた
ちょっとapiかいてみたちょっとapiかいてみた
ちょっとapiかいてみたMasami Yabushita
 

More from Masami Yabushita (10)

Idlリーディング xpidl編
Idlリーディング xpidl編Idlリーディング xpidl編
Idlリーディング xpidl編
 
Idlリーディング webidl編
Idlリーディング webidl編Idlリーディング webidl編
Idlリーディング webidl編
 
Meetup11 contacts api読んでみた
Meetup11 contacts api読んでみたMeetup11 contacts api読んでみた
Meetup11 contacts api読んでみた
 
ちょっとapiかいてみた
ちょっとapiかいてみたちょっとapiかいてみた
ちょっとapiかいてみた
 
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
 
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうかわんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
 
バッテリー監視の為にバックグラウンドタスクについて調べたらなくなってたから作ってみた話のはずだった
バッテリー監視の為にバックグラウンドタスクについて調べたらなくなってたから作ってみた話のはずだったバッテリー監視の為にバックグラウンドタスクについて調べたらなくなってたから作ってみた話のはずだった
バッテリー監視の為にバックグラウンドタスクについて調べたらなくなってたから作ってみた話のはずだった
 
バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話
バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話
バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話
 
Fx osコードリーディングの紹介
Fx osコードリーディングの紹介Fx osコードリーディングの紹介
Fx osコードリーディングの紹介
 
ちょっとapiかいてみた
ちょっとapiかいてみたちょっとapiかいてみた
ちょっとapiかいてみた
 

Recently uploaded

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Recently uploaded (9)

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版

Editor's Notes

  1. Gecko以下はプロファイルに対してほぼ差がない v2.2時点でphone、tablet、tvのプロファイルが存在する
  2. ブラウザアドオンなどの世界ではUIを制御したりブラウザ内部でのみ使用を許されているAPIを実行するためのプロセスをChromeプロセスと呼んでいる
  3. 権限については後述 この場合も実際にはChromeプロセスへの要求であり、APIの実行はChrome権限を持ったプロセス上で行われる この構造はContentプロセスのアプリがプラグインコンテナのような仕組みで動いていることに由来する
  4. マーケットにプリインアプリとして使用していいアプリとして申請するとメーカーへの採用がPRできる
  5. 通信系:Neckoとも呼ばれる
  6. 描画系:詳しい話をするとここだけでセッション一つできちゃう楽しい機能 描画系:非同期描画向けの部分にいろいろあって闇が深い
  7. プラットフォーム抽象化層:NSPRはプラットフォーム固有機能をラップし抽象化された低レベル操作を提供するライブラリ プラットフォーム抽象化層:XPCOMはMSCOMのようなオブジェクトモデルを提供する。オブジェクトの検索、ガーベージコレクトなどの機能を備える プラットフォーム固有層:ここで言うウィジェットはwindowオブジェクトの汎化概念
  8. HTMLはツリー構造のシリアライゼーションでありDOMはそのメモリ上の表現
  9. Firefox OSでは多くのハードウェアアクセスAPIを提供しているのでGeckoのHALラッパー、プラットフォーム固有のHALのお決まりの作りを知っておくのは悪いことではない