SlideShare a Scribd company logo
1 of 91
Download to read offline
Firefox OS: Blaze Your Own Path
       Slides @ ABC 2013 Spring
       by Tomoya Asai (dynamis)


                             Last Update: 2013/03/16
FFiirreeffooxx  OOSS  で
AAnnddrrooiidd  端末の
世界が広がる!?
about:me
about:dynamis

           Lesser Panda @ Mozilla
               http://dynamis.jp

                @dynamitter
            facebook.com/     dynamis
               レッサーパンダが好き。

       mailto: Tomoya ASAI <dynamis@mozilla-japan.org>
Topics
本日のトピック

ぼくおやつ   Background
担当ねっ!
        Overview
        Build & Flash
        App Dev
        Marketplace
about:foxkeh


       今日もプレゼンを手伝って
     くれるフォクすけを紹介します
ぼくフォクすけ




   いつか僕も Firefox みたいな
   立派なブラウザになるんだ!
サーバ (Apache Camel) の上にクライアント (Firefox)
君と一緒にお出
     かけしたいな!


ぼくのステッカーを君の
PC とスマホに貼ってね!
Background
独自プラットフォーム

    ネイティブアプリ
     機能も速度もネイティブ優先
    アプリエコシステム
     制限多くビジネスの自由度低い
    WebView + 独自 API
     Web はサブセット扱い
独自プラットフォーム


 i       a        f       c




プラットフォーム毎に異なる言語で個別の専用アプリを作る必要がある
独自プラットフォームの課題

    プラットフォーム依存
     それぞれ異なる言語や API
    不透明な継続性・再利用性
     ベンダー依存の運命共同体
    Fragmentation・実装依存
     同一プラットフォームでも非互換
独自プラットフォームの課題

    プラットフォーム依存
     それぞれ異なる言語や API
    不透明な継続性・再利用性
     ベンダー依存の運命共同体
    Fragmentation・実装依存
     同一プラットフォームでも非互換
Fragmentation...




http://i0.wp.com/cerebrux.files.wordpress.com/2012/09/
                                     androidclones.jpg
"HTML5" への期待

      次世代プラットフォーム
       Web 技術で何でも可能に
      Web アプリ開発を簡単に
       API の充実と互換性確保
      マルチデバイス対応
       開発言語や API の共通化
Web が共通プラットフォーム




                プラットフォーム
                  としての Web




Web がプラットフォームなら業界標準技術でアプリ環境が統一される
標準技術 のオープンな世界
      vs
独自技術 による囲い込み


    「ブラウザ戦争」の時代はとっくに終わりました
HTML5 = WebKit の方が良い?

       それどの WebKit?
        IE6 vs IE10 以上に違う現実
       その API と実装で大丈夫?
        複数実装でより良い標準に
       イノベーションは競争から
        独占が進化を止めてたよね…
HTML5 = WebKit の方が良い?

       それどの WebKit?
        IE6 vs IE10 以上に違う現実
       その API と実装で大丈夫?
        複数実装でより良い標準に
       イノベーションは競争から
        独占が進化を止めてたよね…
I am sad that the Web didn t handle small screens ̶
     and later, touch UI ̶ that well. ... snip ...
For touch, though, I wish we had done a better job of
mapping the UI to the Web s generic events. A touch
  gets mapped to a click event easily enough, but
drag-and-drop never got mapped, pinch gestures
 didn t get mapped to wheel events, etc. Mainly I
 think this is because the first truly successful touch
  browser set the standard, and it was developed
mostly in secret with a small team many of whom,
     as I understand it, weren t Web veterans.
                        Ian Hickson のインタビューより
独占やクローズド仕様は残念…

    タッチイベントが残念…
     ドラッグ&ドロップは?
     ピンチとホイールの対応は?
    密室で作られたから…
     最初の人気タッチブラウザ実装
     Web 技術知らない奴らが作った



         オープンな標準は世界の英知の結晶
オープンな環境と競争で
イノベーションを加速!



     オープンと競争は革新の源泉
Overview
FFiirreeffooxx  OOSS  って
   どんな感じ?



               フォクすけもわくわく。
Firefox OS = Boot to Gecko

          Gecko エンジンだけ起動
           Kernel 上に Gecko (Web Engine)
           Java VM など不要な部分は削除
          HAL 層は Android と共通
           Linux 部分で独自性は必要ない
           Android と同じエコシステム



                 プロジェクト名は今でも Boot to Gecko
WHAT IS FIREFOX OS?
HOW IS IT DIFFERENT FROM ANDROID
             シンプル&スマート
                           Firefox OS
       Android

    Web Browser/
      Platform

                           HTML5 User
      Native API-          Experience/
       based UI
                            Content
                           Web Engine/
          APIs              Standard
                           Device APIs
        Kernel
    (e.g. Android, iOS,      Kernel
        Win7, etc.)

        Device
      (phone, tablet,        Device
         desktop)



        Web プラットフォームの実行環境としては圧倒的にスマート!
WHAT IS FIREFOX OS:
ARCHITECTURE OVERVIEW
          アーキテクチャ
     Gaia                          Web Content (App)


                                                      Gecko child

             Gecko                 Execution
             Parent                Environment


                                                                       Access Control
             Permission Manager
                                                                       List

    Gecko    Web API

                                                                    Credential   Permissions
             I/O (hardware & data stores)                           Validation   Store


             Boot to Gecko (b2g)




     Gonk    Low-level processes, proxies & daemons
             (rild, mediaserver, netd, etc.)



    Device   Device hardware
Web 技術 = Native

         Web 技術が「ネイティブ」
          HTML/CSS/JS ですべて可能に
          新しい API は W3C 標準化
         速度も Java に追いつく
          単純な演算程度なら既に同程度
          WebGL や DOMCrypt なども活用
          時間の問題だから期待しててね!

   Web 技術だけですべてが済むプラットフォームとなるよう発展中
ステータスバー (通知、
電波強度、電池残量...)も
カメラやラジオも
ビデオや音楽の再生も
マーケットプレイスも
システムの環境設定も
ホーム画面や壁紙も
電話や SMS の送受信も
もちろん ブラウザ も
  その他なんでも...
ステータスバー (通知、
      電波強度、電池残量...)も
      カメラやラジオも
      ビデオや音楽の再生も
      マーケットプレイスも
      システムの環境設定も
      ホーム画面や壁紙も
      電話や SMS の送受信も
      もちろん ブラウザ も
        その他なんでも...

すべて Web 技術で!
2012 年実装 Web API
Alarm                  File Handle         Push Notifications
attention screen       FM Radio            Settings
Archive                IdleAPI             SMS
Audio Policy           Mouse Lock          Screen Orientation
Background Sensor      Mobile Connection   System XHR
Browser                Network Events      TCP Socket
Camera                 Network Stats       Web Telephony
Contacts               Manage              Time Manager
Desktop Notification    Payment             Open Web Apps
Device Storage         Permissions         WiFi Management
Embed Apps             Power Management    などなど...

                    実装状況などのまとめ表: https://wiki.mozilla.org/WebAPI
