Traccia: » Mozilla as Platform - Intro

Ti trovi qui: Alca Labs » projects » learning » Mozilla as Platform - Intro


Non sei ancora collegato! Inserisci il tuo nome utente e la tua password per autenticarti. E' necessario che il tuo browser abbia i cookie abilitati.


Hai dimenticato la password? Richiedine una nuova: Invia nuova password

Mozilla as Platform - Intro


Category: Software Development
Duration: 3~4 day (12~16h)
Prerequisites: Javascript, XML, XHTML, CSS, DHTML

Course Goal is to introduce partecipants into “Mozilla as Platform” topics. Cause Mozilla is a very large platform this “1st Level Intro Course” only cover the “Javascript and XML Side” of the Platform to gently introduce partecipants into the topic.

DAY1: Introducing Mozilla (Project/Community, Foundation, Corporation); information to get in touch with the developer community; use of online Documentation; high level view of the platform; brief description of plugins and Firefox extensions' differences; description of technologies used in a Firefox extension (Javascript, XML, CSS, XUL); high level view of Chrome Registration and XPCOM concepts.

DAY2: XUL Hello World; brief description of XUL special features (from an XHTML point of view); use of some simple XUL control; use XUL layout features (box and flex); introduce some advanced XUL features (overlay, template); setting up Firefox extension development environment; introduction of useful Firefox extension's developer extensions (Javascript shells, debuggers and platform introspection tools); Install Manifest and Chrome Registration; shadow registration of an hello world extension.

DAY3: Describe differences between Chrome and Content (priviliged and unpriviliged javascript code); example of content and chrome interaction on MozREPL; more MozREPL (platform introspection and navigation); describe XPCOM Components and Services meaning and use; introduction of FUEL API; Extension dissection.



Content Skeleton

    • Understanding different meaning of the work “MOZILLA”
    • Understanding of Mozilla Community Structure
    • Knowledge of Mozilla Developers Services and Source/Share of Knowledge
    • Understanding Mozilla Platform architecture
    • Knowledge of XUL markup use
    • Understanding differences between chrome and content
    • Understanding Mozilla Addon structure and XPI distribution
    • Knowledge of useful extension and applicazion developer tools on mozilla platform
  • Extension Example
    • Description
      • a simple firefox extension
      • describe preparation of an extension developer environment
      • an example of chrome registration and install metadata
      • a button on the statusbar as example of Chrome Overlay
      • open a new tab as example of the new FUEL API
      • XUL templates regeneration with XML source
      • code a Tab Previewer with the canvas object as example of funny stuffs
  • Intro
    • Who's Mozilla?
    • Mozilla Developers Community
    • Online Manuals and API Reference
    • Printed Books
    • Mozilla Platform View
  • Firefox Extension Developer Primer
    • Extensions vs. Plugins
    • An High Level View of a Firefox Extension
      • Extension as XML+JS+CSS
      • Chrome Registration in Theory
      • why and when XPCOM
      • Mixed XUL / HTML
      • More XUL
        • controls
        • box e flex
        • overlays
        • template
    • Prepare your Development Environment
      • Mozilla Developer Tools
        • Priviliged Javascript Interactive Shels
          • XPCShell
          • MozREPL
        • Priviliged Javascript Debuggers
          • Venkman
          • ChromeBug
        • Priviliged Inspections Tools
          • DOMInspector + InspectorWidget
          • ChromeList
          • XPCOMViewer
        • Extension Developer Utils
          • Extensions Developer Extension
          • Console^2
        • IDE
          • XUL_Explorer
          • OpenKomodo/KomodoEdit
      • Firefox DEVEL Profile creation
      • Init your extension source directory
      • create your Install Manifest
      • create your Chrome Manifest
    • Chrome vs. Content
      • priviliged vs. unpriviliged
      • XPCNativeWrapper and wrappedJSObject
    • XPCOM Components vs. Services
      • describe difference between Components and Services
      • XPCOM Components and Services example of use
    • FUEL
      • Introduction to FUEL API
      • Application and other FUEL Objects

External References

Who's Mozilla?

Mozilla Platform and Technology overview

Mozilla Developers Community

Online Manuals and API Reference

XUL Intro

Chrome Intro

Development Tools



Mozilla Extensions Development

XULRunner and XULExplorer

Mozilla and Education

Mozilla Online Documentation