SlideShare a Scribd company logo
1 of 60
Download to read offline
Firefox 開発ツール
Mozilla Japan

清水智公 (nshimizu@mozilla-japan.org)
2013/11/11
この資料について

•

JavaScript での開発を助けるツールの紹介

•

想定する読者

•

これまで Firebug を利用して来た方

•

JavaScript で開発をされて来た方

•

デバッガを利用したことがある方

2
Firebug との対応
Firebugの機能

開発ツールで対応するツール

コンソール

Web コンソール

HTML

インスペクタ

CSS

スタイルエディタ

スクリプト

JavaScript デバッガ

ネットワーク

ネットワークモニタ

クッキー

ネットワークモニタ

3
Firefox が標準で持つ開発ツール
•

Web コンソール

•

JavaScript デバッガ

•

インスペクタ

•

JavaScript プロファイラ

•

ネットワークモニタ

•

スタイルエディタ

•

レスポンシブデザインビュー

4
今回取り上げるツール
•

Web コンソール

•

JavaScript デバッガ

•

インスペクタ

•

JavaScript プロファイラ

•

ネットワークモニタ

•

スタイルエディタ

•

レスポンシブデザインビュー

5
目次:開発ツールの紹介

•

Web コンソール:p.10

•

JavaScript デバッガ:p.22

•

JavaScript プロファイラ:p.36

•

ネットワークモニタ:p.41

6
目次:モバイル開発の支援

•

レスポンシブデザインビュー:p.48

•

Firefox OS シミュレータ:p.51

•

App Manager:p.52

•

リモートデバッグ:p. 53

7
詳細なドキュメントは

•

Mozilla Developer Network を参照してください

•
•
•

MDN と略します
https://developer.mozilla.org/

開発ツールに関してはこちら:

https://developer.mozilla.org/docs/Tools

8
メニューの「Web 開発」から起動

9
Webコンソール

10
Web コンソール
https://developer.mozilla.org/ja/docs/Tools/Web_Console

•

Firebug のコンソールに相当するツール

•

エラー、警告、ログの出力

•

JavaScriptの実行

11
出力のフィルタ

出力項目の on/off ができます

12
出力のフィルタ

ここに入力した文字列でフィルタできます

13
console.log 以外のロギング機能
https://developer.mozilla.org/ja/docs/Web/API/console

•

スタックトレース:console.trace()

•

タイマーによる処理時間の計測:
console.time() / console.TimeEnd()

•

オブジェクトプロパティの表示:console.dir()

14
console.trace()
https://developer.mozilla.org/ja/docs/Web/API/console

クリック

呼び出し時のコールスタックが参照できる

15
console.time() / console.timeEnd()
https://developer.mozilla.org/ja/docs/Web/API/console

console.time("answer time");	
alert("Click to continue");	
console.timeEnd("answer time");

警告ボックスが閉じられるまでの時間がログに出力される

16
console.dir()
https://developer.mozilla.org/ja/docs/Web/API/console

•

引数に指定したオブジェクトの属性の、

インタラクティブリストを表示

•

属性値の構造をドリルダウンできる
17
オブジェクトインスペクタ
Objectのプロパティを閲覧できます

クリック

18
コマンドラインインタプリタ

JavaScript の文を実行できます

19
キーボードショートカット
キー

効果

↑

コマンド履歴で前を表示

↓

コマンド履歴で次を表示

Ctrl-a

カーソルを行の先頭へ移動

Ctrl-e

カーソルを行の末尾へ移動

Return

コマンドラインに入力したコマンドを実行

Shift-Return

コマンドラインを1行増やす

ESC

オートコンプリートのポップアップをキャンセル

TAB

オートコンプリートを実行して、最初の提案を採用

20
支援コマンド
キー
$

効果
document.querySelector()と等価

$が定義されている場合は$を呼ぶ

$0

ページ内で選択されている要素

keys

引数オブジェクトのプロパティ名を一覧を返す

values

引数オブジェクトのプロパティ値を一覧を返す

clear

コンソールの出力をクリア

inspect

引数オブジェクトのオブジェクトインスペクタを表示

help

ヘルプを表示

21
JavaScriptデバッガ

22
JavaScript デバッガ
https://developer.mozilla.org/ja/docs/Tools/Debugger

•

Firebug の JavaScript に対応するツール

•

「デバッガ」から起動

23
デバッガのUI
ツールバー

ソースリストペイン

ソースコードペイン

変数ペイン
24
ソースリストペイン

•

JSファイルの一覧

•

読み込みもとごとに

グループ化されている

•

ブレークポイントが

ファイルごとに表示されている

25
ブレークポイントの設定

設定したい行をクリック

26
ブレークポイント到達時
変数ペインが表示される

27
コールスタックの表示

ブレークした時点でのコールスタック

