Download presentation
Presentation is loading. Please wait.
Published byKiara Jackson Modified over 10 years ago
1
Mark Phillip markphillip.com The Right Tools For The Right Job Building Add-ons for Firefox and Fennec
3
I've never created a Firefox add-on because...
4
” “ I've never created a Firefox add-on because I've been able to do most things I want to do using Greasemonkey / User Scripts.
5
” “ I've never created a Firefox add-on because I've never needed to.
6
” “ Never created a ff addon because the iPhone API is way too distracting.
7
Stats
8
1.5M Downloads/Day
9
192M In Use
10
1.5M Downloads/Day 192M In Use 1/3 of users have 1+
11
1.5M Downloads/Day 192M In Use 1/3 of users have 1+ 1.6B Downloads
12
Just how big is 1,656,860,490?
14
Firefox Culture?
15
AdBlock Plus FirebugFlagfoxDownload StatusbarSkipScreen
17
” “ I've never created a Firefox add-on because I'm not a programmer.
18
XUL XML User Interface Language
19
install.rdf chrome.manifest main.xul
20
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> mozilla@refreshaustin.org 1.0 2 Goodbye Cruel World Hello World is just too happy {ec8030f7-c20a-464f-9b0e-13a3a9e97384} 1.5 3.5.* install.rdf
21
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> mozilla@refreshaustin.org 1.0 2 Goodbye Cruel World Hello World is just too happy {ec8030f7-c20a-464f-9b0e-13a3a9e97384} 1.5 3.5.* install.rdf
22
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> mozilla@refreshaustin.org 1.0 2 Goodbye Cruel World Hello World is just too happy {ec8030f7-c20a-464f-9b0e-13a3a9e97384} 1.5 3.5.* install.rdf
23
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> mozilla@refreshaustin.org 1.0 2 Goodbye Cruel World Hello World is just too happy {ec8030f7-c20a-464f-9b0e-13a3a9e97384} 1.5 3.5.* install.rdf
24
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> mozilla@refreshaustin.org 1.0 2 Goodbye Cruel World Hello World is just too happy {ec8030f7-c20a-464f-9b0e-13a3a9e97384} 1.5 3.5.* install.rdf
25
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> mozilla@refreshaustin.org 1.0 2 Goodbye Cruel World Hello World is just too happy {a463f10c-3994-11da-9945-000d60ca027b} 0.4 2.5 install.rdf
26
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> mozilla@refreshaustin.org 1.0 2 Goodbye Cruel World Hello World is just too happy {a23983c0-fd0e-11dc-95ff-0800200c9a66} 0.1 1.0.* install.rdf
27
content refresh chrome/content/ application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} overlay chrome://browser/content/browser.xul chrome://refresh/content/main.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} chrome.manifest
28
content refresh chrome/content/ application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} overlay chrome://browser/content/browser.xul chrome://refresh/content/main.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} chrome.manifest
29
content refresh chrome/content/ application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} overlay chrome://browser/content/browser.xul chrome://refresh/content/main.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} chrome.manifest
31
There is no Dana, Only Zuul
35
I'm so emo. main.xul
36
I'm so emo. main.xul
37
I'm so emo. My fingernails are black. main.xul
38
I'm so emo. My fingernails are black. main.xul
39
<script type="text/javascript" src="chrome://refresh/content/js/main.js"/> I'm so emo. My fingernails are black. main.xul
41
Packaging
42
<target name="widgets.mozilla.build" depends="init, clean" description="Builds Mozilla Toolbar.xpi install file"> ANT Build
43
set x=extension_name xcopy %x% build /i /e xcopy build\content build\chrome\content /i /e rmdir /s /q build\content cd build\chrome 7z a -tzip "%x%.jar" * -r -mx=0 cd..\.. rmdir /s /q build\chrome\content rmdir /s /q build\chrome\locale rmdir /s /q build\chrome\skin replace chrome.manifest build cd build 7z a -tzip "%x%.xpi" * -r -mx=9 cd.. move build\%x%.xpi %x%.xpi rmdir /s /q build Windows Build
45
Deployment
47
Distribution
49
Statistics
51
Fennec
53
A Moment for JavaScript
55
Add-ons Tutorial https://developer.mozilla.org/en/Building_an_Extensio n
56
XUL Reference https://developer.mozilla.org/En/XUL
57
XUL IDEs https://wiki.mozilla.org/XUL:IDE
58
Firefox Add-ons https://addons.mozilla.org/en-US/firefox/
59
Fennec Add-ons https://addons.mozilla.org/en-US/mobile/
60
This Talk http://markphillip.com/talks
61
Mark Phillip markphillip.com Thanks!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.