this post was submitted on 21 Nov 2023
2099 points (98.6% liked)
Technology
60060 readers
3375 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I recall the switch from Mozilla to Firefox as being a huge improvement not just in loading time, but the user interface felt much less sluggish overall and keyboard navigation was better. To me it felt like they had ditched 80% of the code base to make a lean, mean browsing machine. Both browsers were around for a couple of years so Firefox seemed more like a fork than a rebrand.
The way Mozilla worked and Firefox still works is there is a cross platform front-end implemented in XUL which is XHTML, CSS and Javascript. The engine underneath is the same (Gecko) but the frontend app over the top is what the user sees and controls buttons, menus, functionality.
Firefox was basically a fork of Mozilla stripped of the not-browser stuff and a cleaned up UI. It proved popular as a prototype so it grew into its own thing and Mozilla suite was abandoned. There is still a Seamonkey project that keeps Mozilla suite alive but it's outside of the Mozilla foundation.
The reason it's faster is that Mozilla was an entire suite expressed as a lot of XUL so it impacted loading times. XUL also had this neat trick that you could overlay XUL over the top of other XUL so the mail app was injecting buttons, menus and whatnot into the browser and vice versa. This was cached but it still had to be loaded. In addition and probably just as impactful, was that Mozilla shipped as dynamic libraries (DLLs) and a relatively small EXE, so it took time to start. In Firefox, the number of DLLs was reduced with static linking so it was more efficient to load.
If I remember correctly, XUL/XBL is dead. They removed that code a while back after they transitioned to WebExtensions. The current frontend is HTML, CSS and JavaScript.
There are still bits of XUL around but I believe the preference is to use HTML elements wherever possible and they've been stripping XUL elements out.