28
ウオッチ式:デバッグ用の式

•

変数ペインに式を追加できる

•

任意の式を記述できる

•

×ボタンで式を削除

•

ブレーク時の環境で評価

•

値を変数ペインに出力

29
停止と復帰

押し込まれているときは、プログラムが停止している

30
ステップオーバー

現在の行をステップ実行する

31
ステップイン

現在の行にある関数呼び出しにステップイン

32
ステップオーバー

現在の関数を抜けるまでプログラムを実行

33
ブレークポイントの無効化

チェックを外すと無効になる

34
ブラックボックス化

目のアイコンをクリックするとファイル単位で
ブレークポイントを無効化できる

35
ブレークポイントの削除

ブレークポイントのクリックで、削除

36
JavaScriptプロファイラ

37
JavaScript プロファイラ
https://developer.mozilla.org/docs/Tools/Profiler

「プロファイラ」から起動

•

ボトルネックの発見に有用

•

サンプリング型プロファイラ

38
タイムライン

•

横軸が時間、縦軸がコールスタックのサイズ

39
サンプリング結果の表示

•

ドリルダウンでボトルネックを探索

40
タイムラインのズームイン

気になる範囲を選択してズーム

41
ネットワークモニタ

42
ネットワークモニタ
https://developer.mozilla.org/docs/Tools/Network_Monitor

•

Firebug のネットワークに対応するツール

•

「ネットワーク」をクリックして表示

43
通信の詳細

•

通信をクリックすると表示される

•

「再送信」ボタンで同じ通信を再送信

44
Cookie の閲覧

•

Cookie タブ

•

送信した Cookie の

詳細を表示

•

絞り込み可能

45
リクエストとレスポンスのタイミング

•

「タイミング」タブ

•

通信時間を可視化

•

リクエスト

•

レスポンス

•

レスポンス待ち

46
モバイル向けの開発支援

47
モバイル向け開発の支援ツール

•

シミュレーション環境の提供

•
•

Firefox OS シミュレータ

•
•

レスポンシブデザインビュー

App Manager (Firefox 26 以降)

リモートデバッグ機能

48
レスポンシブデザインビュー
https://developer.mozilla.org/docs/Tools/Responsive_Design_View

49
More Display Resolutions
https://addons.mozilla.org/firefox/addon/more-display-resolutions/

•

Firefox のアドオン

•

様々なデバイスの解像度を、レスポンシブデザ
インビューのプリセットに追加

50
タッチイベントのエミュレーション

•

レスポンシブデザインビューで
タッチイベントを

エミュレートできる

•

Firefox 26 以降

51
Firefox OS シミュレータ
https://addons.mozilla.org/firefox/addon/firefox-os-simulator/

•

Firefox のアドオン

•

開発ツールでのテスト、デバッグ

•

コンソール

•

デバッガの利用

•

ネットワークモニタ

•

etc
52
App Manager
https://developer.mozilla.org/docs/Mozilla/Firefox_OS/Using_the_App_Manager

•

Firefox OSアプリ開発・管理ツール

•

標準で利用できるようになった

•

Firefox 26 以降

•

複数バージョンのシミュレータを利用可能

•

開発ツールを利用したテスト、デバッグ可能

53
リモートデバッグ
https://developer.mozilla.org/docs/Tools/Remote_Debugging

開発ツールを使って、Android端末で動作するコードを
リアルタイムにデバッグできる

54
リモートデバッグ
https://developer.mozilla.org/docs/Tools/Remote_Debugging

•

リモートで実行しているコードのデバッグ

•

リモート

•

同一デバイス内の異なるプロセス

•

USB接続されているAndroid端末上のFirefox

•

USB接続されているFirefox OS端末

55
リモートデバッグにはADBが必要

•

デスクトップ側にインストールする

•

インストール方法
1. Android SDK をインストールする
2. Android SDK から Android Platform Tools を
インストール
3. platform-tools ディレクトリ内にadbを配置

56
Android端末との接続
1. USBケーブルで接続する
2. Android端末側のFirefoxで、

リモートデバッグを有効にする
3. デスクトップ側の開発ツールから接続
!

詳しくはMDNを参照してください

57
まとめ

58
Firebug と開発ツール
•

Mozilla は両者ともサポートしてゆく

•
•
•

開発ツールはDev-Toolsチームが開発
Firebug はスタッフとコミュニティによる開発

開発ツールの優位点

•
•
•

Firebug と比べて軽量
Firefox OSやAndroid版Firefoxとの親和性

Firebugの優位点:豊富なプラグイン
59
まとめ

•

Firefox 標準の開発ツールはFirebugに劣らない

•

Firebug よりも軽量

•

モバイル開発との親和性も高い

•

App Manager / Firefox OS シミュレータ

•

