You are previewing Creating Applications with Mozilla.
O'Reilly logo
Creating Applications with Mozilla

Book Description

Mozilla is not just a Web browser. Mozilla is also a framework for building cross-platform applications using standards such as CSS (Cascading Style Sheets), XML languages such as XUL (XML-based User-interface Language), XBL (eXtensible Binding Language), and RDF (Resource Description Framework), as well as Gecko, Mozilla's rendering engine, and other technologies.

The Mozilla development framework also makes use of programming languages such as JavaScript, C++, C, Python, and IDL (Interface Definition Language), plus framework technologies such as XPConnect and XPCOM, Mozilla's component model.

In addition to Netscape's Mozilla-based browsers (Netscape 6.x and 7.x), the Mozilla framework has been used to create other browsers such as Galeon and Chimera, and chat clients such as ChatZilla and JabberZilla. Developers have also used Mozilla to create development tools, browser enhancements, and games, as well as many other types of add-ons and applications.

This book explains how applications are created with Mozilla and provides step-by-step information about how you can create your own programs using Mozilla's powerful cross-platform development framework. This book also includes examples of many different types of existing applications to demonstrate some of the possibilities of Mozilla development.

Table of Contents

  1. Cover Page
  2. Title Page
  3. Contents
  4. Copyright
  5. Preface
    1. 1. Mozilla Background
    2. 2. The State of Mozilla
    3. 3. Who Should Read This Book
    4. 4. Platform and Applications
    5. 5. Structure of the Book
    6. 6. How This Book Was Written
    7. 7. Mozilla Licensing Information
    8. 8. Conventions
    9. 9. Comments and Questions
    10. 10. Acknowledgments
  6. Chapter 1. Mozilla as Platform
    1. 1.1. Visualizing Mozilla's Front End
    2. 1.2. Setting Up Your System
    3. 1.3. Mozilla Applications
  7. Chapter 2. Getting Started
    1. 2.1. Simple XUL Example
    2. 2.2. Basic XUL Concepts
    3. 2.3. Making Mozilla Work for You
    4. 2.4. Displaying XUL Files as Chrome
    5. 2.5. Creating a Package
    6. 2.6. Launching the Application
  8. Chapter 3. XUL Elements and Features
    1. 3.1. The XUL Document Object
    2. 3.2. Application Windows
    3. 3.3. Application Widgets
    4. 3.4. Tabular and Hierarchical Information
    5. 3.5. Words and Pictures
    6. 3.6. Form Controls
    7. 3.7. Widget Interaction
    8. 3.8. Content Panels
    9. 3.9. The Box Model
    10. 3.10. XUL Attributes
    11. 3.11. Overlays
    12. 3.12. The Extras
    13. 3.13. Building the Application Shell
  9. Chapter 4. CSS in Mozilla Applications
    1. 4.1. Interface Basics
    2. 4.2. Introduction to CSS in Mozilla
    3. 4.3. Mozilla Skins
    4. 4.4. Creating New Skins
    5. 4.5. What Is Possible in a Skin?
  10. Chapter 5. Scripting Mozilla
    1. 5.1. Faces of JavaScript in Mozilla
    2. 5.2. JavaScript and the DOM
    3. 5.3. Adding Scripts to the UI
    4. 5.4. XPConnect and Scriptable Components
    5. 5.5. JavaScript Application Code
  11. Chapter 6. Packaging and Installing Applications
    1. 6.1. Packaging and Installing Overview
    2. 6.2. Packaging Mozilla Applications
    3. 6.3. Installing Mozilla Applications
    4. 6.4. Finishing Things Up
    5. 6.5. Extra Tricks for Customizing an Application
  12. Chapter 7. Extending the UI with XBL
    1. 7.1. What Is XBL?
    2. 7.2. Anatomy of a Binding
    3. 7.3. Adding Behavior to Bindings
    4. 7.4. XBL and the DOM
    5. 7.5. Inheritance
    6. 7.6. Event Handling
    7. 7.7. Resources for Bindings
  13. Chapter 8. XPCOM
    1. 8.1. What Is XPCOM?
    2. 8.2. Creating XPCOM Components
  14. Chapter 9. XUL Templates
    1. 9.1. Understanding XUL Templates
    2. 9.2. Enhancing XUL Templates
    3. 9.3. Using Other XUL Tags for Templates
  15. Chapter 10. RDF, RDF Tools, and the Content Model
    1. 10.1. RDF Basics
    2. 10.2. The Mozilla Content Model
    3. 10.3. RDF Components and Interfaces
    4. 10.4. Template Dynamics
    5. 10.5. JSLib RDF Files
    6. 10.6. Manifests
  16. Chapter 11. Localization
    1. 11.1. Localization Basics
    2. 11.2. DTD Entities
    3. 11.3. String Bundles
    4. 11.4. Programming and Localization
    5. 11.5. The Chrome Registry and Locale
    6. 11.6. Localization Issues
  17. Chapter 12. Remote Applications
    1. 12.1. Directions in Remote Application Development
    2. 12.2. Basic Remote Application Example
    3. 12.3. Setting Up XPFE for Remote Applications
    4. 12.4. Generated Content
    5. 12.5. Certificate Authorities and Digital Signatures
    6. 12.6. Creating Signed Remote Applications
    7. 12.7. Expanded Privileges in Mozilla
    8. 12.8. Signed Remote Snake Game
    9. 12.9. Mozilla's XML Extras and SOAP
    10. 12.10. Looking Forward
  18. Appendix A. Getting and Building the Mozilla Source
    1. A.1. Getting the Source Code
    2. A.2. Building the Source Code
  19. Appendix B. Development Tools
    1. B.1. XULKit
    2. B.2. Patch Maker 2.0
    3. B.3. The DOM Inspector
    4. B.4. The Component Viewer
    5. B.5. Venkman: The JavaScript Debugger
    6. B.6. MozillaTranslator
    7. B.7. Missing Parts
  20. Appendix C. Programmer's Reference
    1. C.1. XUL Element Set
    2. C.2. XBL Element Set
    3. C.3. Event Attributes
  21. Colophon