Chromium
Chromium — это веб-браузер с открытым исходным кодом, разрабатываемый компанией Google и сообществом разработчиков. Он служит основой (кодовой базой) для многих других браузеров, наиболее известным из которых является Google Chrome. Проект Chromium отличается от Chrome тем, что не включает в себя проприетарные компоненты, такие как автоматические обновления, встроенный Flash-плеер (до его полного удаления из веба) и некоторые сервисы Google, что делает его более «чистой» и прозрачной альтернативой. Название «Chromium» (от греч. χρῶμα — цвет, краска) отсылает к химическому элементу хрому, используемому для создания цветных покрытий, что символизирует модульность и возможность настройки внешнего вида браузера.
История
Предпосылки создания
До появления Chromium рынок веб-браузеров был в значительной степени монополизирован Internet Explorer (IE) от Microsoft, который к середине 2000-х годов устарел технически и не соответствовал современным стандартам веба. В то же время Mozilla Firefox набирал популярность, но его архитектура также имела ограничения, особенно в плане многозадачности и безопасности. Google, активно развивавшая свои веб-сервисы (Gmail, Google Docs, Maps), была заинтересована в браузере, который бы обеспечивал высокую производительность и стабильность для сложных веб-приложений.
Запуск проекта
Проект Chromium был анонсирован компанией Google 2 сентября 2008 года. В тот же день был выпущен исходный код под лицензией BSD (позднее — под лицензией MIT). Первая стабильная версия браузера Google Chrome, основанного на Chromium, вышла 11 декабря 2008 года. Первоначально проект был ориентирован на операционную систему Windows, но вскоре были выпущены версии для macOS и Linux. Ключевым нововведением стал многопроцессный движок, который изолировал каждую вкладку в отдельный процесс, что повышало стабильность и безопасность.
Развитие и влияние
С 2008 года Chromium стал одним из самых влиятельных проектов в области веб-технологий. Он не только лёг в основу Google Chrome, но и стал базой для множества других браузеров, включая Microsoft Edge (с 2020 года), Opera (с 2013 года), Brave, Vivaldi, Яндекс.Браузер и многих других. Это привело к доминированию движка Blink (форк WebKit, созданный Google) на рынке, что вызвало как положительные, так и отрицательные отзывы. Критики отмечали, что монополизация движка может привести к снижению разнообразия веб-стандартов и усилению контроля Google над вебом.
Архитектура и ключевые технологии
Многопроцессная архитектура
Одним из главных нововведений Chromium является многопроцессная архитектура. В отличие от однопроцессных браузеров (например, Internet Explorer 6), где сбой одной вкладки приводил к падению всего браузера, Chromium запускает каждую вкладку, расширение и плагин в отдельном процессе операционной системы. Это обеспечивает:
- Стабильность: сбой одной вкладки не влияет на другие.
- Безопасность: процессы изолированы друг от друга, что затрудняет распространение вредоносного кода.
- Производительность: многопроцессность позволяет эффективно использовать многоядерные процессоры, хотя и требует большего объёма оперативной памяти.
Движок Blink
Blink — это движок рендеринга веб-страниц, разработанный Google на основе форка WebKit (который, в свою очередь, был форком KHTML). Blink отвечает за парсинг HTML, CSS, JavaScript и отрисовку страницы на экране. Он был создан в 2013 году с целью ускорить разработку и внедрение новых веб-стандартов, таких как WebGL, WebAssembly, Service Workers и CSS Grid. Blink является одним из трёх основных движков рендеринга (наряду с Gecko от Mozilla и WebKit от Apple) и используется в подавляющем большинстве современных браузеров.
Движок V8
V8 — это высокопроизводительный движок JavaScript, также разработанный Google. Он был создан специально для Chromium и Chrome. V8 компилирует JavaScript в машинный код непосредственно перед выполнением (JIT-компиляция), что значительно ускоряет работу веб-приложений. V8 также используется в серверной среде Node.js, что сделало его одним из ключевых компонентов современной веб-разработки.
Система безопасности
Chromium включает несколько уровней защиты:
- Песочница (Sandboxing): каждый процесс работает в изолированной среде с ограниченными правами доступа к файловой системе и операционной системе. Это предотвращает выполнение вредоносного кода даже в случае уязвимости.
- Site Isolation: функция, которая изолирует процессы для разных веб-сайтов, что предотвращает утечку данных между сайтами (например, через атаки Spectre).
- Автоматические обновления: хотя в самом Chromium механизм обновлений отсутствует (он реализован в Chrome), проект постоянно получает патчи безопасности от сообщества и Google.
- HTTPS-принуждение: браузер помечает HTTP-сайты как небезопасные и поощряет использование HTTPS.
Виды и модификации
Официальные сборки
Google выпускает несколько каналов обновлений Chromium, которые различаются стабильностью и скоростью получения новых функций:
- Stable (Стабильный): рекомендуется для массового использования. Обновляется раз в 2–3 недели.
- Beta (Бета): содержит функции, которые планируются к выпуску в следующей стабильной версии. Обновляется еженедельно.
- Dev (Разработчик): содержит самые свежие, но потенциально нестабильные функции. Обновляется еженедельно.
- Canary (Канарейка): ежедневная сборка, содержащая самые последние изменения. Может быть нестабильной и не подходит для повседневного использования.
Форки и производные браузеры
Chromium является основой для многих браузеров, которые добавляют свои функции, сервисы или меняют интерфейс:
- Google Chrome: наиболее известный производный браузер. Добавляет в Chromium проприетарные компоненты: автоматические обновления, встроенный Flash (до 2020 года), интеграцию с аккаунтом Google, сервисы синхронизации, менеджер паролей и другие.
- Microsoft Edge: с 2020 года использует движок Blink. Microsoft добавила в него собственные функции: интеграцию с Windows, коллекции, вертикальные вкладки, режим IE (для совместимости со старыми сайтами).
- Opera: с 2013 года перешла на Chromium. Добавляет встроенный VPN, блокировщик рекламы, мессенджеры и боковую панель.
- Brave: браузер, ориентированный на приватность. Встраивает блокировщик рекламы и трекеров, а также имеет собственную криптовалютную систему BAT (Basic Attention Token).
- Vivaldi: браузер, созданный бывшими разработчиками Opera. Отличается высокой степенью настройки интерфейса, вкладками-стопками, заметками и инструментами для организации.
- Яндекс.Браузер: российский браузер на основе Chromium. Интегрирован с сервисами Яндекса (поиск, почта, музыка, карты), имеет встроенный переводчик, блокировщик рекламы и режим Turbo для сжатия трафика.
- SRWare Iron: браузер, ориентированный на приватность. Удаляет из Chromium все функции, отправляющие данные в Google (например, отслеживание использования, идентификатор установки).
- Ungoogled Chromium: проект, который максимально очищает Chromium от всех зависимостей от сервисов Google, сохраняя при этом полную функциональность.
Применение
Для конечных пользователей
Chromium используется как основной браузер для веб-сёрфинга, работы с веб-приложениями, просмотра видео, чтения почты и других повседневных задач. Его высокая производительность и поддержка современных веб-стандартов делают его подходящим для работы с ресурсоёмкими приложениями, такими как Google Docs, Figma или онлайн-редакторы видео.
Для разработчиков
Chromium является незаменимым инструментом для веб-разработчиков. Встроенные инструменты разработчика (DevTools) позволяют:
- Инспектировать HTML, CSS и JavaScript.
- Отлаживать код в реальном времени.
- Анализировать производительность и сетевые запросы.
- Эмулировать мобильные устройства и различные разрешения экрана.
- Проверять доступность и безопасность сайта.
Для встраиваемых систем
Благодаря открытому исходному коду и модульной архитектуре, Chromium используется в качестве основы для встраиваемых веб-интерфейсов в различных устройствах: смарт-телевизорах, игровых консолях, автомобильных информационно-развлекательных системах, киосках самообслуживания и цифровых вывесках. Для этого существует проект Chromium Embedded Framework (CEF), который позволяет встраивать браузерный движок в приложения, написанные на C++, C# и других языках.
Критика и недостатки
Потребление оперативной памяти
Одним из наиболее частых упрёков в адрес Chromium является высокое потребление оперативной памяти (RAM) из-за многопроцессной архитектуры. Каждая вкладка, расширение и плагин запускаются в отдельном процессе, что может приводить к значительному расходу памяти, особенно при открытии десятков вкладок. Google предпринимает меры по оптимизации (например, приостановка неактивных вкладок), но проблема остаётся актуальной.
Зависимость от Google
Хотя Chromium является открытым проектом, его развитие в значительной степени контролируется Google. Компания определяет, какие функции будут добавлены, а какие удалены. Это вызывает опасения, что Google может использовать своё положение для продвижения собственных сервисов или сбора данных. Например, в Chromium по умолчанию включена функция отправки статистики использования в Google (хотя её можно отключить в настройках).
Проблемы с приватностью
Несмотря на то, что Chromium является более приватным, чем Chrome, он всё ещё включает некоторые функции, которые могут собирать данные. Например, в коде присутствуют ссылки на сервисы Google (например, для проверки орфографии, автозаполнения URL, обновлений). Проекты, такие как Ungoogled Chromium, пытаются устранить эти зависимости, но это требует дополнительных усилий и может нарушить совместимость с некоторыми сайтами.
Монополизация веб-стандартов
Доминирование движка Blink (и, соответственно, Chromium) на рынке браузеров привело к тому, что разработчики веб-сайтов часто ориентируются только на этот движок, игнорируя особенности Gecko (Firefox) и WebKit (Safari). Это может привести к тому, что сайты будут работать некорректно в браузерах, не основанных на Chromium, что снижает разнообразие веб-экосистемы.
Интересные факты
- Название «Chromium» было выбрано не случайно. Как и химический элемент хром, который используется для создания цветных покрытий, браузер Chromium символизирует модульность и возможность настройки внешнего вида.
- Первоначально Chromium использовал движок WebKit, но в 2013 году Google создал форк под названием Blink, чтобы ускорить разработку и внедрение новых функций.
- Chromium является одним из самых больших проектов с открытым исходным кодом в мире. Его исходный код содержит миллионы строк кода, написанных на C++, JavaScript, Python и других языках.
- В 2020 году Microsoft объявила о переходе своего браузера Edge на движок Blink, что сделало Chromium ещё более доминирующим на рынке.
- Проект Chromium активно используется в образовательных целях. Многие университеты и исследовательские группы изучают его архитектуру для создания новых браузерных технологий.
- Существуют версии Chromium для операционных систем, которые официально не поддерживаются Google, например, для FreeBSD и OpenBSD. Они поддерживаются сообществом.
Источники
- Официальная документация проекта Chromium (chromium.org)
- Исходный код Chromium (chromium.googlesource.com)
- Статья «Chromium» в Википедии (английская версия)
- Документация по движку Blink (blink.org)
- Документация по движку V8 (v8.dev)
- Статья «The History of Chromium» на сайте How-To Geek
- Статья «Chromium vs Chrome: What's the Difference?» на сайте MakeUseOf
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →