Creating Applications with Mozilla

Creating Applications with Mozilla

Paperback(First Edition)

$35.96 $39.95 Save 10% Current price is $35.96, Original price is $39.95. You Save 10%.
View All Available Formats & Editions
Choose Expedited Shipping at checkout for guaranteed delivery by Wednesday, September 25


Mozilla is not just a browser. Mozilla is also a framework that allows developers to create cross-platform applications. This framework is made up of JavaScript, CSS (Cascading Style Sheets), and Mozilla's XUL (XML-based User-interface Language) as well as the Gecko rendering engine, XBL (eXtensible Binding Language), XPCOM (Mozilla's component model), and several other components. Creating Applications with Mozilla 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 shows examples of many different types of existing applications to demonstrate some of the possibilities of Mozilla application development. One of Mozilla's biggest advantages for a developer is that Mozilla-based applications are cross-platform, meaning programs work the same on Windows as they do on Linux or the Mac OS.Working through the book, you are introduced to the Mozilla development environment and after installing Mozilla, you quickly learn to create simple applications. After the initial satisfaction of developing your own portable applications, the book branches into topics on modular development and packaging your application. In order to build more complex applications, coverage of XUL, JavaScript, and CSS allow you to discover how to customize and build out your application shell. The second half of the book explores more advanced topics including UI enhancement, localization, and remote distribution.Mozilla 1.0 was released on June 5th, 2002, after more than four years of development as an open source project. This book has been written so that all of the information and examples will work with this release and any of the 1.0.x maintenance releases. 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 games, development tools, browser enhancements, as well as all sorts of other types of applications.

Product Details

ISBN-13: 9780596000523
Publisher: O'Reilly Media, Incorporated
Publication date: 10/28/2002
Edition description: First Edition
Pages: 480
Product dimensions: 7.00(w) x 9.19(h) x 1.11(d)

About the Author

David has been involved in the Mozilla community for more than three years. He started the Mozilla development effort at Alphanumerica and set up the first two Mozilla Developer Meetings. At Alphanumerica David worked with Pete Collins on a number of Mozilla application including Aphrodite, Total Recall, and Chameleon. Pete and David also founded, a site offering free hosting for Mozilla applications. There are currently over 70 development projects hosted on the site. David has also written a number of articles about Mozilla including 'Getting Your Work Into Mozilla' and a series of articles discussing how to use Mozilla technologies to create a Pacman-like video game.

Brian has been hacking on Mozilla and related projects since early 1999. It began with a European funded project called Fabula to create software for children with the aim of learning minority languages like Basque, Catalan, Frisian, Irish, Welsh. This was built using Mozilla. Interest bloomed and he started contributing to the Mozilla Editor, and exploring the rest of the vast body of code. He moved on to work at ActiveState where he was heavily involved in the Komodo project, a scripting language IDE that uses the Mozilla application framework. Previously, Brian spent his time as a C++ applications developer, interspersed with some Perl development and XML consultancy. His technical interests include observing and participating in the re-shaping of the web environment brought about by XML. Other languages he dabbles in are PHP, Python, and JavaScript. Brian is now working as a Web technologies consultant.

Ian Oeschger is Senior Principal Writer at Netscape Communications, where was started over three years ago. His abiding interest in language is the basis for some of his more recent infatuations with Python, XML, web application development, and linguistics. He maintains a number of the XPFE documents on, including the XUL and DOM References. Ian published several articles about XML and mozilla application development for O'Reilly, and also wrote the themes documentation for Netscape, the XPInstall API Reference, and others. Before getting involved with Mozilla and Netscape, he worked at Oceania, a startup doing XML-based electronic medical records and charting software.

Pete got involved with the Mozilla project in April 1999 as a contributor to the editor module. He was also the first external developer to start documenting xul. His initial efforts were a remote, web enabled script editor and a community driven rewrite of the existing Mozilla UI. The project was later named Aphrodite. In January 2000, he joined with David Boswell and the Alphanumerica team. Together they evangelized Mozilla as a viable application platform through the many projects they created and Mozilla developer meetings they organized. Currently a software engineer employed by WorldGate, Pete is working on customizing Mozilla for their TV Internet Client Software. He is the co-founder of a site dedicated to Mozilla based projects. He is a regular Mozilla comitter and owner of various Mozdev projects including jslib and Chameleon.

Eric has been doing Mozilla development since Spring 2000, starting off with an instant-messenger client called Jabberzilla. He enjoys exploring opportunities of Jabber and Mozilla working together with new implementations, such as a collaborative whiteboard and real-time web content demonstrations. In 2002, Eric is looking forward to joining the workforce with a recent computer science degree from the University of Northern Iowa. Working on Mozilla projects has been a great resume-builder for him, and will always be an important part of his life to reflect on.

Table of Contents

1.Mozilla as Platform1
Visualizing Mozilla's Front End1
Setting Up Your System5
Mozilla Applications6
2.Getting Started9
Simple XUL Example9
Basic XUL Concepts11
Making Mozilla Work for You17
Displaying XUL Files as Chrome20
Creating a Package21
Launching the Application32
3.XUL Elements and Features34
The XUL Document Object34
Application Windows36
Application Widgets39
Tabular and Hierarchical Information43
Words and Pictures50
Form Controls53
Widget Interaction56
Content Panels59
The Box Model62
XUL Attributes68
The Extras72
Building the Application Shell74
4.CSS in Mozilla Applications79
Interface Basics79
Introduction to CSS in Mozilla84
Mozilla Skins96
Creating New Skins104
What Is Possible in a Skin?108
5.Scripting Mozilla113
Faces of JavaScript in Mozilla113
JavaScript and the DOM114
Adding Scripts to the UI124
XPConnect and Scriptable Components133
JavaScript Application Code137
6.Packaging and Installing Applications144
Packaging and Installing Overview144
Packaging Mozilla Applications146
Installing Mozilla Applications157
Finishing Things Up170
Extra Tricks for Customizing an Application172
7.Extending the UI with XBL175
What Is XBL?175
Anatomy of a Binding179
Adding Behavior to Bindings186
XBL and the DOM190
Event Handling201
Resources for Bindings203
What Is XPCOM?205
Creating XPCOM Components217
9.XUL Templates245
Understanding XUL Templates245
Enhancing XUL Templates250
Using Other XUL Tags for Templates261
10.RDF, RDF Tools, and the Content Model263
RDF Basics263
The Mozilla Content Model275
RDF Components and Interfaces278
Template Dynamics291
JSLib RDF Files294
Localization Basics301
DTD Entities305
String Bundles309
Programming and Localization312
The Chrome Registry and Locale318
Localization Issues324
12.Remote Applications326
Directions in Remote Application Development326
Basic Remote Application Example327
Setting Up XPFE for Remote Applications330
Generated Content332
Certificate Authorities and Digital Signatures339
Creating Signed Remote Applications346
Expanded Privileges in Mozilla350
Signed Remote Snake Game352
Mozilla's XML Extras and SOAP354
Looking Forward362
A.Getting and Building the Mozilla Source365
B.Development Tools374
C.Programmer's Reference391

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews