# mozilla-mobile/fenix

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mozilla-mobile-fenix).**

6,394 stars · 1,296 forks · Kotlin · MPL-2.0 · archived

## Links

- GitHub: https://github.com/mozilla-mobile/fenix
- Homepage: https://github.com/mozilla-mobile/firefox-android
- awesome-repositories: https://awesome-repositories.com/repository/mozilla-mobile-fenix.md

## Topics

`android` `browser` `firefox` `mozilla`

## Description

Fenix is an open-source mobile web browser for Android that uses Mozilla's GeckoView engine to render web pages with full platform support. It is built as an Android application that provides core browsing capabilities including tab management, bookmarks, and privacy controls, and is developed as a multi-repository project that coordinates the browser UI, reusable Android components, and the rendering engine across separate codebases.

The browser's interface is organized as a component-based architecture, where the UI is assembled from a set of reusable Android components that can be developed and tested independently. The project uses a Gradle-based build system with multi-module compilation to manage dependencies and coordinate development across these separate repositories. Developers can substitute local versions of both Android components and the GeckoView engine during development, allowing them to test changes before committing them to the main codebase.

The project encompasses mobile browser development, cross-platform browser engineering, and open-source browser maintenance, with a focus on Android component development and GeckoView engine testing. The documentation and build configuration support local component and engine substitution workflows to facilitate development and testing.

## Tags

### Development Tools & Productivity

- [GeckoView Engine Integrations](https://awesome-repositories.com/f/development-tools-productivity/project-configuration/toml-configuration-support/dual-format-configuration-support/rendering-engine-support/geckoview-engine-integrations.md) — Embeds Mozilla's GeckoView as the core rendering engine, providing full web platform support through a dedicated Android library.
- [Cross-Repository Development Workspaces](https://awesome-repositories.com/f/development-tools-productivity/git-repository-integrators/git-repository-integrators/multi-repository-workspaces/cross-repository-development-workspaces.md) — Supports development across separate repositories for the browser UI, Android components, and the rendering engine, coordinated through build configuration.

### Mobile Development

- [Mobile Web Browsers](https://awesome-repositories.com/f/mobile-development/mobile-web-browsers.md) — Building and testing a mobile web browser for Android, with features like tab management, privacy controls, and extension support.
- [GeckoView-Based Mobile Browsers](https://awesome-repositories.com/f/mobile-development/mobile-web-browsers/geckoview-based-mobile-browsers.md) — A mobile web browser for Android that uses Mozilla's GeckoView engine to render web pages with full platform support.
- [Android Applications](https://awesome-repositories.com/f/mobile-development/android-applications.md) — An Android application that provides web browsing capabilities with tab management, bookmarks, and privacy controls.
- [Component-Based Development](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-development/component-based-development.md) — Developing and testing Android components in isolation by substituting bundled libraries with local copies before committing changes.
- [Multi-Module Builds](https://awesome-repositories.com/f/mobile-development/android-module-management/multi-module-builds.md) — Uses Gradle to manage dependencies, component substitution, and multi-module compilation across separate repositories.

### DevOps & Infrastructure

- [Open-Source Browser Runtimes](https://awesome-repositories.com/f/devops-infrastructure/deployment-management/self-hosted-infrastructure-management/self-hosted-deployment-infrastructure/virtual-browser-hosting/open-source-browser-runtimes.md) — An open-source browser for Android that prioritizes user privacy and customization through community-driven development.

### Software Engineering & Architecture

- [Browser Platforms](https://awesome-repositories.com/f/software-engineering-architecture/browser-platforms.md) — Engineering a mobile browser that shares core components across platforms while tailoring the UI and features for Android.
- [Multi-Repository Browser Projects](https://awesome-repositories.com/f/software-engineering-architecture/multi-repository-browser-projects.md) — A browser project coordinated across separate repositories for the UI, components, and rendering engine.

### User Interface & Experience

- [Android Component-Based Browser UIs](https://awesome-repositories.com/f/user-interface-experience/reusable-ui-components/android-component-based-browser-uis.md) — A browser interface built from reusable Android components that can be developed and tested independently.

### Web Development

- [Android Component Architectures](https://awesome-repositories.com/f/web-development/component-based-architectures/component-based-architectures/mobile-component-architectures/android-component-architectures.md) — Organises the browser UI as a set of reusable, independently developed Android components that are assembled into the final application.
- [GeckoView-Based Browsers](https://awesome-repositories.com/f/web-development/web-browsers/geckoview-based-browsers.md) — An Android browser built on Mozilla's GeckoView engine for rendering web content with full web platform compatibility.

### Testing & Quality Assurance

- [Browser Engine Testing](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/browser-and-ui-testing/browser-automation-frameworks/browser-automation-testing/browser-engine-testing.md) — Validating engine-level modifications by swapping the packaged GeckoView with a locally built version during browser development.
