Mozilla 2 – The Future of the Mozilla Platform

Firefox 3 is not even out the door, but work has started on the next refactoring of the Mozilla platform. Dubbed Mozilla 2 (FF3 is built on Mozilla 1.9), it is a chance to make lots of interesting, even scary, changes to the platform. For some background on Mozilla 2 go back and read Brendan’s post. Also, read the Mozilla 2 wiki pages.

Actually, lots of work has already been completed and lots more work is underway. Checkout the notes from the status meetings. You can call in every Wednesday to hear what’s happening. The work on ActionMonkey and XPCOMGC is pretty exciting stuff (for geeks, I know).

Another of the more exciting goals of Mozilla 2 is the move to use more JavaScript and less C++. Yes, C++ is great for those times you really need it (performance & native APIs), but JavaScript can handle many things better, easier and without a compiler. Mozilla 2 is adding a lot of improvements to JavaScript as well, making it faster too.

Less C++ is really part of the “Less Binary Code” theme of Mozilla 2. Another part of that theme is reducing our XPCOM footprint. Benjamin Smedberg recently posted some information about goals for XPCOM in Mozilla 2 to the Wiki and Newsgroup. See Benjamin’s older post on XPCOM changes too. I encourage any extension, embedders and XUL application developers who use binary code to go and read the information.

9 Comments

  1. Justin Rodes said,

    February 12, 2008 @ 7:31 pm

    Maybe I am just a little thick-headed, but I have a hard time understanding what the difference is between Mozilla and Gecko. Are they the same thing?

  2. cucu said,

    February 13, 2008 @ 11:24 am

    I find quite surprising that people talk about exotic stuff but forget about the single most important thing that currently is missing – comprehensive support for multi-threading and multiple browser precesses – on an average page Firefox can be fuck*ng slow even on a quad-core system with 16 GB RAM, it can actually be so slow that you will not be able to switch to another tab (or Firefoc window) for 10-20 seconds !!!

  3. Tom Primoži? said,

    February 13, 2008 @ 11:32 am

    I am wondering… there has been some news recently about WebKit being far superior in terms of speed to just about anything (http://blogs.computerworld.com/safari_is_about_to_get_crazy_fast), and speed is an important factor in the popularity of web browsers and will become even more important as web browsers converge in terms of standards compliance. How will Mozilla be able to compete against the others with even more slow slow javascript? I think more things should go to C++ (or some other, more high level and less layered/delegated language) to ensure faster execution and smaller codebase (which is not a problem in itself, but results in longer load times).

    – Tom

  4. Tyler said,

    February 13, 2008 @ 1:03 pm

    @Justin Rodes;

    Mozilla is the company that makes Firefox, Thunderbird, and a few other applications. Gecko is the name of the rendering engine used in numerous browsers such as Firefox.

    Wikipedia should have all of the information you need. ;)

  5. horia314 said,

    February 13, 2008 @ 3:35 pm

    IMHO bad idea. Firefox is already kinda slow on my machine (granted it’s not the newest or fastest machine – but it’s a web browser, not some HP scientific application or video game), I’m not a guru on Firefox internals, but it seems to me like an over-engineered application – way to general for what it’s supposed to do (I’m talking here about Gecko – I bet it’s a ton of code in that framework, most of which would have better been hard-coded – how big and often do browser UIs change?)

  6. Dan said,

    February 13, 2008 @ 5:38 pm

    @Tyler

    I’m pretty sure that Justin was referring to the difference between the ‘Mozilla platform’ that this blog discusses and Gecko, I was also wondering the same thing

  7. Mark Finkle said,

    February 14, 2008 @ 2:12 am

    Generally, “Gecko” is the rendering engine while “Mozilla” is the entire platform: rendering engine, JS engine, XPCOM services, XULRunner runtime, …

  8. Justin Rodes said,

    February 15, 2008 @ 2:16 pm

    @Mark Finkle

    Got it. Thanks!

  9. Byron said,

    February 24, 2008 @ 4:06 pm

    I personally am happy to hear about the “Less Binary Code” theme, because that way slight optimizations to the js engine will result in optimizations all over the place. Great to hear it Mark!

RSS feed for comments on this post