Next Web API
Background Services              Payment
Bluetooth-***                    Quota
Calendar                         Resource Lock
Database Migration (temp to      Simple Storage
permanent storage)               Social API
FileSystem?                      SPDY Server Push
NFC                              Spellcheck
HTTP-cache                       UDB Datagram Socket
Keyboard/IME                     USB (low-level)
Log                              USB file-reading
MPEG DASH                        WebRTC - Camera
Open Web Apps                    WebRTC - P2P
Parallel Array                   などなど...

                              どこまで今年中にサポートされるか楽しみ!
Firefox OS の魅力

           スリムな HTML5 実行環境
            $100 でもフル機能のスマホを
            今後の高速化もし易い設計
           圧倒的な開発者数
            Web 技術だけですぐアプリ開発
           ハイブリッド権限管理
            インストール時 or 実行時の許可

  急速な高速化が続き、型推論の効く処理は既に Dalvik/Java にも匹敵
開発者の多いプラットフォーム
                    800万人




10万人      45万人

       調査にも依るけど HTML5 開発者の方が圧倒的に多い
Firefox OS とセキュリティ

       ユーザがアプリ権限管理可
        インストール時と実行時に権限を
        許可するハイブリッド方式
        「インストール時に全て許可」で
        はプライバシーは守れなかった
        ユーザが理解できプライバシーな
        どに関わる API は実行時確認
*1
アプリも「ぐぐる」時代へ

          "まずインストール" は古い
           ディレクトリ(分類)だけのマーケ
           ットでは Google のない Web
           Web と Market の横断検索
          動的な Web アプリ環境
           Web はアクセスするだけ
           アプリを検索してまず試し、
           気に入ったらホームに追加する

 *1 everything.me ってサービスだから正確には「えぶる」かも?
透明性や自由度の
              高いプラットフォーム

       既存の独占的                          Firefox OS による
      プラットフォーム                       Open プラットフォーム
    開発者/OEM/キャリア                      market         開発者/OEM/
                                                      / キャリア



  Apple       Google       MS
 App Store     Play    Marketplace

iPhone/iPad    端末         端末

                                               ユーザ

  ユーザ         ユーザ        ユーザ                   端末
MWC ANNOUNCEMENTS

  Ecosystem Commitments
 パートナーとの製品化




         日本では KDDI が参加表明
Global アプリパートナー




まだまだあるけど入り切りません。一部ロゴ古いかも。ゴメンね。
ステキ。


   僕もスマホになって君と
  一緒にお出かけしたいな!
Build & Flash
サポート端末 (最新じゃない?)

                               Tier 1
                                 Unagi, Otoro, Pandaboard, Emulator, PC
                               Tier 2
                                 Nexus S, Nexus S 4G
                               Tier 3
                                 Galaxy S2, Glaxy Nexus
                               ICS (Android 4.0)∼ の動作端末
                                 上記以外の端末にはパッチが必要

https://developer.mozilla.org/ja/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites
おさかなさん=???

    Goldfish = 金魚
    Trout = サケ科の総称
    Mahimahi = マヒマヒ
    Herring = ニシン
    Stingray = アカエイ
    Tuna (Maguro & Toro)
おさかなさん=端末 (Android)

       Goldfish = Emulator
       Trout = G1
       Mahimahi = Nexus One
       Herring = Nexus S
       Stingray = Xoom
       Tuna = Galaxy Nexus

    Android では伝統的に端末のコードネームがおさかなさん
おすし=端末 (Firefox OS)

       Otoro = 初代開発機
       Unagi = 第二代開発機
       Ikura = 第三代?
       Inari = ???
       Hamachi = ???
       Buri = ???

         Firefox OS では端末のコードネームは寿司ネタ
ビルド環境

          Mac OS X
           XCode 4.3.1
          64bit GNU/Linux
           GCC 4.6.3
           Ubuntu 12.04 が標準
           Linux Mint 13, Debian 6,
           Ubuntu 12.10, Fedora 16/17/18

標準ビルドは Ubuntu で作られてますが Mac でビルドするのが楽です
Firefox OS ビルド環境 (Mac)
//	 1.	 XCode,	 Command	 Line	 Tools	 インストール
//	 2.	 XCode	 4.3.x	 から	 MacOSX10.6.sdk	 をコピー
//	 	 	 	 /Applications/Xcode.app/Contents/
Developer/Platforms/MacOSX.platform/Developer/
SDKs/MacOSX10.6.sdk
//	 3.	 HomeBrew	 が入ってなければ入れる
ruby	 -e	 "$(curl	 -fsSkL	 raw.github.com/mxcl/
homebrew/go)"

//	 4.	 セットアップスクリプト実行!
curl	 -fsSL	 https://raw.github.com/mozilla-b2g/
B2G/master/scripts/bootstrap-mac.sh	 |	 bash

             https://github.com/dynamis/firefoxos/wiki/article#wiki-build
Firefox OS のビルド&書き込み
//	 1.	 リポジトリの	 Clone
git	 clone	 git://github.com/mozilla-b2g/B2G.git
cd	 B2G

//	 2.	 対象端末を指定	 (引数無しでリスト表示)
./config.sh	 nexus-s

//	 2.	 ビルド実行	 (-j*	 は並列ビルド数の指定)
./build.sh	 -j4

//	 3.	 端末に書き込み	 (adb	 必要です)
./flash.sh

       https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building
Apps Dev
Firefox OS のアプリ開発

       Web アプリです。
       Web アプリです。
       Web アプリです。



       大事なこと3回
Firefox OS のアプリ開発

       Web アプリです。
       Web アプリです。
       Web アプリです。



       大事なこと3回
Firefox OS のアプリ開発

       いつもの開発ツール
       いつものエディタ
       いつものライブラリ


       いつもと一緒だ
       から安心だね!
アプリ開発の流れ

    普通に Web 開発
     デバッグもいつも通り
    manifest ファイルを用意
     メタ情報を JSON 形式で記載
    シミュレータや実機テスト
     PC で動かない API は実機で確認
     Vibration や Sensor など...

    https://github.com/dynamis/firefoxos/wiki/simulator
manifest.webapp 追加するだけ

       Hosted App
        Web から読み込むアプリ
        Web サイト + manifest.webapp
       Packaged App
        従来型のダウンロードアプリ
        サイト全体を ZIP するだけ
