Real World Mozilla Development: a one week crash course
Overview
Mozilla, creator of the popular Firefox web browser, is one of the largest collaborative open source projects in the world. Working on Mozilla is challenging, fun, and one of the best ways to gain real-world development experience. Getting involved with Mozilla means learning new skills, meeting new people, and having the opportunity to work on global software products with tens of millions of users. However, as exciting as it is, getting started can be intimidating and overwhelming—Mozilla has millions of lines of source code. This course will give you the knowledge you need to start building Firefox extensions by introducing you to the following topics (NOTE: a complete topic list is also available):
Topic List by Day
Monday - Introduction to Open Source and Mozilla
- What is Open Source?
- What is the Mozilla Project?
- The Mozilla developer community and its practices
- Mozilla Platform and Technology overview
- Using IRC to communicate with other Mozilla developers around the world
- Using Mozilla’s collaborative documentation tools (wikis, wiki markup)
Tuesday - Building Mozilla from Source
- More IRC
- The Mozilla Build Process and Build System
- Using Revision Control Systems (CVS and SVN)
- Introduction to make and writing Makefiles
- Building Mozilla from source code
Wednesday - Developing Mozilla
- Using developer tools (e.g., diff, patch, etc.)
- Using Mozilla webtools (LXR, Bonsai, Bugzilla, Pastebin)
- Finding your way around in the Mozilla source tree
- Introduction to XPCOM Components
- Writing your first XPCOM Component in C++
Thursday - Debugging and Testing
- Finishing your first XPCOM Component
- Learning how to debug Mozilla (C/C++ and JavaScript)
- Strategies for Testing XPCOM Components (e.g., xpcshell unit tests)
- Bugs, Bugzilla, Testing, and QA
- Bug Triage, methods of manual testing
Friday - Firefox and Extensions
- Modifying Firefox
- XUL and Javascript Firefox Extensions
- Writing your first XUL/JS Extension
- Combining your XPCOM and XUL Extension
- XULRunner and application deployment
Cost
Free for School of Computer Studies students and Seneca faculty/staff
Prerequisites
It is assumed that those taking the course already have some knowledge of programming (e.g., C/C++, JavaScript), but enthusiasm is more important than experience. There will be no tests and no exam, only hands-on opportunities to learn. Upon completion of the course you will have an excellent sense of the Mozilla project and its community, practices, tools, and opportunities.
When
Classes will run from Monday February 26 to Friday March 2, 2007, 10:00 am – 4:00 pm (one hour break for lunch).
Location
Seneca@York campus rooms S1206 (Monday only), and T4046 (rest of the week).
Registration
Registration is now closed!
Computer Studies students please register by sending an email from your learn account to Daman Panesar. Please include your student number. Faculty and staff please email David Humphrey