リモートデバッグ

60

More Related Content

Similar to Firefoxの開発ツール

JavaScript And Keywords
JavaScript And KeywordsJavaScript And Keywords
JavaScript And Keywordsuupaa
 
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜Kensaku Komatsu
 
Openness, Innovation and Opptunity
Openness, Innovation and OpptunityOpenness, Innovation and Opptunity
Openness, Innovation and OpptunityMakoto Kato
 
Firefox 4 with SVG
Firefox 4 with SVGFirefox 4 with SVG
Firefox 4 with SVGMakoto Kato
 
Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04敦志 金谷
 
ブラウザの歴史
ブラウザの歴史ブラウザの歴史
ブラウザの歴史Makoto Kato
 
FirefoxとMozillaでのSVGの取り組み
FirefoxとMozillaでのSVGの取り組みFirefoxとMozillaでのSVGの取り組み
FirefoxとMozillaでのSVGの取り組みMakoto Kato
 
7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminarAtushi Sugiyama
 
Firefox拡張機能を始める
Firefox拡張機能を始めるFirefox拡張機能を始める
Firefox拡張機能を始めるegtra
 
無償版Visual StudioでいろいろWeb開発
無償版Visual StudioでいろいろWeb開発無償版Visual StudioでいろいろWeb開発
無償版Visual StudioでいろいろWeb開発Narami Kiyokura
 
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境Kazumi IWANAGA
 
パワーユーザー必携の海外の拡張機能20選+α
パワーユーザー必携の海外の拡張機能20選+αパワーユーザー必携の海外の拡張機能20選+α
パワーユーザー必携の海外の拡張機能20選+αAkira Maruyama
 
Ocs2013 tokyo spring_plone
Ocs2013 tokyo spring_ploneOcs2013 tokyo spring_plone
Ocs2013 tokyo spring_ploneManabu Terada
 
AI搭載の新しいBingとEdge
AI搭載の新しいBingとEdgeAI搭載の新しいBingとEdge
AI搭載の新しいBingとEdgeTomokazu Kizawa
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Shogo Kawahara
 
Development tools for WordPress
Development tools for WordPressDevelopment tools for WordPress
Development tools for WordPressBREN
 
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...Fujio Kojima
 

Similar to Firefoxの開発ツール (20)

JavaScript And Keywords
JavaScript And KeywordsJavaScript And Keywords
JavaScript And Keywords
 
20090828 Webconlocal
20090828 Webconlocal20090828 Webconlocal
20090828 Webconlocal
 
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
 
Openness, Innovation and Opptunity
Openness, Innovation and OpptunityOpenness, Innovation and Opptunity
Openness, Innovation and Opptunity
 
.NET vNext
.NET vNext.NET vNext
.NET vNext
 
Firefox 4 with SVG
Firefox 4 with SVGFirefox 4 with SVG
Firefox 4 with SVG
 
Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04
 
ブラウザの歴史
ブラウザの歴史ブラウザの歴史
ブラウザの歴史
 
FirefoxとMozillaでのSVGの取り組み
FirefoxとMozillaでのSVGの取り組みFirefoxとMozillaでのSVGの取り組み
FirefoxとMozillaでのSVGの取り組み
 
7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar
 
Firefox拡張機能を始める
Firefox拡張機能を始めるFirefox拡張機能を始める
Firefox拡張機能を始める
 
無償版Visual StudioでいろいろWeb開発
無償版Visual StudioでいろいろWeb開発無償版Visual StudioでいろいろWeb開発
無償版Visual StudioでいろいろWeb開発
 
Firefox OS アプリ開発
Firefox OS アプリ開発Firefox OS アプリ開発
Firefox OS アプリ開発
 
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
 
パワーユーザー必携の海外の拡張機能20選+α
パワーユーザー必携の海外の拡張機能20選+αパワーユーザー必携の海外の拡張機能20選+α
パワーユーザー必携の海外の拡張機能20選+α
 
Ocs2013 tokyo spring_plone
Ocs2013 tokyo spring_ploneOcs2013 tokyo spring_plone
Ocs2013 tokyo spring_plone
 
AI搭載の新しいBingとEdge
AI搭載の新しいBingとEdgeAI搭載の新しいBingとEdge
AI搭載の新しいBingとEdge
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
 
Development tools for WordPress
Development tools for WordPressDevelopment tools for WordPress
Development tools for WordPress
 
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
 

More from Noritada Shimizu

20150512 webgl-off-the-main-thread
20150512 webgl-off-the-main-thread20150512 webgl-off-the-main-thread
20150512 webgl-off-the-main-threadNoritada Shimizu
 
asm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web gamesasm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web gamesNoritada Shimizu
 
Mozilla とブラウザゲーム
Mozilla とブラウザゲームMozilla とブラウザゲーム
Mozilla とブラウザゲームNoritada Shimizu
 