manifest.webapp ファイル
{
  "name":	 "フォクすけアプリ",
  "description":	 "あのフォクすけが遂にアプリに!",
  "launch_path":	 "/index.html",
  "icons":	 {
    "128":	 "/icons/foxkeh-128.png"
  },
  "developer":	 {
    "name":	 "dynamis",
    "url":	 "http://dynamis.jp/"
  },
  "default_locale":	 "ja"
}
//	 注意:	 ローカルファイルで	 /	 ->	 /index.html	 変換はない


              https://developer.mozilla.org/en-US/docs/Apps/Manifest
Firefox OS Simulator

               再起動不要の拡張機能
                 https://addons.mozilla.org/ja/
                 firefox/addon/firefox-os-simulator/
                 ポチッと押すだけ
                 Web 開発メニューに追加される
                 Firefox デスクトップビルド+
                 プロファイル+Alpha



     詳しい解説: https://github.com/dynamis/firefoxos/wiki/simulator
Firefox OS Simulator (r2d2b2g)




          プロファイル付きデスクトップビルドにホームボタンを追加
       コンソールやディレクトリからアプリケーションを読み込む機能も
シミュレータにインストール

    Add Directory ボタン
     manifest ファイルを選択
     zip されて packaged app として
     インストールされ、起動する
    Update ボタンで更新
     同じディレクトリのファイルを
     zip し直して、起動する


    https://github.com/dynamis/firefoxos/wiki/simulator
つーるきっととかは?



        Firefox OS 標準の
     ライブラリとかあるの?
GAIA Building Blocks (UI 部品)

          Gaia (Firefox OS 標準) Apps
          のデザインを簡単に作れる
           http://buildingfirefoxos.com/
          使っても使わなくても OK
           好きな SDK/Library 使える
           自由な Web ですから!



                          http://buildingfirefoxos.com/
Marketplace
まーけっと?




   Web アプリの配信方法は?
Firefox Marketplace

          Device, OS 横断マーケット
           Web Platform のためのストア
           Firefox 限定にならない設計
          現在テスター向け公開中
           対象は Firefox OS と Android 版
           Firefox の開発版ビルド
           PC で使うには UA 書き換え...

                      https://marketplace.firefox.com/
オープンなアプリストア

    全てを Web 技術で実装
     安定・平等な環境を提供
     Marketplace のソースも公開
    ベンダー非依存
     Firefox Marketplace 以外にも
     ストア、認証、課金も自由に



               https://marketplace.firefox.com/
オープンなレビューシステム

                     コミュニティレビュー
                        Firefox のアドオンと同じ
                        レビュー基準もレビュアーもすべ
                        てオープンで公平なマーケット
                     動作まではレビューしない
                        あくまで最低限のフィルタ



https://developer.mozilla.org/en-US/docs/Apps/Marketplace_review_criteria
自分のサイトで配布

               install() 関数使うだけ
                 navigator.mozApps.install(url)
                 manifest ファイル URL を渡す
               その他の Apps API:
                 navigator.mozApps.getSelf()
                 navigator.mozApps.getInstalled()
                 installPackage(url)

 https://developer.mozilla.org/en-US/docs/Apps/Apps_JavaScript_API
navigator.mozApps.install(url)
var	 Apps	 =	 navigator.mozApps;
var	 manifesturl
	 	 	 	 =	 "http://apps.dynamis.jp/manifest.webapp";

var	 request	 =	 Apps.install(manifesturl);
request.onsuccess	 =	 function()	 {
  //	 成功時の処理
};
request.onerror	 =	 function()	 {
  //	 失敗時の処理
};
Firefox = WebRT (WebRunTime)

 どろいど君    Gecko は元からアプリ環境
とも仲良し!
           Firefox = Gecko で XUL/JS
           WebApps = Gecko で HTML/JS
          マルチデバイス対応
           PC, Android, Firefox OS...
           同じコードでどこでも動く
           マーケットもマルチデバイス
Android に Web アプリ環境を

        Web App = Native App に
          ホームスクリーンへの追加や
          独立してフル画面起動など
          ネイティブ同様の利用体験
        Firefox = WebRT for Android




ホームにインストール、アプリを起動した画面、マーケットをブラウズ
PC にも Web アプリ環境を

      Web App = Native App に
       プログラムフォルダ (アプリケー
       ションディレクトリ) への追加
       ウィンドウはもちろんプロセスも
       データも全て独立
      Firefox = WebRT for PC
WWeebb  だから
どこにでも!



      Web らしいシステムだね!
実機で開発したい?




     僕の手でも使えるかな?
Developer Preview Phone




   Telefónica と Geeksphone が作る開発者向けテスト端末
Developer Preview Phone

      近日発売予定
      Keon:
       Snapdragon 1GHz, 4GB ROM,
       512MB RAM, 3.5" HVGA
      Peak:
       Snapdragon 1.2GHz x2, 4GB ROM,
       512MB RAM, 4.3" qHD

                    http://www.geeksphone.com/
もっと知りたい?




     僕はもっと知りたい!
Firefox OS コミュニティを!

       http://FxOS.org/
        (https://groups.google.com/group/
        firefoxos にリダイレクト)

       http://FxOS.org/wiki
        (https://github.com/dynamis/firefoxos/
        wiki にリダイレクト)


       みんな参加してね。
        みんなよろしく!
質問ある?



ぼくには難しいことは
分からないけど許してね。
See Also...
開発者ツール紹介

    一通りの機能と使い方
    Firefox 標準の開発者ツール
     隠し設定やビルトイン関数のリ
     ファレンスなども含めています
    Firebug とその拡張機能
     アイコンや背景画像を変更する
     カスタマイズにも言及してます

             http://r.dynamis.jp/devtools
Web 技術 2012 年の変化

      最新 Web 技術動向
       2012 年に進化した点やブラウザ
       ベンダーの動向を紹介
      HTML5 から HTML5.1 へ
       HTML の仕様は進化と安定化が
       同時平行で続けられる
JavaScript.Next

          JavaScript の最新仕様
           ECMAScript 5th のポイント
          JavaScript 次世代仕様
           ECMAScript 6th や Harmony




                          http://r.dynamis.jp/jsnext
セキュリティ関連機能紹介

    セキュリティ大事!
     知っておくべき機能です
    Content Security Policy
     次世代セキュリティポリシー
     Same Origin Policy はもう古い




                     http://r.dynamis.jp/sec

More Related Content

What's hot

Web is the OS (KDDI mugen Labo)
Web is the OS (KDDI mugen Labo)Web is the OS (KDDI mugen Labo)
Web is the OS (KDDI mugen Labo)dynamis
 
Web App Platform Firefox
Web App Platform FirefoxWeb App Platform Firefox
Web App Platform Firefoxdynamis
 
Firefox OS @ ABC2013A
Firefox OS @ ABC2013AFirefox OS @ ABC2013A
Firefox OS @ ABC2013Adynamis
 
