Try Firefox OS
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Try Firefox OS

  • 2,689 views
Uploaded on

KOF 2013 で使用したスライド ...

KOF 2013 で使用したスライド
https://k-of.jp/2013/

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,689
On Slideshare
2,607
From Embeds
82
Number of Embeds
1

Actions

Shares
Downloads
6
Comments
0
Likes
7

Embeds 82

https://twitter.com 82

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Firefox OS Product Summary by Tomoya Asai (dynamis)
  • 2. about:me
  • 3. Tomoya ASAI Mozilla Japan Technical Marketing (Evangelist) dynamis @ community dynamis.jp @dynamitter facebook.com/dynamis mailto: Tomoya ASAI <dynamis@mozilla-japan.org>
  • 4. Firefox OS
  • 5. アプリのグリッド表示 ホーム画面
  • 6. 写真の編集画面 写真ギャラリー
  • 7. ビデオ再生アプリ 音楽再生アプリ
  • 8. メールアプリ アドレス帳
  • 9. Firefox Marketplace Firefox
  • 10. ! Firefox OS - Web is the Platform Web = アプリ環境 アプリはすべて Web 技術で ドメイン = アプリの1:1対応 Web を進化させる 不足機能は API を定義・標準化 Web のセキュリティモデルなど も実装・標準化していく
  • 11. Web 技術をネイティブに Web 技術が「ネイティブ」 HTML/CSS/JS ですべて可能に 新しい API は W3C 標準化 速度も C 言語に迫る asm.js により大幅高速化を実現 WebGL や DOMCrypt なども活用 Web 技術だけですべてが済むプラットフォームとなるよう発展中
  • 12. Khronos other WebG L WHATWG HTML5 Parser Web Messaging Mouse, Key ev. W3C HTML5 XHTML5 Geolocation SVG Canva s Multi Media HTML5 Forms SMIL Web Sockets Offline Support MicroData OGP Math ML IETF Web Sockets SPDY XHR2 DOM4 DNT FileAP I ECMA Script CSP ECMA Indexed DB Web Storage Web Workers HTML RSS Orientation ServerSent ev. WAIARIA Semantic Elements Vibration Layou t Media Queries CSS3~ Trans form XPath Anim ation WOFF Region s Filters
  • 13. Khronos WebC L other WebG L WHATWG HTML5 Parser Web Messaging Mouse, Key ev. W3C HTML5 XHTML5 Geolocation SVG Canva s Multi Media HTML5 Forms SMIL Offline Support MicroData OGP RSS RDF Math ML DOM4 Opus H.264 Web Sockets Web Audio Web RTC IETF SPDY XHR2 CSP ECMA Indexed DB Layou t CSS3~ Trans form XPath Anim ation WOFF Flex Box Region s Filters Net Info Tel Radio NFC ECMA 6th Web SQL Media Queries Notification TCP Socket DNT FileAP I ECMA Script Web Storage Web Workers HTML Schema .org Orientation Web Sockets MP3 Webm ServerSent ev. WAIARIA Semantic Elements Vibration Device Storage File Sys Proximity USB Battery Status
  • 14. ステータスバー (通知、
 電波強度、電池残量...)も カメラやラジオも ビデオや音楽の再生も マーケットプレイスも システムの環境設定も ホーム画面や壁紙も 電話や SMS の送受信も もちろん ブラウザ も その他なんでも... すべて Web 技術で!
  • 15. Firefox OS : Tizen : Android Web に最適化 シンプル&スマート Web アプリ Packaged Webアプリ Web Platform DeviceAPI SystemAPI Web アプリ Web アプリ Native アプリ Web Native Framework Framework DeviceAPI OS ブラウザ アプリ Java アプリ Native Library App Framework Dalvik WebRT etc.. Android Runtime WebKit X.org etc. WebKit Native Interface SGL etc. Gecko コアサービス ライブラリ カーネル & HAL カーネル & HAL カーネル & HAL 左上のアプリが Web 読み込み型、右上のアプリがダウンロード型
  • 16. C 言語に迫る高速化 (asm.js) asm.js 導入時点で JavaScript は C の 2 倍遅い程度 (Java や C# の処理速度と同程度以上の水準に) 2013/03 - http://kripken.github.io/mloc_emscripten_talk/#/19
  • 17. C 言語に迫る高速化 (asm.js) Firefox の JavaScript (asm.js 形式) コード実行速度は C 言語より数割遅い程度まで迫ってきている 2013/09 - http://kripken.github.io/mloc_emscripten_talk/sloop.html#/7
  • 18. 実レベル: Box2D 物理演算エンジン Box2D では C 言語の 2 倍遅い程度の速度 ! Chrome や IE でも通常の JS より asm.js が高速 Java や CrossBridge (Flash C++ Compiler) と同等以上 2013/07 - http://kripken.github.io/mloc_emscripten_talk/sloop.html#/8
  • 19. 実用例: Unreal Engine 3 100 万行以上の C & OpenGL コードを 5 日で移植 LLVM + Emscripten で JavaScript (asm.js) に変換 epic CITADEL http://www.unrealengine.com/html5/
  • 20. ! 多数企業との共同開発・製品化 主要 18 キャリアが賛同 KDDI, Telefónica, Deutsche Telekom、Telenor... チップ&端末メーカー Qualcomm, ARM ZTE, Alcatel, LG, Huawei, Sony Foxconn... もちろん発表している企業がすべてではない
  • 21. 7月、8月に最初の販売開始 7月2日にスペインで発売 Telefónica が ZTE Open を発売 €69 (税込) プリペイド €30 含む 順次世界各国に展開 7月12日にポーランドで発売 8月1日にコロンビア、ベネズエラ まずは今後の成長が見込まれる新興国市場を中心に展開 (キャリアの戦略)
  • 22. ワルシャワやマドリッドでは…
  • 23. ZTE Open & Alcatel One Touch Fire
  • 24. ! ZTE Open 主な仕様: Size: 114 x 62 x 12.5 mm
 Display: 3.5 inch HVGA
 CPU: MSM7225A 1 GHz
 (Cortex-A5, Adreno 200)
 RAM: 256 MB
 ROM: 512 MB スペインなどで発売 http://www.ztedevices.com/product/smart_phone/2bcf2d56-0c9a-4129-a25c-
  • 25. ! Alcatel One Touch Fire 主な仕様: Size: 115 x 62.3 x 12.2 mm
 Display: 3.5 inch HVGA
 CPU: MSM7227A 1 GHz
 (Cortex-A5, Adreno 200)
 RAM: 256 MB
 ROM: 512 MB ポーランドなどで発売 http://www.alcatelonetouch.com/global-en/products/smartphones/one_touch_fire.html
  • 26. 10月から更に多くの市場へ展開 Firefox OS 1.1 端末のリリース Telefónica 10/22: ブラジル
 10/31: メキシコ、ペルー、ウルグアイ Deutsche Telekom ドイツ、ギリシャ、ハンガリー Telenor ハンガリー、セルビア、モンテネグロ 日本や北米では 2013~2014 年中の見込み http://mozilla.jp/blog/entry/10310/
  • 27. LG Fireweb (D300) 主な仕様: Size: 113.8 x 66.5 x 9 mm
 Display: 4 inch HVGA
 CPU: 1 GHz (型番未確認)
 Memory: 2 GB (4GB?) ブラジルなどで発売 http://www.vivo.com.br/firefoxos/
  • 28. Firefox OS ロードマップ 12 週間毎にアップデート 既存端末も順次更新される Firefox OS 1.2 Android 4.3 × Firefox 26 ベース Firefox OS 1.3 WebRTC, NFC, DataStore etc UX 刷新プロジェクト進行中 https://wiki.mozilla.org/B2G/Roadmap
  • 29. App Manager & Simulator
  • 30. アプリマネージャ アプリ開発・管理環境 Firefox 標準搭載の開発環境 Firefox Nightly などに搭載済み シュミレータ・実機両対応 Firefox OS 1.2 以降の実機またはシュ ミレータと接続して開発 10 月時点で Firefox OS 1.2, 1.3 の シュミレータが公開中 リリース版やベータ版には未搭載ですので Nightly で開発してください
  • 31. アプリマネージャ Web アプリ開発統合環境が Firefox 26 から標準搭載 アプリのインストールやリモートデバッグも
  • 32. アプリマネージャ Web Developer → App Manager メニューで起動 ヘルプのリンクからシュミレータをインストール
  • 33. アドオンをインストール Firefox OS 1.2, 1.3 の Simulator と ADB Helper https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/
  • 34. シュミレータを起動 画面下部の [Start Simulator] ボタンで起動 起動したいバージョンを選択
  • 35. Firefox OS 1.2 Simulator デフォルトホームにアプリ検索フォームが移動
  • 36. Firefox OS 1.3 Simulator カテゴリ別アプリフォルダ復活
  • 37. Apps Dev
  • 38. Firefox OS のアプリ開発 Web アプリです。 Web アプリです。 Web アプリです。 ! ! 大事なこと3回
  • 39. Firefox OS のアプリ開発 いつもの開発ツール いつものエディタ いつものライブラリ
  • 40. アプリ開発の流れ 普通に Web 開発 アプリマネージャ or Firebug etc. manifest ファイルを用意 メタ情報を JSON 形式で記載 シミュレータや実機テスト Android Firefox でもテスト https://github.com/dynamis/firefoxos/wiki/simulator
  • 41. アプリ情報ファイル書くだけ サイト + manifest.webapp 1. manifest.webapp 作成 アプリ情報書くだけで終了
  • 42. ! アプリ情報 (manifest.webapp) https://developer.mozilla.org/en-US/docs/Apps/Manifest
  • 43. 独自アプリのインストール Apps パネル左下の Add ∼ App から追加 新規アプリ開発はここからしましょう
  • 44. 独自アプリの管理 UPDATE ボタンで端末のアプリを更新 DEBUG ボタンでリモートデバッグ開始
  • 45. いろいろ 作ってみてね!
  • 46. Appendix
  • 47. Install on Android
  • 48. Android に Web アプリ環境を Web App = Native App に ホームスクリーンへの追加 独立してフル画面起動 ネイティブ同様の利用体験 Firefox = WebRT (RunTime) OS に依らない Web アプリ環境 ホームにインストール、アプリを起動した画面、マーケットをブラウズ
  • 49. Android 版 Firefox で動作確認 1. インストールページ用意 2. Firefox でページを開く 3. アプリをインストール 4. アプリを起動してテスト アプリマネージャは未対応 Hosted App なら Android Firefox で直接アプリを開いてテストするのもアリ
  • 50. インストールページを作る install() 関数を使う var Apps = navigator.mozApps;
 Apps.install(url) manifest ファイル URL を渡す その他の Apps API: Apps.getSelf(), Apps.getInstalled() Apps.installPackage(url) https://developer.mozilla.org/en-US/docs/Apps/Apps_JavaScript_API
  • 51. navigator.mozApps.install ! https://developer.mozilla.org/en-US/docs/Apps/Apps_JavaScript_API
  • 52. Hosted App & Packaged App
  • 53. 2つの方式のアプリ Hosted (Web 読み込み型) 従来の OS ではブラウザ上で動作 動作や権限は従来の Web と同じ オフライン対応アプリも開発可能 Hosted
 Web アプリ Server Internet Packaged (ダウンロード型) 従来のスマホアプリに相当する マーケット審査を経て追加権限取得 サイト全体を ZIP して配布する形式 端末 Packaged Web アプリ 詳細: https://developer.mozilla.org/ja/docs/Web/Apps/Packaged_apps
  • 54. ZIP して Packaged App に ZIP + package.manifest 1. manifest.webapp 作成 Hosted Apps の時と同じ 2. サイト全体を ZIP する manifest.webapp も含める 3. package.manifest を作成 mini manifest が別途必要
  • 55. ! mini manifest (package.manifest) https://developer.mozilla.org/en-US/docs/Web/Apps/Packaged_apps
  • 56. インストールページ (Packaged) installPackage() 関数を使う var Apps = navigator.mozApps;
 Apps.installPackage(url) mini manifest URL を渡す https://developer.mozilla.org/en-US/docs/Apps/Apps_JavaScript_API
  • 57. ! navigator.mozApps.installPackage ! https://developer.mozilla.org/en-US/docs/Apps/Apps_JavaScript_API
  • 58. More about App Dev
  • 59. アプリ開発の注意事項 ブラウザ機能はない 戻るボタンはありません 別ドメインには別ウィンドウで Firefox 1.1 からは UI 追加可能 Content Security Policy Privileged 以上では CSP 必須 制限緩和は許可されていません Firefox OS 1.1 からは manifest の chrome で戻るなどのボタン追加可能(非推奨)
  • 60. Simulator では使えない API Telephony WebSMS WebBluetooth Ambient Light Proximity Network Information Vibration オフラインイベント タッチイベントはエミュレーションされますが他のハード依存は未対応
  • 61. アプリの種類と権限 ブラウザと一緒が基本 追加権限を求めない限りブラウ ザ内でできることと一緒 権限に応じた制限 SD カード読み書きなどの権限を 得るには Package アプリとして Marketplace での審査が必要
  • 62. Firefox OS でのアプリの分類 方式 種類 概要 Web Content Web サイトそのもの。
 ブラウザ内でアクセスして使う。 (Web から 読み込む) Installed Web Web サイトをインストールしたもの。 ブラウザの UI なしで単独起動する。 Packaged Plain Packaged Web サイト全体を ZIP パッケージにし ているが追加権限を要求しないもの Privileged マーケット審査を受けて追加の権限を 許可されたアプリ Certified 通信事業者や端末メーカーが特別に高 い権限を許可している組み込みアプリ Hosted ! ! (従来の OS 同 様端末にイン ストールする)
  • 63. アプリの分類と権限 種類 利用可能な API 例 Web Content PC や Android 等のブラウザでできることそのまま 位置情報、画面方向、加速度・近接・環境光センサー、 電池情報、振動、データベース (IndexedDB) など Installed Web OS に登録することでアラーム、Push 通知、Web Activities などの API が使えるようになる Plain Packaged 追加 API なし (Installed Web と同じ権限) Privileged アドレス帳、SD カードの読み書き、CORS に関わらず任 意ドメインへの XHR、TCP Socket Certified 電話、SMS、ボイスメールなど料金の発生するサービス
 その他 Bluetooth、Background Service など
  • 64. Content Security Policy Same Origin Policy (同一生成源ポリシー) ● 従来からの Web のセキュリティポリシー ● スクリプトからは他のドメインにアクセス不可
 (CORS で明示的に許可しているドメインは除く) ● ドメイン=セキュリティ境界=アプリの境界 Content Security Policy ● 安全性を高める新しいセキュリティポリシー ● JavaScript、CSS、画像、オブジェクト、フォントなど
 ファイルの種類毎にドメイン制限が可能 ● インラインスクリプト禁止により XSS も防止可能 詳細: https://developer.mozilla.org/en-US/docs/Security/CSP
  • 65. アプリの種類と CSP 設定 Privileged, Certified アプリは CSP 必須 ● Web から JavaScript を直接読み込んで実行できない ● Privileged アプリのデフォルト: default-src *; script-src 'self'; object-src 'none'; style-src 'self' 'unsafe-inline' ● Certified アプリのデフォルト: default-src *; script-src 'self'; object-src 'none'; style-src 'self' ● JavaScript、CSS、オブジェクトファイルはパッケージ外か ら読み込み不可能 (画像埋め込みは可能) という設定 CSP 設定変更は Manifest に記載 ● 厳格化はできても緩和する設定は許可されないことに注意 詳細: https://developer.mozilla.org/ja/docs/Web/Apps/Packaged_apps
  • 66. Building Blocks
  • 67. Building Blocks (UI 部品) Gaia (Firefox OS 標準) Apps のデザインを簡単に作れる http://buildingfirefoxos.com/ 使っても使わなくても OK 好きな SDK/Library 使える 自由な Web ですから! http://buildingfirefoxos.com/