667
edits
Changes
added week 9 -- XPCOM Part I
** Complete the [[Dive into Mozilla Modifying Firefox using an Extension Lab|lab]] and '''post the .xpi''' to your personal wiki page.
** Be working on your 0.2 release and write a '''blog post''' to update everyone on what you're planning, what you've done since 0.1, etc.
== Week 9 (Nov 10) - XPCOM Part I: Modular C++ Development in Mozilla ==
* Intro to [http://developer.mozilla.org/en/docs/XPCOM XPCOM]
** XPCOM can be built in C++ or [http://developer.mozilla.org/en/docs/How_to_Build_an_XPCOM_Component_in_Javascript using JS]
** Components, [http://developer.mozilla.org/en/docs/Interfaces Interfaces], and [http://developer.mozilla.org/en/docs/XPIDL XPIDL]
* Lab: [[Real World Mozilla First XPCOM Component|Creating a Binary C++ XPCOM Component]]. Use [http://cdot.senecac.on.ca/ff-cvs.tgz pre-built tree here] if you don't have a Firefox build. NOTE: must be extracted to '''C:\temp'''.
* '''Readings/Resources'''
** [http://sparc.senecacollege.ca/pub/mozilla.lecture/mozilla-20073/bsmedberg-xpcom-seneca.avi Introduction to XPCOM] (on-line lecture) by Mozilla's Benjamin Smedberg
** [http://benjamin.smedbergs.us/tests/XPCOM-intro.pdf Benjamin Smedberg's XPCOM Slides]
** [http://developer.mozilla.org/en/docs/Creating_XPCOM_Components "Creating XPCOM Components"] -- an excellent on-line book working step-by-step through creating a real XPCOM component.
** [http://ted.mielczarek.org/code/mozilla/jscomponentwiz/ JS Component Wizard]
* '''TODO'''
** 0.2 release is due sometime this week.
*** Update your wiki page
*** Upload your release "code"
*** Blog about your release, giving any instructions on how to use it, screenshots of it being used, etc.
** Begin the [[Real World Mozilla First XPCOM Component|lab]]. Because your 0.2 is due this week, you are not require do to complete the lab until next week. Put a '''zip''' with all your lab files on your personal wiki page when done.
* '''NOTE'''
** Thursday's class will be special, as we will have a guest speaker (Tom Aratyn) coming to talk about Extension Development.