SlideShare a Scribd company logo
Develop 
plugin for 
Mozilla Firefox 
and structure a JavaScript-based 
application
Modular JavaScript
• CommonJS 
• AMD 
• Harmony (ECMAScript.next)
CommonJS 
A Module Format Optimized For The Server
// package/lib is a dependency we require 
var lib = require('package/lib'); 
// some behavior for our module 
function foo(){ 
lib.log('hello world!'); 
} 
// export (expose) foo to other modules 
exports.foo = foo;
AMD 
Asynchronous Module Definition
“CommonJS AMD format”
Proposal for defining modules where both the module and 
dependencies can be asynchronously loaded.
Develop plugin for Mozilla Firefox and structure a JS-based application
define( 
module_id, 
[dependencies], 
definition function 
);
AMD & CommonJS 
A module that works in both server-side and client-side
UMDjs 
https://github.com/umdjs/umd
Develop for Firefox
Classic 
Traditional, classic, or XUL extensions
<menu id="xulschoolhello-hello-menu" label="&xulschoolhello.hello.label;" 
accesskey="&xulschoolhello.helloMenu.accesskey;" insertafter="helpMenu"> 
<menupopup> 
<menuitem id="xulschoolhello-hello-menu-item" 
label="&xulschoolhello.hello.label;" 
accesskey="&xulschoolhello.helloItem.accesskey;" 
oncommand="XULSchoolChrome.BrowserOverlay.sayHello(event);" /> 
</menupopup> 
</menu>
Add-on SDK 
HTML, CSS, JavaScript
Using the Add-on SDK you can create Firefox add-ons using 
standard Web technologies: JavaScript, HTML, and CSS. 
! 
The SDK includes JavaScript APIs which you can use to 
create add-ons, and tools for creating, running, testing, and 
packaging add-ons.
Sources 
• Writing Modular JavaScript With AMD, CommonJS 
& ES Harmony written by Addy Osmani 
• Mozilla developers network - developer.mozilla.org
Thanks. Questions? 
Afshin Mehrabani 
@afshinmeh

More Related Content

DOCX
Aem Training Tutorials for Beginners
PPTX
Asynchronous Module Definition (AMD) used for Dependency Injection (DI) and MVVM
DOCX
AEM New course content for online training classes
PDF
AEM 6.X (With Basics) Training Syllabus
PPT
Joomla Intro
PDF
JBoss AS7 web services
PPT
JavaScript Modules in Practice
PPSX
RequireJS
Aem Training Tutorials for Beginners
Asynchronous Module Definition (AMD) used for Dependency Injection (DI) and MVVM
AEM New course content for online training classes
AEM 6.X (With Basics) Training Syllabus
Joomla Intro
JBoss AS7 web services
JavaScript Modules in Practice
RequireJS

What's hot (20)

PPTX
The Drupal Strongarm Module - Tips and Tricks.
KEY
Intro to Features Module on Drupal
PPTX
uRequire@greecejs: An introduction to http://uRequire.org
PPTX
YMC Season 4 - Day8
PDF
April 2010 - JBoss Web Services
PDF
Lightning Talk: Making JS better with Browserify
PDF
Once upon a time, there were css, js and server-side rendering
PPTX
Meteor modules
KEY
A nodejs application
PDF
C3 웹기술로만드는모바일앱
TXT
Codedaftarisi
PDF
Browserify
KEY
Tricky Migrations
PDF
MongoDB + Node.JS + EPAM ROAD
KEY
Modules and EmbedJS
PDF
Easy as pie creating widgets for ibm connections
PPT
Architecture of Drupal - Drupal Camp
PPT
Managing JavaScript Dependencies With RequireJS
PPTX
Introduction to TomatoCMS
PDF
Whmcs addon module docs
The Drupal Strongarm Module - Tips and Tricks.
Intro to Features Module on Drupal
uRequire@greecejs: An introduction to http://uRequire.org
YMC Season 4 - Day8
April 2010 - JBoss Web Services
Lightning Talk: Making JS better with Browserify
Once upon a time, there were css, js and server-side rendering
Meteor modules
A nodejs application
C3 웹기술로만드는모바일앱
Codedaftarisi
Browserify
Tricky Migrations
MongoDB + Node.JS + EPAM ROAD
Modules and EmbedJS
Easy as pie creating widgets for ibm connections
Architecture of Drupal - Drupal Camp
Managing JavaScript Dependencies With RequireJS
Introduction to TomatoCMS
Whmcs addon module docs
Ad

Similar to Develop plugin for Mozilla Firefox and structure a JS-based application (20)

PPTX
JavaScript Module Loaders
PDF
Webpack: your final module bundler
PDF
Social Connections VI — IBM Connections Extensions and Themes Demystified
PDF
IOC + Javascript
PDF
NodeJs Modules1.pdf
PDF
JavaScript Modules Done Right
PPTX
Getting modular with OSGI
PDF
What is the Joomla Framework and why do we need it?
PDF
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
PDF
Advanced Node.JS Meetup
PPTX
Es build presentation
PDF
Symfony2 revealed
PDF
WebNet Conference 2012 - Designing complex applications using html5 and knock...
PDF
Firefox extension Development
PDF
Workshop 2: JavaScript Design Patterns
PPT
Firefox Modding
PPT
Zend Framework 2
PDF
ITB2017 - Keynote
PDF
Modular Architectures using Micro Services
PPTX
Extending eZ Platform v2 with Symfony and React
JavaScript Module Loaders
Webpack: your final module bundler
Social Connections VI — IBM Connections Extensions and Themes Demystified
IOC + Javascript
NodeJs Modules1.pdf
JavaScript Modules Done Right
Getting modular with OSGI
What is the Joomla Framework and why do we need it?
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
Advanced Node.JS Meetup
Es build presentation
Symfony2 revealed
WebNet Conference 2012 - Designing complex applications using html5 and knock...
Firefox extension Development
Workshop 2: JavaScript Design Patterns
Firefox Modding
Zend Framework 2
ITB2017 - Keynote
Modular Architectures using Micro Services
Extending eZ Platform v2 with Symfony and React
Ad

Recently uploaded (20)

PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPT
Introduction Database Management System for Course Database
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Introduction to Artificial Intelligence
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
L1 - Introduction to python Backend.pptx
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Introduction Database Management System for Course Database
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
CHAPTER 2 - PM Management and IT Context
How to Migrate SBCGlobal Email to Yahoo Easily
Odoo Companies in India – Driving Business Transformation.pdf
Adobe Illustrator 28.6 Crack My Vision of Vector Design
ManageIQ - Sprint 268 Review - Slide Deck
How to Choose the Right IT Partner for Your Business in Malaysia
Design an Analysis of Algorithms I-SECS-1021-03
Operating system designcfffgfgggggggvggggggggg
Introduction to Artificial Intelligence
Understanding Forklifts - TECH EHS Solution
Odoo POS Development Services by CandidRoot Solutions
Upgrade and Innovation Strategies for SAP ERP Customers
L1 - Introduction to python Backend.pptx
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Design an Analysis of Algorithms II-SECS-1021-03

Develop plugin for Mozilla Firefox and structure a JS-based application