Chromium は、主にGoogleによって開発および保守されている、無料のオープンソースWeb ブラウザプロジェクトです。[ 3 ]これは広く使用されているコード ベースであり、 Google ChromeやMicrosoft Edge、Opera、Vivaldi、Brave、Samsung Browser、Ungoogled Chromiumなど、他の多くのブラウザのコードの大部分を提供しています。このコードは、いくつかのアプリ フレームワークでも使用されています。
Chromium は、フリーでオープンソースのソフトウェアプロジェクトです。WebKit プロジェクトを起源としているため、Chromium にはLGPL、MIT、Ms-PL、MPL (MPL/ GPL /LGPL の三者間ライセンス条項付き)など、さまざまなライセンスのコードが組み込まれています。[ 9 ] オリジナルの Google 作成部分と Apple 作成部分の一部は、3 条項 BSD ライセンスの下で共有されています。[ 8 ]
このライセンスにより、どの当事者もコードベースを構築し、結果として得られるブラウザ実行ファイルをChromiumの名前とロゴとともに共有することができます。そのため、多くのLinuxディストリビューション、 FreeBSD、OpenBSDなどがこれを行っています。[ 10 ] ChromiumはElectron の基盤にもなっており、ElectronはSlackなどの多くの商用および独自のクロスプラットフォームアプリケーションに使用されています。
Google ChromeやMicrosoft EdgeなどのChromiumベースのブラウザの多くは、ハードウェアアクセラレーション用の独自のラッパーライブラリなどの独自のコンポーネントを含んでいます。[ 11 ]
ChromiumはGoogle Chromeのソースコードの大部分を提供しているが、重要な違いも存在する。
Googleは当初、ブラウザの「 chrome 」を最小限に抑える意図で「Chrome」という名前を選びました。 [ 13 ]その後、オープンソース版はクロムメッキにクロム金属が使われることから「Chromium」と名付けられました。[ 1 ]
ChromeはChromiumと同じユーザーインターフェース機能を備えていますが、Googleブランドの配色になっています。Chromiumとは異なり、Chromeはオープンソースではありません。そのバイナリはGoogle Chrome利用規約に基づいてフリーウェアとしてライセンスされています。 [ 14 ]
Chromiumブラウザのコードベースには、コメントや空白行を除いて3600万行を超えるソースコードが含まれています。[ 4 ]
Chromiumは当初からGoogleのプロジェクトであり、[ 1 ] [ 3 ] 、開発作業の大部分はGoogleの従業員によって行われてきました。[ 15 ]
Google はこのプロジェクトと派生プロジェクトであるChromiumOS を「Chromium プロジェクト」と呼んでおり[ 2 ]、従業員はこの開発作業に @chromium.org のメールアドレスを使用しています。しかし、ガバナンスの観点から見ると、Chromium プロジェクトは独立した組織ではなく、Google がそれらをしっかりと管理しています[ 3 ] 。
Chromiumブラウザのコードベースは広く使用されているため、Microsoft、Avast、Igalia、Yandex、Intel、Samsung、LG、Opera、Vivaldi、Braveなど、多くの企業が重要な貢献をしています。[ 15 ] [ 3 ]これらの企業の従業員の中には、@chromium.org のメールアドレスを持っている人もいます。
Google は最初のマルチプロセスブラウザを設計しました。[ 16 ] [ 17 ]シングル プロセス設計と比較して、このアーキテクチャは、多数のブラウザタブを開いたときの応答性が向上し、プロセス分離によるセキュリティ上の利点がありますが、メモリ使用量が増えるというトレードオフがあります。[ 18 ] [ 19 ]これは後にプロセスごとの Web サイト分離として改良され、セキュリティがさらに向上しました。[ 18 ]
もう一つの重要な設計上の決定は、ブラウザのユーザーインターフェースをミニマルにすることだった。[ 17 ] [ 20 ] [ 21 ]
ブラウザエンジンは当初、Googleが利用可能な選択肢の中で「当然の選択」と判断したAppleのWebKitをベースにしていた。 [ 22 ]しかし、Googleの斬新なマルチプロセス設計により、エンジンの変更が必要となった。Appleのバージョンとのこの相違は時間とともに大きくなり、2013年にGoogleはBlinkエンジンとして正式に独自のバージョンをフォークした。[ 22 ] [ 23 ]しかし、2025年現在、GoogleはBlinkエンジンをiOSに搭載する作業を続けており、実験的なコードを公開している。[ 24 ]
C++は主要言語であり、コードベースの半分以上を占めています。[ 4 ]これには、BlinkおよびV8エンジン、 HTTPおよびその他のプロトコルの実装、内部キャッシュシステム、拡張API、およびほとんどのユーザーインターフェイスが含まれます。[ 25 ]
WebUI と呼ばれるユーザーインターフェースの残りの部分は、HTML、CSS、JavaScript (通常はTypeScriptによるトランスパイル) で実装されています。[ 25 ] [ 5 ]また、これらの言語に加えてXMLで記述された、広範なWeb プラットフォームテストも存在します。[ 6 ] [ 4 ]
SQLiteや多数のコーデックなど、必須機能を提供するサードパーティライブラリ[ 26 ]は、 C、C++、または2023年からはより新しいRust言語[ 27 ] [ 28 ]で記述されている。[ 4 ]
モバイルオペレーティングシステムのサポートには特別な言語が必要です。Androidの場合はJavaとKotlinの両方、iOSの場合はObjective-CとSwiftの両方が必要です。[ 5 ] [ 4 ]
Pythonはビルドシステムの主要言語であり、[ 4 ] GoogleのGNツール用の特別な設定ファイルも含まれています。[ 29 ]
バグ追跡システムは一般公開されているウェブサイトです。[ 30 ]参加者はメールアドレスで識別されます。
Chromiumの継続的インテグレーションシステムは、コードベースを1日に数回自動的にビルドおよびテストします。 [ 31 ]
ビルドは、メジャー.マイナー.ビルド.パッチの4つの部分からなるバージョン番号で識別されます。 [ 32 ]このバージョン管理スキームと6~7週間ごとに発生する分岐点は、 Google Chromeとその開発サイクルに由来しています。[ 33 ]
Google Chromeは2008年9月にデビューし、そのリリースと同時にChromiumのソースコードも公開され、それを基にビルドを構築することが可能になった。[ 1 ] [ 34 ] [ 35 ]
Chromeはリリース時に、マスターパスワードによる保護なしにユーザーのパスワードを保存しているとして批判された。Googleは、マスターパスワードは知識のあるハッカーに対しては実際にはセキュリティを提供しないと主張したが、ユーザーは、同僚や家族がコンピュータを借りて保存されたパスワードを平文で閲覧できるのを防ぐことができると主張した。[ 36 ] 2009年12月、Chromium開発者のP. Kastingは次のように述べた。「マスターパスワードは課題1397でした。その課題は解決済みです。マスターパスワードは実装しません。今も、これからも。それを主張しても実現しません。『多くの人がそれを望んでいる』としても実現しません。私たちの設計上の決定は民主的ではありません。常に自分の望むものを手に入れることはできません。」[ 37 ]

