Google changed the web browsing game in 2008 when it released Chrome and Chromium. Chrome, the internet’s favorite browser, offered a lightweight, speedy, secure experience that quickly won adoption over Internet Explorer and Mozilla Firefox. Those competitors have been playing catch-up ever since.
Chromium, the lesser known “product”, is no browser per-se. It’s in fact the open source code project from which Chrome is built. It provides the baseline code so that Chrome developers, rival browsers, and hobbyists can continually create new builds, test new features, and overall contribute to the growth and maturity of the project. There are dozens of Chromium-based browsers, popular titles including Opera, Vivaldi, and Brave. The development platform itself runs on Visual Studio, requires a set of depot tools, and uses Ninja.
It’s a very active project and community and while the Chromium browser itself is really for tinkering purposes only, any web developer should check out the overall project.
For those looking to use Chromium as a browser you have much better, polished choices in the Chromium family of browsers in Chrome, Opera, Vivaldi, Brave, and a dozen others. However, you have two choices to pick from for Chromium development browsers.
• Chromium Canary. This is a daily-released build meant for developers. Or, if you fancy a tinker with the bleeding edge of browsers and can understand and undertake the risk of crashes and general instability, this might appeal to you. Of course it’s recommended for temporary use only. It lets you see the latest editions of pre-release extensions and features. Chromium. An even more unstable version of Chromium than Canary that does not receive auto-updates to the latest. So what it’s like as a developer? Let’s dive in to the resources and methodologies for the Chromium project. These include design documents, architecture overviews, testing methodologies, guides on contributing codes, how to report bugs, and the community tying it all together.
• Design documents. There are dozens of design documents spread across dozens of categories. Provided documentation includes those for how to Check out and Build, Sandboxing, Startup, Threading, and GPU Synchronizations, as well as Integrated Development Environment (IDE) setup guides, Git, Clang, General Development, Memory, and more.
• Architecture overviews. The Chromium architecture is predicated on the idea of using separate processes for browser tabs to protect the overall application from bugs and glitches in the rendering system.
Sandboxing allows the renderer to be run in a separate process with restricted access to system resources. The rendering engine is called Blink. Blink implements everything that renders content inside a browser tab, including but not limited to:
(1) It implements the specs of the web platform (e.g., HTML standard), including DOM, CSS and Web IDL
(3) request resources from the underlying network stack, and more.
General architecture docs cover the sandboxing concept, the security architecture, inter-process communication, process models, and more.
• Testing. Chromium provides a generic set of widgets for the test shell to minimize the differences to be recorded between platforms. There is a dashboard that testers use to identify flaky tests and compare test expectations across platforms, including upstream webkit.org's expectations. It currently supports webkit tests and gtest tests.
• Contributing code. In order to contribute code to the project, it’s first assumed that you have a working Chromium checkout and build. The project uses a Gerrit instance for code reviews. You’ll need to request a review, find a capable reviewer, and it must go through the review process and eventually receive approval. Automated testing is a must before submission.
• Reporting bugs. Chromium uses a bug reporting wizard at that requires users to fill out a form and meet some typical prerequisites before reporting the bug. You’ll need to verify it with the latest build, give details, describe expected behavior, provide screenshots if possible, and more.
• Community. What’s an open source project without a thriving, inclusive community? Chromium has active Google Groups for developers as well as a chromium IRC channel. These include a general discussion group, one for developing extensions, one for apps, another for HTML5 APIs, and at last one for accessibility technologies. Alternatives Mozilla Firefox is also open source.
Is there a better alternative?
The “MDN Web Docs” which was previously the Mozilla Developer Network began 3 years earlier than Chromium and offers a similar development experience in Firefox Quantum. It boasts a next-gen CSS engine, dev tools, master CSS grid, shapes edit, fonts panel, and more. The resource hub is laid out better than Chromium.
Where can you run this program?
The Chromium development environment can run on Windows, Linux (required for building Android), Mac (required for building iOS), Chrome OS, iOS, and Android. For Windows you’ll need Windows 7 or newer, Visual Studio 2017 or 2019, 100GB of Free space on a NTFS-formatted hard drive, a 64-bit Intel CPU and at least 8GB of RAM.
Open source technology is a wonder of the modern world. Any web developer remotely interested in browser technology ought to take a look at the Chromium project. The compulsion to actually use the Chromium browser is limited to a use-case, as it offers no real benefits to the average user.
Should you download it
Chromium’s direct value to a user is really limited to developers. If you fancy a peek at the guts underneath the most popular web browser, then it’s worth checking out the project. However, if you’re looking for a legitimate browser to use on your day-to-day Windows platform, please stick with a proven product like Chrome, any of the Chromium-based browsers (Opera, Vivaldi, Brave, Edge) or Firefox.