Firefox OS App Dev
Firefox OS App DevFirefox OS App Dev
Firefox OS App Devdynamis
 
Firefox OS Updates 201311
Firefox OS Updates 201311Firefox OS Updates 201311
Firefox OS Updates 201311dynamis
 
Pure Web Apps
Pure Web AppsPure Web Apps
Pure Web Appsdynamis
 
Web is the Platform
Web is the PlatformWeb is the Platform
Web is the Platformdynamis
 
Firefox FAQ
Firefox FAQFirefox FAQ
Firefox FAQdynamis
 
Web is the OS (Firefox OS)
Web is the OS (Firefox OS)Web is the OS (Firefox OS)
Web is the OS (Firefox OS)dynamis
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalkShozo Okada
 
Apps for Web Platform
Apps for Web PlatformApps for Web Platform
Apps for Web Platformdynamis
 
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Monaca
 
関東Firefox OS勉強会6th「Firefox OS」
関東Firefox OS勉強会6th「Firefox OS」関東Firefox OS勉強会6th「Firefox OS」
関東Firefox OS勉強会6th「Firefox OS」Noritada Shimizu
 
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
 
携帯Webアプリケーション開発の基本とフレームワーク「mobylet」の紹介
携帯Webアプリケーション開発の基本とフレームワーク「mobylet」の紹介携帯Webアプリケーション開発の基本とフレームワーク「mobylet」の紹介
携帯Webアプリケーション開発の基本とフレームワーク「mobylet」の紹介Shin Takeuchi
 
組み込みでも使えるFirefox OS
組み込みでも使えるFirefox OS組み込みでも使えるFirefox OS
組み込みでも使えるFirefox OSNoritada Shimizu
 
Web on Kernel
Web on KernelWeb on Kernel
Web on Kerneldynamis
 
Firefox OS and Open Web Board - IGGG Meetup 2015 Spring
Firefox OS and Open Web Board - IGGG Meetup 2015 SpringFirefox OS and Open Web Board - IGGG Meetup 2015 Spring
Firefox OS and Open Web Board - IGGG Meetup 2015 SpringGunma University
 
20100416 devlove(flex) final
20100416 devlove(flex) final20100416 devlove(flex) final
20100416 devlove(flex) finaldsdseg
 

What's hot (20)

Web is the OS (KDDI mugen Labo)
Web is the OS (KDDI mugen Labo)Web is the OS (KDDI mugen Labo)
Web is the OS (KDDI mugen Labo)
 
Web App Platform Firefox
Web App Platform FirefoxWeb App Platform Firefox
Web App Platform Firefox
 
Firefox OS @ ABC2013A
Firefox OS @ ABC2013AFirefox OS @ ABC2013A
Firefox OS @ ABC2013A
 
Firefox OS App Dev
Firefox OS App DevFirefox OS App Dev
Firefox OS App Dev
 
Firefox OS Updates 201311
Firefox OS Updates 201311Firefox OS Updates 201311
Firefox OS Updates 201311
 
Pure Web Apps
Pure Web AppsPure Web Apps
Pure Web Apps
 
Web is the Platform
Web is the PlatformWeb is the Platform
Web is the Platform
 
Firefox FAQ
Firefox FAQFirefox FAQ
Firefox FAQ
 
Web is the OS (Firefox OS)
Web is the OS (Firefox OS)Web is the OS (Firefox OS)
Web is the OS (Firefox OS)
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk
 
Apps for Web Platform
Apps for Web PlatformApps for Web Platform
Apps for Web Platform
 
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)
 
関東Firefox OS勉強会6th「Firefox OS」
関東Firefox OS勉強会6th「Firefox OS」関東Firefox OS勉強会6th「Firefox OS」
関東Firefox OS勉強会6th「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ってなぁに?
 
携帯Webアプリケーション開発の基本とフレームワーク「mobylet」の紹介
携帯Webアプリケーション開発の基本とフレームワーク「mobylet」の紹介携帯Webアプリケーション開発の基本とフレームワーク「mobylet」の紹介
携帯Webアプリケーション開発の基本とフレームワーク「mobylet」の紹介
 
組み込みでも使えるFirefox OS
組み込みでも使えるFirefox OS組み込みでも使えるFirefox OS
組み込みでも使えるFirefox OS
 
Web on Kernel
Web on KernelWeb on Kernel
Web on Kernel
 
Firefox OS and Open Web Board - IGGG Meetup 2015 Spring
Firefox OS and Open Web Board - IGGG Meetup 2015 SpringFirefox OS and Open Web Board - IGGG Meetup 2015 Spring
Firefox OS and Open Web Board - IGGG Meetup 2015 Spring
 
SpeechPlatform with Kinect
SpeechPlatform with KinectSpeechPlatform with Kinect
SpeechPlatform with Kinect
 
20100416 devlove(flex) final
20100416 devlove(flex) final20100416 devlove(flex) final
20100416 devlove(flex) final
 

Viewers also liked

Firefox OS App on TV
Firefox OS App on TVFirefox OS App on TV
Firefox OS App on TVdynamis
 
Future with Firefox OS
Future with Firefox OSFuture with Firefox OS
Future with Firefox OSdynamis
 
Set Designs by Robert Kramer
Set Designs by Robert KramerSet Designs by Robert Kramer
Set Designs by Robert KramerRobert Kramer
 
SSOO Terminales Móviles
SSOO Terminales MóvilesSSOO Terminales Móviles
SSOO Terminales Móvilesgallopca
 
Firefox OS 起動の仕組みを調べてみた
Firefox OS 起動の仕組みを調べてみたFirefox OS 起動の仕組みを調べてみた
Firefox OS 起動の仕組みを調べてみたMuneaki Nishimura
 
Gecko入門 - Introduction to Gecko -
Gecko入門 - Introduction to Gecko -Gecko入門 - Introduction to Gecko -
Gecko入門 - Introduction to Gecko -Masahiro Hidaka
 
OSC2016.Enterprise Lightnig Talk
OSC2016.Enterprise Lightnig TalkOSC2016.Enterprise Lightnig Talk
OSC2016.Enterprise Lightnig Talkdynamis
 
Firefox OS / B2G and the future of the web
Firefox OS / B2G and the future of the webFirefox OS / B2G and the future of the web
Firefox OS / B2G and the future of the webChristian Heilmann
 

Viewers also liked (9)

HTML 2012
HTML 2012HTML 2012
HTML 2012
 
Firefox OS App on TV
Firefox OS App on TVFirefox OS App on TV
Firefox OS App on TV
 
Future with Firefox OS
Future with Firefox OSFuture with Firefox OS
Future with Firefox OS
 
Set Designs by Robert Kramer
Set Designs by Robert KramerSet Designs by Robert Kramer
Set Designs by Robert Kramer
 
SSOO Terminales Móviles
SSOO Terminales MóvilesSSOO Terminales Móviles
SSOO Terminales Móviles
 
Firefox OS 起動の仕組みを調べてみた
Firefox OS 起動の仕組みを調べてみたFirefox OS 起動の仕組みを調べてみた
Firefox OS 起動の仕組みを調べてみた
 
Gecko入門 - Introduction to Gecko -
Gecko入門 - Introduction to Gecko -Gecko入門 - Introduction to Gecko -
Gecko入門 - Introduction to Gecko -
 
OSC2016.Enterprise Lightnig Talk
OSC2016.Enterprise Lightnig TalkOSC2016.Enterprise Lightnig Talk
OSC2016.Enterprise Lightnig Talk
 
Firefox OS / B2G and the future of the web
Firefox OS / B2G and the future of the webFirefox OS / B2G and the future of the web
Firefox OS / B2G and the future of the web
 

Similar to Firefox OS - Blaze Your Own Path

Firefox OS カスタム ROM の作成
Firefox OS カスタム ROM の作成Firefox OS カスタム ROM の作成
Firefox OS カスタム ROM の作成Honma Masashi
 
Firefox Ecosystem
Firefox EcosystemFirefox Ecosystem
Firefox Ecosystemdynamis
 
Firefox Ecosystem in Kagoshima
Firefox Ecosystem in KagoshimaFirefox Ecosystem in Kagoshima
Firefox Ecosystem in Kagoshimadynamis
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platformToru Yamaguchi
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalkShozo Okada
 
Firefox mobile for android internals
Firefox mobile for android internalsFirefox mobile for android internals
Firefox mobile for android internalsMakoto Kato
 
次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch
次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch
次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu TouchHonma Masashi
 
Android Abc2009 Fall Shima091130 1
Android Abc2009 Fall Shima091130 1Android Abc2009 Fall Shima091130 1
Android Abc2009 Fall Shima091130 1shimay
 
Firefox OSアプリの概要@gunma.web
Firefox OSアプリの概要@gunma.webFirefox OSアプリの概要@gunma.web
Firefox OSアプリの概要@gunma.webHayato Hiratori
 
Magic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみたMagic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみたNishoMatsusita
 
Html5 seminar 1_pac
Html5 seminar 1_pacHtml5 seminar 1_pac
Html5 seminar 1_pac1PAC. INC.
 
Introduction to web development 1
Introduction to web development 1Introduction to web development 1
Introduction to web development 1hideaki honda
 
[Mobile5] 最新動向 2012年5月
[Mobile5] 最新動向 2012年5月[Mobile5] 最新動向 2012年5月
[Mobile5] 最新動向 2012年5月Akira Sasaki
 
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発hmimura_embarcadero
 
クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?Daichi Isami
 
Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1Atomu Hidaka
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMFAtomu Hidaka
 
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜Kensaku Komatsu
 

Similar to Firefox OS - Blaze Your Own Path (20)

Firefox OS カスタム ROM の作成
Firefox OS カスタム ROM の作成Firefox OS カスタム ROM の作成
Firefox OS カスタム ROM の作成
 
Firefox Ecosystem
Firefox EcosystemFirefox Ecosystem
Firefox Ecosystem
 
Firefox Ecosystem in Kagoshima
Firefox Ecosystem in KagoshimaFirefox Ecosystem in Kagoshima
Firefox Ecosystem in Kagoshima
 
Mobile + HTML5
Mobile + HTML5Mobile + HTML5
Mobile + HTML5
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platform
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk
 
Firefox mobile for android internals
Firefox mobile for android internalsFirefox mobile for android internals
Firefox mobile for android internals
 
次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch
次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch
次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch
 
Android Abc2009 Fall Shima091130 1
Android Abc2009 Fall Shima091130 1Android Abc2009 Fall Shima091130 1
Android Abc2009 Fall Shima091130 1
 
Firefox OSアプリの概要@gunma.web
Firefox OSアプリの概要@gunma.webFirefox OSアプリの概要@gunma.web
Firefox OSアプリの概要@gunma.web
 
Magic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみたMagic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみた
 
Html5 seminar 1_pac
Html5 seminar 1_pacHtml5 seminar 1_pac
Html5 seminar 1_pac
 
Introduction to web development 1
Introduction to web development 1Introduction to web development 1
Introduction to web development 1
 
[Mobile5] 最新動向 2012年5月
[Mobile5] 最新動向 2012年5月[Mobile5] 最新動向 2012年5月
[Mobile5] 最新動向 2012年5月
 
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
 
デバイス WebAPI設計の進め方
デバイス WebAPI設計の進め方デバイス WebAPI設計の進め方
デバイス WebAPI設計の進め方
 
クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?
 
Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
 
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
 

More from dynamis

HTTP and 5G (fixed1)
HTTP and 5G (fixed1)HTTP and 5G (fixed1)
HTTP and 5G (fixed1)dynamis
 
HTTP and 5G
HTTP and 5GHTTP and 5G
HTTP and 5Gdynamis
 
HTTP and 5G partial draft
HTTP and 5G partial draftHTTP and 5G partial draft
HTTP and 5G partial draftdynamis
 
Web App Platform Strategy
Web App Platform StrategyWeb App Platform Strategy
Web App Platform Strategydynamis
 
HTML5 & Renesas RZ/G
HTML5 & Renesas RZ/GHTML5 & Renesas RZ/G
HTML5 & Renesas RZ/Gdynamis
 
Life of html5 (osaka)
Life of html5 (osaka)Life of html5 (osaka)
Life of html5 (osaka)dynamis
 
Web updates 2017
Web updates 2017Web updates 2017
Web updates 2017dynamis
 
Life of HTML5
Life of HTML5Life of HTML5
Life of HTML5dynamis
 
Browsers in IoT Era
Browsers in IoT EraBrowsers in IoT Era
Browsers in IoT Eradynamis
 
New Norm of HTML5
New Norm of HTML5New Norm of HTML5
New Norm of HTML5dynamis
 
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)dynamis
 
Demo for Gecko Embedded
Demo for Gecko EmbeddedDemo for Gecko Embedded
Demo for Gecko Embeddeddynamis
 
Project Gecko Embedded
Project Gecko EmbeddedProject Gecko Embedded
Project Gecko Embeddeddynamis
 
The New Norm of The Web
The New Norm of The WebThe New Norm of The Web
The New Norm of The Webdynamis
 
Progressive Mobile Web Apps
Progressive Mobile Web AppsProgressive Mobile Web Apps
Progressive Mobile Web Appsdynamis
 
Modern Mobile Web Apps
Modern Mobile Web AppsModern Mobile Web Apps
Modern Mobile Web Appsdynamis
 
Web Tech & Architecture
Web Tech & ArchitectureWeb Tech & Architecture
Web Tech & Architecturedynamis
 
