43fec8bb89
This reverts commit
|
||
---|---|---|
_layouts | ||
assets/css | ||
experiments | ||
newsletter/_posts | ||
text | ||
.gitignore | ||
Gemfile | ||
ISSUE_TEMPLATE.md | ||
LICENSE | ||
README.md | ||
_config.yml | ||
newsletters.xml |
README.md
Firefox Browser Architecture
Vision
Build the world’s best web browser
Strategy
Our top priority is to plan for where we want to go, but if we just think 5 years out, we’ll miss the dragon on the doorstep. So we need to look from both angles:
- Look forward from where we are now: Move faster
- Look backwards from where we want to get to: Consciously plan our architecture
Our Conclusions
This is a list of our findings that we're reasonably happy with so far.
- Documenting our output looks at how we’re going to communicate with the rest of Mozilla.
- Extracting Necko considers whether it's feasible or worthwhile to extract Necko — Gecko's C++ networking library — for use as a standalone component.
- Problems with XUL aims to list the different kinds of problems that exist with XUL.
- XBL and Web Components compares some old Mozilla technology (XBL) with modern Web Components.
- Problems with XBL aims to list the different kinds of problems that exist with XBL.
- Architecture Reviews are healthy and we proposed a process for healthy reviews.
- XBL Design Review packet is the packet that we prepared for the architectural design review for XBL removal.
- Roadmap Review: Sync and Storage establishes that storage and syncing of user data is a pillar of the Firefox ecosystem, warranting holistic and long-term attention, and outlines where we’d like to end up and some ideas for how to get there.
- JavaScript Type Safety Systems are some conclusions of an investigation into the use of JavaScript type safety systems.
- Firefox Data Stores Documentation documents the existing data stores across all current Firefox platforms.
- Fluent in Prefs Design Review describes the lightweight design review for Fluent in Prefs.
- A brief analysis of JSON file-backed storage outlines some of the pros and cons of using a flat file (particularly via
JSONFile.jsm
) to store data in Firefox. - Process Isolation in Firefox is a WIP evaluation of how far we can push process isolation to improve security and stability.
- IPC Security Models and Status is an audit of our current IPC status.
- XUL Overlay Removal Review Packet is the packet that we prepared for the architectural design review for XUL Overlay removal.
- Design Review: Key-Value Storage proposes the introduction of a fast, cross-platform key-value store for Mozilla products.
Posts
We typically send our newsletters to firefox-dev.
- Browser Architecture Update. See also mailing-list-post.
- Browser Architecture Newsletter #2. See also mailing-list-post.
- Browser Architecture Newsletter #3. See also mailing-list-post.
- Browser Architecture Newsletter #4. See also mailing-list-post.
- Browser Architecture Newsletter #5. See also mailing-list-post.
Explorations and Experiments
To support our conclusions we occasionally perform explorations and experiments. The first exploration is designed to support the notion that we can create a sync and storage layer in Rust that we can deploy to Desktop, Android and iOS.
- Deploying a Rust library on iOS. A short tutorial describing how to build and deploy a Rust library for use inside an iOS app.
- Deploying a Rust library on Android. A short tutorial describing how to build and deploy a Rust library for use inside an Android app.