バージョン 3 は、 Linuxで利用可能な最初のアルファ版でした。Chromium はすぐに、Linux 用のネイティブテーマを組み込み、GTK+ツールキットを使用してGNOMEデスクトップ環境に適合させました。[ 38 ] [ 39 ] [ 40 ] [ 41 ]バージョン 3 では、JavaScript エンジンの最適化とユーザーが選択可能なテーマも導入されました。[ 42 ]
バージョン 6 では、ユーザー インターフェースのミニマリズムのための機能が導入されました。これは、Google の目標の 1 つは、ブラウザを「(認知的にも物理的にも)軽量で高速に感じさせる」ことだったためです。[ 21 ]変更点は、ツール メニューの統合、ホーム ボタンのデフォルト無効化 (ただしユーザー設定可能)、再読み込み/停止ボタンの統合、ブックマーク バーのデフォルト無効化などです。また、統合PDFリーダー、HTML ビデオで使用するためのWebMおよびVP8サポート、よりスマートなURLバーも導入されました。[ 43 ] [ 44 ]
バージョン7では、ハードウェアアクセラレーションにより、パフォーマンスが以前のバージョンの2倍に向上しました。[ 45 ] [ 46 ] [ 47 ]
バージョン8では、ChromeOSへの統合の改善とクラウド機能の強化に重点が置かれました。これには、バックグラウンドWebアプリケーション、ホストリモート(ユーザーが他のコンピュータの機能や設定を一元的に制御できるようにする機能)、クラウド印刷などが含まれます。[ 47 ]
バージョン 9 では、フィッシング攻撃を検知するための URL バー機能やAdobe Flashプラグインのサンドボックス化など、多くの機能が導入されました。その他、WebGLライブラリや新しいChrome Web ストアへのアクセスも追加されました。[ 48 ] [ 49 ] [ 50 ]