Java script.trend(spec)
Java script.trend(spec)Java script.trend(spec)
Java script.trend(spec)dynamis
 
Data Privacy meeting
Data Privacy meetingData Privacy meeting
Data Privacy meetingdynamis
 
Firefox OS TV
Firefox OS TVFirefox OS TV
Firefox OS TVdynamis
 

More from dynamis (20)

HTTP and 5G (fixed1)
HTTP and 5G (fixed1)HTTP and 5G (fixed1)
HTTP and 5G (fixed1)
 
HTTP and 5G
HTTP and 5GHTTP and 5G
HTTP and 5G
 
HTTP and 5G partial draft
HTTP and 5G partial draftHTTP and 5G partial draft
HTTP and 5G partial draft
 
Web App Platform Strategy
Web App Platform StrategyWeb App Platform Strategy
Web App Platform Strategy
 
HTML5 & Renesas RZ/G
HTML5 & Renesas RZ/GHTML5 & Renesas RZ/G
HTML5 & Renesas RZ/G
 
Life of html5 (osaka)
Life of html5 (osaka)Life of html5 (osaka)
Life of html5 (osaka)
 
Web updates 2017
Web updates 2017Web updates 2017
Web updates 2017
 
Life of HTML5
Life of HTML5Life of HTML5
Life of HTML5
 
Browsers in IoT Era
Browsers in IoT EraBrowsers in IoT Era
Browsers in IoT Era
 
New Norm of HTML5
New Norm of HTML5New Norm of HTML5
New Norm of HTML5
 
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
 
Demo for Gecko Embedded
Demo for Gecko EmbeddedDemo for Gecko Embedded
Demo for Gecko Embedded
 
Project Gecko Embedded
Project Gecko EmbeddedProject Gecko Embedded
Project Gecko Embedded
 
The New Norm of The Web
The New Norm of The WebThe New Norm of The Web
The New Norm of The Web
 
Progressive Mobile Web Apps
Progressive Mobile Web AppsProgressive Mobile Web Apps
Progressive Mobile Web Apps
 
Modern Mobile Web Apps
Modern Mobile Web AppsModern Mobile Web Apps
Modern Mobile Web Apps
 
Web Tech & Architecture
Web Tech & ArchitectureWeb Tech & Architecture
Web Tech & Architecture
 
Java script.trend(spec)
Java script.trend(spec)Java script.trend(spec)
Java script.trend(spec)
 
Data Privacy meeting
Data Privacy meetingData Privacy meeting
Data Privacy meeting
 
Firefox OS TV
Firefox OS TVFirefox OS TV
Firefox OS TV
 

Recently uploaded

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
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
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 

Recently uploaded (8)

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
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
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 