2016 gunma.web games-and-asm.js
2016 gunma.web games-and-asm.js2016 gunma.web games-and-asm.js
2016 gunma.web games-and-asm.jsNoritada Shimizu
 
20151128 firefoxos-handson
20151128 firefoxos-handson20151128 firefoxos-handson
20151128 firefoxos-handsonNoritada Shimizu
 
Inspection & Tweak: Firefox を使ったフロント開発
Inspection & Tweak: Firefox を使ったフロント開発Inspection & Tweak: Firefox を使ったフロント開発
Inspection & Tweak: Firefox を使ったフロント開発Noritada Shimizu
 
20150829 firefox-os-handson
20150829 firefox-os-handson20150829 firefox-os-handson
20150829 firefox-os-handsonNoritada Shimizu
 
20150727 Development tools for Firefox OS apps
20150727 Development tools for Firefox OS apps20150727 Development tools for Firefox OS apps
20150727 Development tools for Firefox OS appsNoritada Shimizu
 
Firefox OS でアプリを作るときに気をつけたい N 個のこと
Firefox OS  でアプリを作るときに気をつけたい N 個のことFirefox OS  でアプリを作るときに気をつけたい N 個のこと
Firefox OS でアプリを作るときに気をつけたい N 個のことNoritada Shimizu
 
Firefox OSアプリ開発ハンズオン(Hello World編)
Firefox OSアプリ開発ハンズオン(Hello World編)Firefox OSアプリ開発ハンズオン(Hello World編)
Firefox OSアプリ開発ハンズオン(Hello World編)Noritada Shimizu
 
WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)
WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)
WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)Noritada Shimizu
 
Application submission, management and manetization in Firefox Marketplace
Application submission, management and manetization in Firefox MarketplaceApplication submission, management and manetization in Firefox Marketplace
Application submission, management and manetization in Firefox MarketplaceNoritada Shimizu
 

More from Noritada Shimizu (20)

20160803 devrel
20160803 devrel20160803 devrel
20160803 devrel
 
20160713 webvr
20160713 webvr20160713 webvr
20160713 webvr
 
20160601 devtools
20160601 devtools20160601 devtools
20160601 devtools
 
20150512 webgl-off-the-main-thread
20150512 webgl-off-the-main-thread20150512 webgl-off-the-main-thread
20150512 webgl-off-the-main-thread
 
20160428 html5jwebplat
20160428 html5jwebplat20160428 html5jwebplat
20160428 html5jwebplat
 
asm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web gamesasm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web games
 
Mozilla とブラウザゲーム
Mozilla とブラウザゲームMozilla とブラウザゲーム
Mozilla とブラウザゲーム
 
2016 gunma.web games-and-asm.js
2016 gunma.web games-and-asm.js2016 gunma.web games-and-asm.js
2016 gunma.web games-and-asm.js
 
20151224-games
20151224-games20151224-games
20151224-games
 
20151128 firefoxos-handson
20151128 firefoxos-handson20151128 firefoxos-handson
20151128 firefoxos-handson
 
20151117 devtools
20151117 devtools20151117 devtools
20151117 devtools
 
Inspection & Tweak: Firefox を使ったフロント開発
Inspection & Tweak: Firefox を使ったフロント開発Inspection & Tweak: Firefox を使ったフロント開発
Inspection & Tweak: Firefox を使ったフロント開発
 
20150822 osc-shimane
20150822 osc-shimane20150822 osc-shimane
20150822 osc-shimane
 
20150829 firefox-os-handson
20150829 firefox-os-handson20150829 firefox-os-handson
20150829 firefox-os-handson
 
20150829 firefox-os
20150829 firefox-os20150829 firefox-os
20150829 firefox-os
 
20150727 Development tools for Firefox OS apps
20150727 Development tools for Firefox OS apps20150727 Development tools for Firefox OS apps
20150727 Development tools for Firefox OS apps
 
Firefox OS でアプリを作るときに気をつけたい N 個のこと
Firefox OS  でアプリを作るときに気をつけたい N 個のことFirefox OS  でアプリを作るときに気をつけたい N 個のこと
Firefox OS でアプリを作るときに気をつけたい N 個のこと
 
Firefox OSアプリ開発ハンズオン(Hello World編)
Firefox OSアプリ開発ハンズオン(Hello World編)Firefox OSアプリ開発ハンズオン(Hello World編)
Firefox OSアプリ開発ハンズオン(Hello World編)
 
WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)
WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)
WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)
 
Application submission, management and manetization in Firefox Marketplace
Application submission, management and manetization in Firefox MarketplaceApplication submission, management and manetization in Firefox Marketplace
Application submission, management and manetization in Firefox Marketplace
 

Firefoxの開発ツール