2月、Googleは、Webの黎明期からブラウザの定番であったURLバーを少なくとも部分的に廃止するなど、大規模なユーザーインターフェース(UI)の変更を検討していると発表した。提案されたUIは、タブの行、ナビゲーションボタンの行、メニュー、URLバーを1行に統合するものであった。その根拠は、Webページコンテンツのための画面スペースをより多く確保することであった。Googleは、これによりURLが常にユーザーに見えるとは限らないこと、ナビゲーションコントロールやメニューが文脈を失う可能性があること、そして結果として1行になったURLバーが非常に混雑する可能性があることを認めた。 [ 52 ]しかし、8月までに、Googleはこれらの変更はリスクが高すぎると判断し、このアイデアを棚上げした。[ 53 ]
3月、Googleはプロジェクトの他の方向性を発表しました。開発の優先事項は、実行ファイルのサイズの縮小、Webアプリケーションとプラグインの統合、クラウドコンピューティング、タッチインターフェースのサポートに重点が置かれました。[ 54 ] [ 55 ]そのため、UIにマルチプロファイルボタンが導入され、ユーザーは同じブラウザインスタンスで複数のGoogleアカウントやその他のアカウントにログインできるようになりました。その他の追加機能としては、マルウェア検出とハードウェアアクセラレーションによるCSS変換のサポートがありました。[ 56 ] [ 57 ]
5月までに、GoogleによるChromiumのファイルサイズ削減の試みの結果がすでに注目され始めていた。この分野における初期の作業の多くは、WebKit、画像リサイズツール、およびAndroidビルドシステムのサイズの縮小に集中していた。[ 58 ]その後の作業では、UIの垂直方向のスペースを削減した、よりコンパクトなモバイル版が導入された。[ 59 ] [ 60 ]
2011年のその他の変更点としては、すべてのページでのGPUアクセラレーション、新しいWeb Audio APIのサポートの追加、サードパーティがプラットフォームに依存しないバイナリとして提供するネイティブコードをブラウザ内で安全に実行できるようにするGoogle Native Client(NaCl)などがありました。[ 61 ] [ 62 ]また、 GoogleのSkiaグラフィックスライブラリもすべてのChromiumバージョンで利用可能になりました。[ 63 ] [ 64 ]

2012 年に Google Chrome に追加された同期サービスは、Chromium ビルドでも使用できました。[ 65 ] [ 66 ]同年には、高品質のビデオおよびオーディオ通信用の新しいAPIが追加され、 Web アプリケーションが許可を求めた後、ユーザーのWeb カメラとマイクにアクセスできるようになりました。[ 67 ] [ 68 ]その後、Windows用のGPUアクセラレーションによるビデオ デコードとQUICプロトコルのサポートが追加されました。[ 69 ] [ 70 ]
2013年に、Chromiumの改良版WebKitレンダリングエンジンがBlinkエンジンとして正式にフォークされました。[ 22 ] [ 23 ]
2013年のその他の変更点としては、ユーザープロファイルのリセット機能と新しいブラウザ拡張機能APIが挙げられます。[ 71 ]また、オーディオとウェブカメラの使用状況を示すタブインジケーターが追加され、マルウェアとして検出されたファイルの自動ブロック機能も追加されました。[ 72 ]
バージョン67では、プロセスごとのWebサイト分離というセキュリティ上の利点が追加されました。[ 18 ]その後、バージョン69では、Google Chromeの10周年を記念して新しいブラウザテーマが導入されました。[ 73 ]同年には、悪質な広告を抑制するための新しい対策が追加されました。[ 74 ]
2021 年以降、Google Chrome の同期サービスは Chromium ビルドでは使用できなくなりました。[ 75 ] [ 12 ]また、バージョン 89 以降では、SSE3命令セット以降のIntelおよびAMDプロセッサのみがサポートされています。[ 76 ]
バージョン110以降、 Windowsユーザー向けにはWindows 10以降のみがサポートされます。[ 77 ]
Google Chrome、Microsoft Edge、Opera、Vivaldi、Braveに加えて、他にも多くのブラウザが活発に開発されており、Chromiumコードをベースにしています。これらのほとんどはChromeのようにプロプライエタリですが、 Chromiumのようにフリーでオープンソースソフトウェア(FOSS)のままのものもあります。[ 78 ] [ 79 ] [ 80 ] [ 81 ]
主に英語以外の言語
これらの注目すべきアプリフレームワークは、カスタムアプリの機能の中核としてChromiumブラウザを組み込んでいます。
Chromiumベースの代表的なWebViewコンポーネント2つも、同様の方法でアプリを作成することができる。
どちらのアプローチでも、カスタムアプリはHTML、CSS、JavaScript、およびその他の Web テクノロジーを使用して実装されます。さらに、アプリはChromium がサポートするオペレーティングシステムに簡単にデプロイできます。2010 年代以降、多くのアプリがこのように作成されています。(例としてSpotifyとSlack があります。)[ 88 ] [ 89 ]
プラットフォームの制約により、すべてのブラウザは WebKit レンダリング エンジン上に構築する必要があります。
を開発したとき、Chrome に関連するすべてのものを最小限に抑え、その時点で関心のある Web サイトにのみ時間を費やすようにしたのには理由があります。ユーザーが使用しているコンテンツに集中できるようにしたかったのです。製品名を「Chrome」にしたのは、ブラウザのクロームを最小限に抑えたかったからです。私たちはそのように考えていました。
はマルチプロセスアーキテクチャを採用した最初のブラウザでした。
Agent for Epicは、ChromiumベースのWebフレームワークであるEpic Hyperdriveとのシームレスな統合を可能にします。
デスクトップクライアントで使用されている優れたChromium Embedded Frameworkのソースコードはこちらです。