Firefox OS - Blaze Your Own Path

  • 1. Firefox OS: Blaze Your Own Path Slides @ ABC 2013 Spring by Tomoya Asai (dynamis) Last Update: 2013/03/16
  • 2. FFiirreeffooxx OOSS で AAnnddrrooiidd 端末の 世界が広がる!?
  • 4. about:dynamis Lesser Panda @ Mozilla http://dynamis.jp @dynamitter facebook.com/ dynamis レッサーパンダが好き。 mailto: Tomoya ASAI <dynamis@mozilla-japan.org>
  • 6. 本日のトピック ぼくおやつ Background 担当ねっ! Overview Build & Flash App Dev Marketplace
  • 7. about:foxkeh 今日もプレゼンを手伝って くれるフォクすけを紹介します
  • 8. ぼくフォクすけ いつか僕も Firefox みたいな 立派なブラウザになるんだ!
  • 9. サーバ (Apache Camel) の上にクライアント (Firefox)
  • 10. 君と一緒にお出 かけしたいな! ぼくのステッカーを君の PC とスマホに貼ってね!
  • 12. 独自プラットフォーム ネイティブアプリ 機能も速度もネイティブ優先 アプリエコシステム 制限多くビジネスの自由度低い WebView + 独自 API Web はサブセット扱い
  • 13. 独自プラットフォーム i a f c プラットフォーム毎に異なる言語で個別の専用アプリを作る必要がある
  • 14. 独自プラットフォームの課題 プラットフォーム依存 それぞれ異なる言語や API 不透明な継続性・再利用性 ベンダー依存の運命共同体 Fragmentation・実装依存 同一プラットフォームでも非互換
  • 15. 独自プラットフォームの課題 プラットフォーム依存 それぞれ異なる言語や API 不透明な継続性・再利用性 ベンダー依存の運命共同体 Fragmentation・実装依存 同一プラットフォームでも非互換
  • 17. "HTML5" への期待 次世代プラットフォーム Web 技術で何でも可能に Web アプリ開発を簡単に API の充実と互換性確保 マルチデバイス対応 開発言語や API の共通化
  • 18. Web が共通プラットフォーム プラットフォーム としての Web Web がプラットフォームなら業界標準技術でアプリ環境が統一される
  • 19. 標準技術 のオープンな世界 vs 独自技術 による囲い込み 「ブラウザ戦争」の時代はとっくに終わりました
  • 20. HTML5 = WebKit の方が良い? それどの WebKit? IE6 vs IE10 以上に違う現実 その API と実装で大丈夫? 複数実装でより良い標準に イノベーションは競争から 独占が進化を止めてたよね…
  • 21. HTML5 = WebKit の方が良い? それどの WebKit? IE6 vs IE10 以上に違う現実 その API と実装で大丈夫? 複数実装でより良い標準に イノベーションは競争から 独占が進化を止めてたよね…
  • 22. I am sad that the Web didn t handle small screens ̶ and later, touch UI ̶ that well. ... snip ... For touch, though, I wish we had done a better job of mapping the UI to the Web s generic events. A touch gets mapped to a click event easily enough, but drag-and-drop never got mapped, pinch gestures didn t get mapped to wheel events, etc. Mainly I think this is because the first truly successful touch browser set the standard, and it was developed mostly in secret with a small team many of whom, as I understand it, weren t Web veterans. Ian Hickson のインタビューより
  • 23. 独占やクローズド仕様は残念… タッチイベントが残念… ドラッグ&ドロップは? ピンチとホイールの対応は? 密室で作られたから… 最初の人気タッチブラウザ実装 Web 技術知らない奴らが作った オープンな標準は世界の英知の結晶
  • 26. FFiirreeffooxx OOSS って どんな感じ? フォクすけもわくわく。
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. Firefox OS = Boot to Gecko Gecko エンジンだけ起動 Kernel 上に Gecko (Web Engine) Java VM など不要な部分は削除 HAL 層は Android と共通 Linux 部分で独自性は必要ない Android と同じエコシステム プロジェクト名は今でも Boot to Gecko
  • 32. WHAT IS FIREFOX OS? HOW IS IT DIFFERENT FROM ANDROID シンプル&スマート Firefox OS Android Web Browser/ Platform HTML5 User Native API- Experience/ based UI Content Web Engine/ APIs Standard Device APIs Kernel (e.g. Android, iOS, Kernel Win7, etc.) Device (phone, tablet, Device desktop) Web プラットフォームの実行環境としては圧倒的にスマート!
  • 33. WHAT IS FIREFOX OS: ARCHITECTURE OVERVIEW アーキテクチャ Gaia Web Content (App) Gecko child Gecko Execution Parent Environment Access Control Permission Manager List Gecko Web API Credential Permissions I/O (hardware & data stores) Validation Store Boot to Gecko (b2g) Gonk Low-level processes, proxies & daemons (rild, mediaserver, netd, etc.) Device Device hardware
  • 34. Web 技術 = Native Web 技術が「ネイティブ」 HTML/CSS/JS ですべて可能に 新しい API は W3C 標準化 速度も Java に追いつく 単純な演算程度なら既に同程度 WebGL や DOMCrypt なども活用 時間の問題だから期待しててね! Web 技術だけですべてが済むプラットフォームとなるよう発展中
  • 35.
  • 37. ステータスバー (通知、 電波強度、電池残量...)も カメラやラジオも ビデオや音楽の再生も マーケットプレイスも システムの環境設定も ホーム画面や壁紙も 電話や SMS の送受信も もちろん ブラウザ も その他なんでも... すべて Web 技術で!
  • 38. 2012 年実装 Web API Alarm File Handle Push Notifications attention screen FM Radio Settings Archive IdleAPI SMS Audio Policy Mouse Lock Screen Orientation Background Sensor Mobile Connection System XHR Browser Network Events TCP Socket Camera Network Stats Web Telephony Contacts Manage Time Manager Desktop Notification Payment Open Web Apps Device Storage Permissions WiFi Management Embed Apps Power Management などなど... 実装状況などのまとめ表: https://wiki.mozilla.org/WebAPI
  • 39. Next Web API Background Services Payment Bluetooth-*** Quota Calendar Resource Lock Database Migration (temp to Simple Storage permanent storage) Social API FileSystem? SPDY Server Push NFC Spellcheck HTTP-cache UDB Datagram Socket Keyboard/IME USB (low-level) Log USB file-reading MPEG DASH WebRTC - Camera Open Web Apps WebRTC - P2P Parallel Array などなど... どこまで今年中にサポートされるか楽しみ!
  • 40. Firefox OS の魅力 スリムな HTML5 実行環境 $100 でもフル機能のスマホを 今後の高速化もし易い設計 圧倒的な開発者数 Web 技術だけですぐアプリ開発 ハイブリッド権限管理 インストール時 or 実行時の許可 急速な高速化が続き、型推論の効く処理は既に Dalvik/Java にも匹敵
  • 41. 開発者の多いプラットフォーム 800万人 10万人 45万人 調査にも依るけど HTML5 開発者の方が圧倒的に多い
  • 42. Firefox OS とセキュリティ ユーザがアプリ権限管理可 インストール時と実行時に権限を 許可するハイブリッド方式 「インストール時に全て許可」で はプライバシーは守れなかった ユーザが理解できプライバシーな どに関わる API は実行時確認
  • 43. *1 アプリも「ぐぐる」時代へ "まずインストール" は古い ディレクトリ(分類)だけのマーケ ットでは Google のない Web Web と Market の横断検索 動的な Web アプリ環境 Web はアクセスするだけ アプリを検索してまず試し、 気に入ったらホームに追加する *1 everything.me ってサービスだから正確には「えぶる」かも?
  • 44. 透明性や自由度の 高いプラットフォーム 既存の独占的 Firefox OS による プラットフォーム Open プラットフォーム 開発者/OEM/キャリア market 開発者/OEM/ / キャリア Apple Google MS App Store Play Marketplace iPhone/iPad 端末 端末 ユーザ ユーザ ユーザ ユーザ 端末
  • 45. MWC ANNOUNCEMENTS Ecosystem Commitments パートナーとの製品化 日本では KDDI が参加表明
  • 47. ステキ。 僕もスマホになって君と 一緒にお出かけしたいな!
  • 49. サポート端末 (最新じゃない?) Tier 1 Unagi, Otoro, Pandaboard, Emulator, PC Tier 2 Nexus S, Nexus S 4G Tier 3 Galaxy S2, Glaxy Nexus ICS (Android 4.0)∼ の動作端末 上記以外の端末にはパッチが必要 https://developer.mozilla.org/ja/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites
  • 50. おさかなさん=??? Goldfish = 金魚 Trout = サケ科の総称 Mahimahi = マヒマヒ Herring = ニシン Stingray = アカエイ Tuna (Maguro & Toro)
  • 51. おさかなさん=端末 (Android) Goldfish = Emulator Trout = G1 Mahimahi = Nexus One Herring = Nexus S Stingray = Xoom Tuna = Galaxy Nexus Android では伝統的に端末のコードネームがおさかなさん
  • 52. おすし=端末 (Firefox OS) Otoro = 初代開発機 Unagi = 第二代開発機 Ikura = 第三代? Inari = ??? Hamachi = ??? Buri = ??? Firefox OS では端末のコードネームは寿司ネタ
  • 53. ビルド環境 Mac OS X XCode 4.3.1 64bit GNU/Linux GCC 4.6.3 Ubuntu 12.04 が標準 Linux Mint 13, Debian 6, Ubuntu 12.10, Fedora 16/17/18 標準ビルドは Ubuntu で作られてますが Mac でビルドするのが楽です
  • 54. Firefox OS ビルド環境 (Mac) // 1. XCode, Command Line Tools インストール // 2. XCode 4.3.x から MacOSX10.6.sdk をコピー // /Applications/Xcode.app/Contents/ Developer/Platforms/MacOSX.platform/Developer/ SDKs/MacOSX10.6.sdk // 3. HomeBrew が入ってなければ入れる ruby -e "$(curl -fsSkL raw.github.com/mxcl/ homebrew/go)" // 4. セットアップスクリプト実行! curl -fsSL https://raw.github.com/mozilla-b2g/ B2G/master/scripts/bootstrap-mac.sh | bash https://github.com/dynamis/firefoxos/wiki/article#wiki-build
  • 55. Firefox OS のビルド&書き込み // 1. リポジトリの Clone git clone git://github.com/mozilla-b2g/B2G.git cd B2G // 2. 対象端末を指定 (引数無しでリスト表示) ./config.sh nexus-s // 2. ビルド実行 (-j* は並列ビルド数の指定) ./build.sh -j4 // 3. 端末に書き込み (adb 必要です) ./flash.sh https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building
  • 57. Firefox OS のアプリ開発 Web アプリです。 Web アプリです。 Web アプリです。 大事なこと3回
  • 58. Firefox OS のアプリ開発 Web アプリです。 Web アプリです。 Web アプリです。 大事なこと3回
  • 59. Firefox OS のアプリ開発 いつもの開発ツール いつものエディタ いつものライブラリ いつもと一緒だ から安心だね!
  • 60. アプリ開発の流れ 普通に Web 開発 デバッグもいつも通り manifest ファイルを用意 メタ情報を JSON 形式で記載 シミュレータや実機テスト PC で動かない API は実機で確認 Vibration や Sensor など... https://github.com/dynamis/firefoxos/wiki/simulator
  • 61. manifest.webapp 追加するだけ Hosted App Web から読み込むアプリ Web サイト + manifest.webapp Packaged App 従来型のダウンロードアプリ サイト全体を ZIP するだけ
  • 62. manifest.webapp ファイル {   "name": "フォクすけアプリ",   "description": "あのフォクすけが遂にアプリに!",   "launch_path": "/index.html",   "icons": {     "128": "/icons/foxkeh-128.png"   },   "developer": {     "name": "dynamis",     "url": "http://dynamis.jp/"   },   "default_locale": "ja" } // 注意: ローカルファイルで / -> /index.html 変換はない https://developer.mozilla.org/en-US/docs/Apps/Manifest
  • 63. Firefox OS Simulator 再起動不要の拡張機能 https://addons.mozilla.org/ja/ firefox/addon/firefox-os-simulator/ ポチッと押すだけ Web 開発メニューに追加される Firefox デスクトップビルド+ プロファイル+Alpha 詳しい解説: https://github.com/dynamis/firefoxos/wiki/simulator
  • 64. Firefox OS Simulator (r2d2b2g) プロファイル付きデスクトップビルドにホームボタンを追加 コンソールやディレクトリからアプリケーションを読み込む機能も
  • 65. シミュレータにインストール Add Directory ボタン manifest ファイルを選択 zip されて packaged app として インストールされ、起動する Update ボタンで更新 同じディレクトリのファイルを zip し直して、起動する https://github.com/dynamis/firefoxos/wiki/simulator
  • 66. つーるきっととかは? Firefox OS 標準の ライブラリとかあるの?
  • 67. GAIA Building Blocks (UI 部品) Gaia (Firefox OS 標準) Apps のデザインを簡単に作れる http://buildingfirefoxos.com/ 使っても使わなくても OK 好きな SDK/Library 使える 自由な Web ですから! http://buildingfirefoxos.com/
  • 68.
  • 69.
  • 71. まーけっと? Web アプリの配信方法は?
  • 72. Firefox Marketplace Device, OS 横断マーケット Web Platform のためのストア Firefox 限定にならない設計 現在テスター向け公開中 対象は Firefox OS と Android 版 Firefox の開発版ビルド PC で使うには UA 書き換え... https://marketplace.firefox.com/
  • 73. オープンなアプリストア 全てを Web 技術で実装 安定・平等な環境を提供 Marketplace のソースも公開 ベンダー非依存 Firefox Marketplace 以外にも ストア、認証、課金も自由に https://marketplace.firefox.com/
  • 74. オープンなレビューシステム コミュニティレビュー Firefox のアドオンと同じ レビュー基準もレビュアーもすべ てオープンで公平なマーケット 動作まではレビューしない あくまで最低限のフィルタ https://developer.mozilla.org/en-US/docs/Apps/Marketplace_review_criteria
  • 75. 自分のサイトで配布 install() 関数使うだけ navigator.mozApps.install(url) manifest ファイル URL を渡す その他の Apps API: navigator.mozApps.getSelf() navigator.mozApps.getInstalled() installPackage(url) https://developer.mozilla.org/en-US/docs/Apps/Apps_JavaScript_API
  • 76. navigator.mozApps.install(url) var Apps = navigator.mozApps; var manifesturl = "http://apps.dynamis.jp/manifest.webapp"; var request = Apps.install(manifesturl); request.onsuccess = function() {   // 成功時の処理 }; request.onerror = function() {   // 失敗時の処理 };
  • 77. Firefox = WebRT (WebRunTime) どろいど君 Gecko は元からアプリ環境 とも仲良し! Firefox = Gecko で XUL/JS WebApps = Gecko で HTML/JS マルチデバイス対応 PC, Android, Firefox OS... 同じコードでどこでも動く マーケットもマルチデバイス
  • 78. Android に Web アプリ環境を Web App = Native App に ホームスクリーンへの追加や 独立してフル画面起動など ネイティブ同様の利用体験 Firefox = WebRT for Android ホームにインストール、アプリを起動した画面、マーケットをブラウズ
  • 79. PC にも Web アプリ環境を Web App = Native App に プログラムフォルダ (アプリケー ションディレクトリ) への追加 ウィンドウはもちろんプロセスも データも全て独立 Firefox = WebRT for PC
  • 80. WWeebb だから どこにでも! Web らしいシステムだね!
  • 81. 実機で開発したい? 僕の手でも使えるかな?
  • 82. Developer Preview Phone Telefónica と Geeksphone が作る開発者向けテスト端末
  • 83. Developer Preview Phone 近日発売予定 Keon: Snapdragon 1GHz, 4GB ROM, 512MB RAM, 3.5" HVGA Peak: Snapdragon 1.2GHz x2, 4GB ROM, 512MB RAM, 4.3" qHD http://www.geeksphone.com/
  • 84. もっと知りたい? 僕はもっと知りたい!
  • 85. Firefox OS コミュニティを! http://FxOS.org/ (https://groups.google.com/group/ firefoxos にリダイレクト) http://FxOS.org/wiki (https://github.com/dynamis/firefoxos/ wiki にリダイレクト) みんな参加してね。 みんなよろしく!
  • 88. 開発者ツール紹介 一通りの機能と使い方 Firefox 標準の開発者ツール 隠し設定やビルトイン関数のリ ファレンスなども含めています Firebug とその拡張機能 アイコンや背景画像を変更する カスタマイズにも言及してます http://r.dynamis.jp/devtools
  • 89. Web 技術 2012 年の変化 最新 Web 技術動向 2012 年に進化した点やブラウザ ベンダーの動向を紹介 HTML5 から HTML5.1 へ HTML の仕様は進化と安定化が 同時平行で続けられる
  • 90. JavaScript.Next JavaScript の最新仕様 ECMAScript 5th のポイント JavaScript 次世代仕様 ECMAScript 6th や Harmony http://r.dynamis.jp/jsnext
  • 91. セキュリティ関連機能紹介 セキュリティ大事! 知っておくべき機能です Content Security Policy 次世代セキュリティポリシー Same Origin Policy はもう古い http://r.dynamis.jp/sec