В чем разница между Google Chrome и / или Chromium? Каковы преимущества / недостатки каждого?
Есть некоторые ключевые различия между Google Chrome и Chromium. Во-первых, Google Chrome — это коммерческий продукт с закрытым исходным кодом, созданный Google, который основан на проекте Chromium с открытым исходным кодом .
Chrome недоступен в репозиториях Ubuntu по умолчанию, поскольку он не является открытым исходным кодом, однако Google делает Chrome доступным через собственный сторонний репозиторий. Chrome обновляется Google напрямую, так как они запускают весь репозиторий и обновляют Chrome по своему расписанию. Поскольку его не нужно распространять и использовать с открытым исходным кодом, в Chrome есть вещи, которые мы не можем поставить в Ubuntu «из коробки», такие как поддержка Flash и h364 (см. Обещание Ubuntu ). Однако вы можете установить эту поддержку с помощью нескольких пакетов (см. Ниже).
Chromium с открытым исходным кодом доступен в репозиториях Ubuntu.
На самом деле не существует каких-либо «выпусков», сделанных из Chromium, поэтому разработчики Ubuntu основывают свою сборку на том, на чем основана стабильная версия Chromium, на которой основана стабильная сборка Chrome. У Фабьена Тассена есть пост в блоге об этом процессе, который более подробно описан.
Следующие пакеты в Ubuntu устанавливают кодеки и функции Chromium, которые вы можете найти в Chrome:
На самом деле это зависит от того, что вы хотите. Если вы доверяете Google, чтобы не сломать свой компьютер, и вам нравится удобство Chrome, то вы можете использовать это; если вам нужен браузер с открытым исходным кодом, который является основой Chrome, который проверен разработчиками Ubuntu и не требует сторонних источников, тогда вам нужен Chromium.
На этой странице Википедии описаны некоторые различия в отслеживании безопасности / использования между двумя браузерами.
Разгугленный Chromium / Хабр
Даже если у вас нет аккаунта в Google, свободный браузер Chromium всё равно в фоновом режиме обменивается данными с серверами Google. Это довольно странно, ведь люди устанавливают Chromium вместо Chrome именно для того, чтобы получить чистую программу без коммерческой привязки. Тем не менее, при сборке Chromium в нормальном режиме всё равно скачиваются и устаналиваются бинарные блобы от Google.Проект ungoogled-chromium — это набор конфигурационных флагов, патчей и специальных скриптов, чтобы удалить интеграцию с Google, улучшить настройки безопасности и управления.
Анонимный пользователь Github позаимствовал настройки из нескольких существующих проектов, которые тоже старались максимально очистить Chromium от лишней функциональности с целью сделать чистую минималистическую конфигурацию: это Chromium из дистрибутива Debian, набор патчей Inox, а также браузер Iridium, сделанный с упором на защиту приватности.
Разработчики трёх упомянутых проектов приложили немалые усилия, чтобы избавиться от присутствия Google в свободном браузере. Но «разгугленный Chromium» ещё более параноидален в этом стремлении.
Например, автор заменил в исходном коде Chromium многие упомянутые веб-домены на несуществующие альтернативы — чтобы точно гарантировать, что браузер не сможет никуда послать никакую информацию без ведома пользователя.
Кроме того, из исходного кода удалены все бинарные блобы: программы, библиотеки и любые другие формы машинного кода. Остались только те машинные коды, которые необходимы для сборки (например, icudtl.dat
для поддержки Юникода или *_page_model.bin
, который определяет модели для очистки страниц в DOM Distiller).
Пример очистки страницы в DOM Distiller
В «разгугленном» браузере полностью отключена функциональность, специфическая для доменов Google, например, Google Host Detector, Google URL Tracker, Google Cloud Messaging, Google Hotwording и др.
Автор добавил ещё несколько настроек чисто на свой вкус. Наверное, такое не всем понравится.
- В омнибокс добавлен поисковый провайдер «No Search», чтобы вообще отключить поиск из омнибокса.
- Отключено автоматическое форматирование URL в омнибоксе, когда исчезает из виду
http://
и т.д. - Отключен показ диалоговых окон JavaScript при закрытии страницы (события
onbeforeunload
) - Принудительное превращение всех всплывающих окон в новые вкладки.
- Отключение детектора редиректа в интранете. Как известно, при запуске Chromium по умолчанию пытается соединиться со случайными доменами вроде
http://aghepodlln/
илиhttp://lkhjasdnpr/
. Браузер делает это, чтобы проверить существование редиректа неудачных DNS-запросов на специфические «заглушки», установленные интернет-провайдером или другим посредником. Такое поведение ломает работу браузера, поэтому он изначально проверяет наличие редиректа.
Кроме того, автор изменил некоторые стандартные настройки браузеров Iridium и Inox. Например, запретил обязательный пинг адресов IPv6 при обнаружении доступности IPv6.
В общем, «разгуглить» Chromium можно разными способами. Кроме Iridium и Inbox теперь появился ещё один вариант.
Судя по всему, у многих людей есть желание получить простой минималистичный браузер, без всяких «наворотов» и интеллектуальных функций, быстрый и надёжный. Создать такой браузер с нуля практически невозможно, а вот очистить Chromium от шлака — вполне здравая идея.
Проблема только в том, что браузеры очень быстро развиваются. Новые версии выходят по несколько раз в год. В том же Chromium сейчас стабильная версия имеет номер 53.0.2785.116, а ведь Chrome 1 и Сhromium 1 вышли совсем недавно — 2 сентября 2008 года.
Это не просто любовь разработчиков к цифрам. В каждой новой версии на самом деле внедряют новые веб-стандарты, новые фичи HTML5 и поддержку новых технологий. Процесс идёт стремительно. Из-за такой «текучки» очень сложно уследить за новым кодом.
Автор «разгугленного» Chromium честно предупреждает, что из-за бурного развития проекта Chromium новые фичи, нарушающие приватность, могут постоянно проникать в код, как и новые баги.
Почему-то автор стремится выпускать версии параллельно с основной веткой Chromium. А ведь какой интересной идеей было бы создать ультра-минималистичный браузер, для которого вообще не нужны обновления. Отключить Canvas, WebGL, WebRTC и прочие современные штуки, отключить хистори, куки, доступ браузера к оборудованию и прочее. Сделать эдакий вариант Tor для безопасного просмотра страниц, с минимальной функциональностью, оставить только блокировщик рекламы и очиститель страниц вроде вышеупомянутого DOM Distiller. По крайней мере, для мобильных устройств такой минималистический браузер пришёлся бы весьма кстати.
Последние версии очищенного «Хромиума» для Windows, MacOS, Debian и Ubuntu публикуются на этой странице. Сборка билда под Windows запускается только в Windows 7 x64 или более новой версии. Для сборки потребуется Visual Studio 2013 Update 4 или Visual Studio 2015 Update 1, другие версии не поддерживаются.
В браузер можно устанавливать расширения из Chrome Webstore, но не через веб-интерфейс. Их нужно скачать и установить вручную. Чтобы скачать расширение из Chrome Webstore, можно воспользоваться прямой ссылкой:
https://clients2.google.com/service/update2/crx?response=redirect&prodversion=48.0&x=id%3D[EXTENSION_ID]%26installsource%3Dondemand%26uc
Здесь только [EXTENSION_ID]
заменяем на идентификатор расширения из каталога. Например, cjpalhdlnbpafiamejdnhcphjbkeiagm
— идентификатор расширения uBlock Origin.
После этого файл crx устанавливается как расширение в браузер одним из нескольких способов, на выбор, хотя бы просто перетаскиванием мышью на вкладку с расширениями.
Различия между Chromium и Chrome
Chromium — веб-браузер, open-source проект, предназначение которого — предоставление пользователям быстрого и надежного доступа ко всемирной паутине.
Поскольку Chromium полностью открыт, он доступен во множестве Linux дистрибутивов прямо из стандартного репозитория. Благодаря этому и некоторым другим моментам, что будут рассмотрены ниже, данный браузер пользуется большой популярностью у пользователей. Кроме того, сборки Chromium есть также для Windows и macOS.
Где взять Chromium и Chrome?
На Linux Chromium чаще всего и проще всего устанавливать прямо из репозитория. Например в Ubuntu его можно установить прямо из центра приложений.
На Windows и macOS использование Chromium (в частности скачивание, установка и обновление) в отличии от дистрибутивов Linux, сложнее. Его можно скачать с официальной страницы загрузки, но ввиду того, что в браузере отсутствует система автоматической проверки и установки обновлений, пользователю придется заниматься этим самостоятельно, либо использовать сторонние разработки.
Напротив, с Google Chrome ситуация немного иная. Чтобы установить его в Linux нужно перейти на страницу загрузки браузера, скачать пакет и установить его. Во время установки в систему добавится официальный репозиторий от Google, и в дальнейшем обновления для браузера будут устанавливаться через стандартный менеджер пакетов вашего дистрибутива. Причина по которой Chrome изначально отсутствует в репозиториях дистрибутивов — закрытый исходный код некоторых его компонентов.
В Windows и macOS Chrome также устанавливается с официальной страницы загрузки.
Что есть в Chrome и отсутствует в Chromium?
В Chrome включены ряд технологий с закрытым исходным кодом, которые изначально отсутствуют в Chromium. В частности:
- Поддержка AAC, H.264 и MP3 кодеков дающая пользователю более широкие возможности во время просмотра аудио и видео контента в интернете. Вместе с тем, оба браузера оба браузера поддерживают основные свободные кодеки: Opus, Theora, Vorbis, VP8, VP9 и WAV;
- Adobe Flash (PPAPI): с Chrome идет Pepper API Flash Plugin, который обновляется вместо с браузером. На сегодняшний день это единственный способ получить самую свежую версию Flash в Linux.
- Google Update — механизм для обновления браузера, что очень актуально для пользователей Windows и macOS.
«Шпионское» ПО в Chrome
Еще одна причина по которой пользователи предпочитают Chromium браузеру от Google — сбор и передача некоторых данных браузером на сервера Google. Разберём подробнее.
В Google Chrome встроен механизм отправки сообщений о сбоях и ошибках приложения во время работы, отсутствующий в Chromium. Если у пользователя включена эта функция, информация о падениях отправляется в Google. Когда же вы используете Chromium, баг-репорт не будет вам надоедать, а если вы пожелаете все таки отправить информацию об ошибке, нужно будет воспользоваться другим способом.
В Chromium также отсутствует механизм сбора различных пользовательских метрик, которые есть в Chrome.
Тем не менее, Chromium все-таки включает в себя много функций, которые используют сервера Google и включены по-умолчанию. Эти функции можно посмотреть на странице настроек браузера. К примеру, в нем есть функция исправления опечаток при наборе веб-адреса или функция Google анти-фишинг и т.п.
Так что же использовать?
Chromium хорош тем, что доступен в множестве Linux дистрибутивов, которые не включают в свой состав Chrome по лицензионным соображениям. Некоторые дистрибутивы даже устанавливают Chromium браузером по-умолчанию вместо Firefox. Если вы приверженец открытого программного обеспечения и стараетесь избегать ПО с закрытым исходным кодом, Chromium для вас отличный вариант.
Однако много пользователей, для которых лицензия приложения не принципиальна, могут предпочесть Chromium-у брата от Google. Установив Chrome, вы получаете лучший и больше свежий Flash-плеер и расширенные возможности по просмотру контента в интернете.
В итоге получается, что для пользователей Linux проще в установке и использовании будет Chromium. Выбор пользователей Windows и macOS в большинстве случаев падет на Chrome, поскольку с ним нет проблем с обновлением и т. п.
Предыдущая записьИграем в старые игры через DOSBox Следующая запись
Как включить или отключить Material дизайн в настольном Chrome
Метки БраузерыКроссплатформенное ПО
КриптоПро | Браузер chromium-gost
Браузер chromium-gost — веб-браузер с открытым исходным кодом на основе Chromium с поддержкой криптографических алгоритмов ГОСТ (в соответствии с методическими рекомендациями ТК 26) при установке защищённых соединений через интерфейс msspi.
Основной задачей проекта является техническая демонстрация возможности встраивания ГОСТ в браузер с открытым исходным кодом Chromium. Данное технологическое решение может помочь разработчикам адаптировать браузер при встраивании поддержки ГОСТ.
Компания КриптоПро не является правообладателем браузера chromium-gost и не отвечает за его функционирование и поддержку на регулярной основе, продукт развивает и поддерживает сообщество разработчиков на безвозмездной и добровольной основе, среди которых важную роль составляют специалисты КриптоПро.
Скачать
Браузер chromium-gost доступен для операционных систем Windows, Linux и MacOS.
Ссылки для скачивания актуальных сборок и основная ветка разработки:
https://github.com/deemru/chromium-gost/releases/latest
/>
Версия браузера chromium-gost для Windows XP:
https://github.com/deemru/chromium-gost/releases/tag/49.0.2623.112
/>
Обсуждение и отзывы по проекту:
https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=9991
/>
Требования к системе
Для работы с алгоритмами ГОСТ требуется наличие в системе криптопровайдера, поддерживающего работу с российской криптографией.
В качестве криптопровайдера мы рекомендуем использовать КриптоПро CSP. Для работы с защищёнными соединениями не требуется покупка лицензии КриптоПро CSP, кроме того КриптоПро CSP имеет 90-дневный ознакомительный период с работой всех функций программы, включая работу с долговременными ключами и подписями на их основе. Для скачивания КриптоПро CSP достаточно пройти простую процедуру регистрации на сайте.
Проверка работоспособности
Если соответствующий криптопровайдер установлен в системе, то проверить работоспособность браузера chromium-gost, можно перейдя по ссылке на сервис для разработчиков https://gost.cryptopro.ru
Сертификат сайта должен выглядеть следующим образом, что подтверждает установку защищённого соединения по алгоритмам ГОСТ:
Альтернативный вариант проверки — через панель разработчика:
— Находясь в браузере, нажмите F12, откроется панель разработчика браузера
— Перейдите на вкладку Security
— Находясь на вкладке Security, обновите страницу (1 — на картинке ниже)
— Перейдите на появившуюся закладку https://gost.cryptopro.ru/ (2 — на картинке ниже)
— Проверьте данные соединения и сертификата (3 — на картинке ниже)
Если у вас показывается другой сертификат (примеры ниже), то попробуйте переустановить криптопровайдер и перезапустить браузер chromium-gost.
Или в альтернативном варианте проверки — если соединение не по ГОСТ:
Если у вас по какой-то причине не установлены корневые сертификаты (перечёркнут https, как на картинке ниже),
мы рекомендуем переустановить криптопровайдер, воспользовавшись универсальным установщиком КриптоПро CSP с автоматической установкой необходимых корневых сертификатов.
Принцип работы
Оригинальная реализация Chromium при установке защищённых соединений использует библиотеку BoringSSL, которая не поддерживает криптографические алгоритмы ГОСТ. Для обеспечения работы ГОСТ-алгоритмов используется интерфейс msspi, который может поддерживать соответствующие алгоритмы, используя установленный в систему криптопровайдер.
При запуске браузера определяется наличие технической возможности работы криптографических алгоритмов ГОСТ через интерфейс msspi. В случае успеха при установке очередного защищённого соединения помимо оригинальных идентификаторов алгоритмов в пакете будут отправлены идентификаторы алгоритмов ГОСТ.
Если сайт поддерживает работу по ГОСТ, он может отреагировать на наличие этих идентификаторов предложением работы на ГОСТ-алгоритмах. Тогда защищённое соединение в рамках BoringSSL установлено не будет, так как BoringSSL не поддерживает ГОСТ, но поступит сигнал о соответствующей ошибке.
В случае возникновения подобного сигнала для данного сайта происходит переключение в режим работы интерфейса msspi. Если защищённое соединение успешно устанавливается через интерфейс msspi, сайт отмечается поддерживающим алгоритмы ГОСТ и все последующие с ним соединения будут использовать интерфейс msspi.
Для пользователя данный алгоритм работы остаётся прозрачен, так как Chromium автоматически устанавливает повторное соединение через интерфейс msspi.
Google ограничит использование Google API в сторонних браузерах на основе Chromium
Компания Google ограничит доступ к приватным функциям API Chrome, таким как синхронизация аккаунта и функция Click to Call (отправка телефонных номеров с компьютера на смартфон), для сторонних браузеров.
Как сообщили разработчики Google в официальном блоге, в ходе недавней проверки, некоторые сторонние браузеры на основе Chromium смогли интегрировать функции Google, которые предназначались исключительно для использования фирменными сервисами Google, в том числе браузером Chromium.
Во время недавнего аудита мы обнаружили, что некоторые сторонние браузеры на основе Chromium смогли интегрировать функции Google, такие как синхронизация Chrome и Click to Call, которые предназначены только для использования Google. Это означало, что небольшая часть пользователей могла войти в свою учетную запись Google и сохранить свои личные данные синхронизации Chrome, такие как закладки, не только в Google Chrome, но и в некоторых сторонних браузерах на основе Chromium. Мы ограничиваем доступ к нашим частным API Chrome с 15 марта 2021 года, – сообщает компания.
Вот только компания Google предоставлять такую возможность не планировала — браузеры на платформе Chromium никогда не должны были иметь доступа к синхронизации вкладок и истории с Chrome. Google обнаружила, что некоторые сторонние браузеры на основе Chromium подключали эти специфические функции Chrome и интегрировали их в свои ответвления. Это привело к тому, что компании злоупотребляли серверами Google для хранения собственных данных, сокращая расходы на разработку за счёт поискового гиганта
Теперь от этих возможностей разработчики планируют избавиться — уже с 15 марта сотрудники компании Google существенно сократят доступ сторонних браузеров к функции Chrome Sync. Стоит отметить, что это повлияет не только на Chrome Sync, но и на такие функции, как проверка орфографии, контакты, перевод и так далее. Все эти API реализованы в исходном коде Chromium — каркасе с открытым исходным кодом, который лежит в основе браузера Chrome.
splincode/chromium-architecture: Перевод схемы архитектуры chromium
Chromium — графический веб-браузер с открытым исходным кодом, основанный на движке Blink и разрабатываемый корпорацией Google совместно с сообществом The Chromium Authors и некоторыми другими корпорациями. На основе Chromium создан браузер Google Chrome, на сегодняшний день его доля превысила 60%. Поэтому хотелось бы поговорить о нем чуть больше, чем об остальных, хотя про Firefox, Edge, Safari и их организацию было бы тоже здорово посмотреть, но не сегодня. Отмечу, что не стоит под Chromium подразумевать Google Chrome, так как одно определение дополняет другое. Google Chrome = Chromium + Google Update + закрытые плагины и кодеки + отправка отчетов и статистики.
- Общая схема
Chromium / Chrome — это многопроцессорный браузер, если только он не запускается с опцией командной строки —single-process. Все процессы в браузере имеют разные обязанности, но есть некоторые вещи, которые являются общими для всех процессов:
- Все процессы имеют внутренний цикл, который обрабатывает аннотацию задачи и связь с другими процессами;
- Процессы взаимодействуют друг с другом посредством сообщений. Для достижения этой цели используются структуры IPC и Mojo.
Существует от 2 до 5 особо важных типов процесса (в зависимости от платформы). «Browser process» (процесс браузера) является основным процессом на всех платформах. Этот процесс является точкой входа приложения. Другим важным процессом, который доступен на всех платформах при работе в многопроцессорном режиме, является «Renderer process» (процесс рендеринга). Существует также «Utility process» (утилитный процесс), который выполняется на короткий промежуток времени, но выполняет важные задачи инициализации. В системах на базе ядра Linux есть также вспомогательный под названием «Zygote process» (протопроцесс). И последний, но не менее важный: если аппаратное ускорение доступно в системе, то появляется дополнительный процесс, называемый «GPU process» (процесс аппаратного ускорения).
Как упоминалось ранее, «Browser process» является процессом запуска. Он также называется брокерским процессом, поскольку он имеет определенные привилегии, например, запуск или контроль за действиями других процессов (например, изолированных процессов).
«Browser process» генерирует отдельные потоки, чтобы упростить основные функции. Существует поток ввода-вывода, который отвечает за связь с «Renderer thread». Пользовательский интерфейс представляет собой основной поток процесса браузера, который гарантирует обработку событий в пользовательском интерфейсе браузера. Режимы DB, File и Cache отвечают за обработку соединений и запросов к базе данных, операций с файлами и управление кэшем, соответственно. Существует дополнительный поток «Process Launcher thread», который необходим для создания или развития новых процессов, например, процесса Zygote или GPU. Помимо упомянутых выше потоков, «Browser process» также порождает так называемые «Worker thread» (рабочие потоки). Рабочие потоки занимаются необходимыми задачами (такими как поиск DNS) и являются частью коллекции потоков «WorkerPool». Помимо обработки процессов и потоков, «Browser process» имеет много других важных обязательств. Его самая важная роль — управление песочницей. Песочница — специально выделенная среда для безопасного исполнения. Песочницы представляют собой пример виртуализации. В «Browser process» размещаются такие службы как движок песочницы, диспетчер перехвата и служба IPC. Эти службы способны выполнять действия от имени целевого процесса, разрешенные политикой. «Browser process» также отвечает за работу с сетевыми ресурсами и запросами URL.
Как упоминалось, в системах на базе ядра Linux, существует специальный процесс, называемый «Zygote process». Он создается при запуске, а затем из него выделяются необходимые процессы, такие как «Renderer process». Он имеет внутренний цикл, как и любой другой процесс в Chromium. Выполненные операции вызываются из объекта TaskAnnotator или TaskRunner. «Zygote process» имеет много обязанностей, включая разбор документов, задачи планирования, декодирования ресурсов, запуск сценариев, запуск задач компоновщика. На других платформах, где «Zygote process» не используется, эти задачи выполняются немедленно другим процессом, все на себя берет «Renderer process».
Как известно из школьного курса биологии, зигота — это оплодотворенная и готовая к развитию яйцеклетка. Но в нашем случае, это имеет глубинный смысл. Ведь в Chrome каждая вкладка и каждое расширение — это отдельный процесс. Одна из важных особенностей Chrome — прозрачное автоматическое обновление. Допустим, во время работы браузера обновилась какая-то разделяемая библиотека. Затем пользователь открывает новую вкладку, запускается новый процесс для рендеринга страницы. Если просто делать exec бинарника с диска, то новый процесс подхватит уже новую библиотеку, которая может быть несовместима с той, что была при старте основного процесса браузера. Чтобы этого избежать, при первом запуске Chrome запускает протопроцесс (зиготу), который затем будет ответвляться (fork) каждый раз, когда нужно запустить новый процесс рендеринга. Таким образом, все последующие копии будут иметь один и тот же набор библиотек, который был при запуске браузера. Сам процесс-зигота ничего не делает, просто висит в памяти и ждет команды, чтобы разделиться и дать жизнь новой вкладке.
В системах на базе ядра Linux «Renderer process» порождается из «Zygote process», на других платформах он создается отдельно, в то же время он также является целевым процессом. «Renderer process» может существовать несколько, и они могут работать одновременно (в Chrome/Chromium, на одну вкладку один «Renderer process»). Другим важным свойством процесса является то, что он изолирован песочницей, поэтому любой потенциально опасный веб-сайт не может навредить системе. «Renderer process» является многопоточным. Он порождает следующие потоки: «I/O thread» (поток ввода-вывода), «Compositor thread» (поток композиции) и «Raster thread» (поток растеризации). Помимо основных обязанностей, связанных с песочницей (IPC песочницы, основной движок песочницы, диспетчер перехватов), данный процесс вызывает ScriptController и движок V8.
В системах на базе ядра Linux «Utility process» порождается из «Browser process». «Utility process» создается сразу после запуска браузера. Он выполняет необходимые инициализации и завершает работу после их завершения. Он инициализирует ResourceBundle, icu и V8 Engine. Он также занимается извлечением расширений. «Utility process» может появляться многократно во время работы браузера. Например, добавление нового расширения вызывает обращение к уже созданному «Utility process», который обрабатывает интеграцию нового расширения с браузером.
Пятый тип процесса, который следует упомянуть это процесс GPU. Он существует только в том случае, если аппаратное ускорение доступно в вашей системе. Этот процесс отвечает за общение с графическим процессором, его самой важной задачей является пересылка команд GL/GLES на графический процессор. Другие обязанности этого процесса: работа с шейдерами, текстурами, буфером.
Startup
- Это точка входа всего приложения (Main)
- Main запускает ContentMain и BrowserMain
- BrowserMain запускает MainMessageLoop
Threads
- Сразу после запуска запускаются необходимые потоки
- I/O thread
- Обеспечивает коммуникацию с задачами рендеринга
- DB thread
- Подключение базы данных sqlite и выполнение запросов
- Cache thread
- Хранение и извлечение кеша
- Worker threads
- Рабочие потоки запускают задачи, которые не требуют отдельных потоков или собственного цикла сообщений (event loop)
- Существует пул потоков, называемый WorkerPool, который динамически добавляет потоки (при необходимости) для обработки всех задач
- Существуют различные реализации для POSIX и не-POSIX-систем
Loop
- MainMessageLoop
- Используется для обработки событий определенного потока
- Помещает входящие сообщения, а также задачи в очередь
- Выдает задачу из очереди и запускает ее
- Обеспечивает прочное соединениние с IPC
- Имеет защиту от повторной установки задачи
- Повторная задача не может быть запущена до завершения предыдущей задачи
- MainMessageLoop
IPC / Mojo
- Это структура, используемая для межпроцессного взаимодействия
- Подключается непосредственно к MainMessageLoop
- Предоставляет каналы связи, через которые могут быть отправлены сообщения
- Обеспечивает создание, отправку и получение сообщений
- Обеспечивает асинхронную обработку сообщений
TaskAnnotator
- Все входящие задачи проходят через TaskAnnotator, который аннотирует задачу перед выполнением
- Реализует общие отладочные аннотации для размещенных задач. Сюда входят такие данные, как происхождение задачи, длительность очередей и использование памяти
- Выполняет ранее поставленную задачу
ResourceLoader
- Диспетчеризация ресурсов
- Получает запросы от дочерних процессов (Renderer, Worker и т.д.)
- Отправляет полученные запросы в URLRequests
- Пересылает сообщения из URLRequests в корректный процесс обработки
URL
- Эта группа содержит все соответствующие URL-адреса
- Производит замену URL и/или расширяет URL-адреса
- Автозаполнение URL
- Извлечение поисковых запросов из URL-адреса
- Разбор URL
- Обеспечивает нормализацию (канонизация) URL
- Использование Omnibox (многофункциональная адресная строка Chromium)
SQL
- Включает наборв классов, которые взаимодействуют с базой данных sqlite3
- Загрузка/обновление url при автозаполнении
- Загрузка сохраненных favicons
net
- Работа с NetworkDelegate
- Выполняет действия до запуска URLRequest
- Работа с URLRequests
- Обработка файлов cookie
- Загружает асинхронно все файлы cookie для заданного URL-адреса
- Устанавливает все файлы cookie для данного URL-адреса
- Работа с SSL-сертификатами
- Обрабатывает действия, связанные с SSL
- Подтверждение SSL
- Подтверждение сертификации
- Проверка подписи
- Работа с NetworkDelegate
Compositor (cc)
PaintFrame
- Прорисовка основного кадра
- Подготовка тайлов
- Обновление слоев кадра
- Обновление дополнительных слоев изображения
- Работа со списком отображения обновлений (отрисовка, обновление)
- Вызов ауры изображения
- Работа с интерфейсным стеком Aura для работы с вкладками браузера
Swap
- Работа с 2D-плоскостью
- Работа со swap-буфером
RasterTask
- Выполнение растеризации
- Представление задач отрисовки в виде графа:
- грани: это зависимости
- узлы: являются задачами, вес узла определяет ее приоритет
- Элементы в из списка отображения выводятся на 2D-плоскость
- Растеризация вызывает определенные функции Skia, чтобы правильно отрисовать текущий холст (drawColor, drawPicture, drawRect, fillRect, и т. д.)
X11/Windows/Mac
- Захватывание событий мыши, клавиатуры и передача их Chromium
UIEvent
- Работа с классами представленными в пространстве имен ui (обеспечивают работу с пользовательским интерфейсом)
- Одной из важных обязанностей является обработка событий пользовательского интерфейса, например, mousemove, mouseclick, keypress и т. д.
- Эти события передаются из библиотеки рабочего окна
- События попадают в цепочку обработки событий
- Если пользователь вводит URL-адрес в адресную строку (URLBar), эти классы выполняют вставку символов в текстовое поле URLBar
- Aura:
- UI framework, диспетчер окон рабочего стола и среды оболочки
- Кроссплатформенный
- Также используется в качестве графической оболочки для Chrome OS / Chrome / Chromium
- Используется Chrome OS, а также Chrome / Chromium
- Aura обеспечивает взаимодействие окон и разных типов событий, контролирует поведение
Startup
- Запускается после запуска родительского процесса «Browser process»
Zygote
- После запуска родительского процесса создается Zygote-процесс
Fork
- Zygote-процесс разветвляется (forked), чтобы создать процессы Renderer
Loop
- MainMessageLoop
- Используется для обработки событий определенного потока
- Помещает входящие сообщения, а также задачи в очередь
- Выдает задачу из очереди и запускает ее
- Обеспечивает прочное соединениние с IPC
- Имеет защиту от повторной установки задачи
- Повторная задача не может быть запущена до завершения предыдущей задачи
- MainMessageLoop
IPC / Mojo
- Это структура, используемая для межпроцессного взаимодействия
- Подключается непосредственно к MainMessageLoop
- Предоставляет каналы связи, через которые могут быть отправлены сообщения
- Обеспечивает создание, отправку и получение сообщений
- Обеспечивает асинхронную обработку сообщений
TaskAnnotator
- Все входящие задачи проходят через TaskAnnotator, который аннотирует задачу перед выполнением
- Реализует общие отладочные аннотации для размещенных задач. Сюда входят такие данные, как происхождение задачи, длительность очередей и использование памяти
- Выполняет ранее поставленную задачу
callback
- Этот блок представляет собой обратные вызовы, связанные с системой или сообщением
Scheduler
- Пакет, который содержит набор классов работающих по расписанию
- TaskQueueManager
- Диспетчер очереди задач предоставляет N очередей задач и интерфейс селектора для выбора задачи из очереди. Каждая очередь задач состоит из двух дополнительных очередей:
- Входящая очередь задач
- Рабочая очередь
- Диспетчер очереди задач предоставляет N очередей задач и интерфейс селектора для выбора задачи из очереди. Каждая очередь задач состоит из двух дополнительных очередей:
blink::HTMLDocumentParser
- Парсинг HTML-документа
- Построение дерева DOM
autofill
- AutofillAgent занимается связью с Autofill, связанной между WebKit и браузером
- Подсчет APR (AutofillAgent per RenderFrame)
- Autofill охватывает:
- Работа с Autocomplete
- Работа с заполнением формы пароля, называемой автозаполнением пароля, и заполнение всей формы на основе одной записи поля, называемого формой автозаполнения.
icu
- Это библиотека для работы с unicode в том числе содержит ряд инструментов для сравнения строк, получения даты и времени в самых разных форматах
- В текущем контексте icu используется для сопоставления шаблонов регулярных выражений, чтобы определить, соответствует ли автозаполнение конкретному регулярному выражению
content::ResourceDispatcher
- Этот комопонент служит интерфейсом для связи с диспетчером ресурсов
- Он может использоваться из любого дочернего процесса
- Отправляет входящие сообщения
blink::TimerBase
- Базовый таймер
blink::FrameLoader
- Управляет загрузкой определенного кадра (страницы)
blink::EventHandler
- Обрабатывает события, такие как выделение, перетаскивание, жесты, перемещение мыши, нажатия клавиатуры
- Выполняет hit-тесты (hit detection, picking, pick correlation)
blink::EventDispatcher
- Рассылает простые события, скоординированные события или имитируемые клики
blink::Document
- blink::DocumentLoader отвечает за загрузку документа
- После применения CSS стилей (blink::StyleResolver) и расчета макета обновляет графические слои
media::DecoderStream
- Обертывает DemuxerStream и список декодеров, и предоставляет вывод для клиента (Audio/VideoRendererImpl)
blink::ScriptRunner
- Выполнение JavaScript
content::RenderThread
- Поток, который используется для рендеринга задач в процессе Renderer и Zygote (запускается в однопоточном режиме)
blink::V8Initializer
- Имеет только статические методы для инициализации контекста движка V8
- В основном потоке
- В рабочем потоке
- Имеет только статические методы для инициализации контекста движка V8
extensions
- Представляет собой extensions-модуль для работы с расширениями браузера
- Реализует основные части расширения Chrome и может взаимодействовать с любым content-модулем
blink::WorkerThread
- Поток, который может выполнять только определенные задачи
- Определенные задачи могут быть отправлены в WorkerThread
- Вызывает WorkerScriptController::initializeContextifNeeded для выполнения JavaScript посредством V8
Compositor (cc)
- Использует несколько хранилищ резервных копий для кэширования и группировки фрагментов дерева рендеринга
- Избегает ненужной перерисовки
- Выполняет первичные задачи компоновки:
- Определяет, как группировать содержимое в резервном хранилище (композитные слои)
- Выполнение закрашивания каждого композитного слоя
- Отрисовка окончательного изображения
- Отрисовывает содержимое слоев из списка отображения
- Обрабатывает обновления слоев
Skia
- Использование Blink-библиотек отрисовки
- Растеризация вызывает определенные функции Skia, для правильной отрисовки холста (drawColor, drawPicture, drawRect, fillRect и т. д.)
blink::ImageDecoder
- ImageDecoder является основой для всех декодеров изображений, специфичных для определенных форматов (например, JPEGImageDecoder). Он управляет кэшем ImageFrame.
content::WebGraphicsContext3DCommandBuffer
- Выполнение методов 3D отрисовки для графики
- Отправляет инструкции в GpuChannelHost, которые:
- Инкапсулирует IPC-канал между клиентом и одним GPU
- На стороне GPU имеется соответствующий GpuChannel
- Каждый метод может быть вызван в любом потоке, за исключением потока ввода-вывода
RasterTask
- Выполнение растеризации
- Представление задач отрисовки в виде графа:
- грани: это зависимости
- узлы: являются задачами, вес узла определяет их приоритет
- Растеризация вызывает gpu::gles2::QueryTracker методы для создания запросов к графическому процессору
gpu::gles2
- QueryTracker
- Отслеживает запросы клиентской части командного буфера
- QueryManager
- Отслеживает запросы и их состояние, поскольку запросы не используются, есть один QueryManager для каждого контекста
- Отправляет запросы в content::CommandBufferProxyImpl
- Это клиентский прокси-сервер, который синхронно пересылает сообщения в CommandBufferStub
- QueryTracker
Startup
- Запускается после запуска родительского процесс «Browser process» (и запущенного Zygote-процесс)
Renderer
- Renderer-процесс является разветвлением (forked) Zygote-процесса
Loop
- MainMessageLoop
- Используется для обработки событий определенного потока
- Помещает входящие сообщения, а также задачи в очередь
- Выдает задачу из очереди и запускает ее
- Стабильное соединениние с IPC
- Имеет защиту от повторной установки задачи
- Повторная задача не может быть запущена до завершения предыдущей задачи
- MainMessageLoop
IPC / Mojo
- Это структура, используемая для межпроцессного взаимодействия
- Подключается непосредственно к MainMessageLoop
- Предоставляет каналы связи, через которые могут быть отправлены сообщения
- Обеспечивает создание, отправку и получение сообщений
- Обеспечивает асинхронную обработку сообщений
TaskAnnotator
- Все входящие задачи проходят через TaskAnnotator, который аннотирует задачу перед выполнением
- Реализует общие отладочные аннотации для размещенных задач. Сюда входят такие данные, как происхождение задачи, длительность очередей и использование памяти
- Выполняет ранее поставленную задачу
Scheduler
- Пакет, который содержит набор классов, работающих по расписанию
- TaskQueueManager
- Диспетчер очереди задач предоставляет N очередей задач и интерфейс селектора для выбора задачи из очереди. Каждая очередь задач состоит из двух дополнительных очередей:
- Входящая очередь задач
- Рабочая очередь
- Диспетчер очереди задач предоставляет N очередей задач и интерфейс селектора для выбора задачи из очереди. Каждая очередь задач состоит из двух дополнительных очередей:
content::MessageRouter
- MessageRouter обрабатывает все входящие сообщения, отправленные ему, перенаправляя их правильному подписчику, основываясь на идентификаторе маршрутизации сообщения
- Маршрутизация основана на идентификаторе маршрутизации сообщения
- Поскольку идентификаторы маршрутизации обычно назначаются асинхронно в процессе работы браузера, MessageRouter имеет ожидающие идентификаторы для подписчиков, которым еще не присвоен идентификатор маршрутизации
content::RenderWidget
- RenderWidget обеспечивает коммуникационный мост между WebWidget и RenderWidgetHost, последний из которых работает в другом процессе
- Обрабатывает входящее сообщение в методе OnMessageReceived
- Обрабатывает входящие события в цепочке blink::handleInputEvent
- В случае, наведения курсора мыши на требуемый элемент, срабатывает соответствующее событие, у которого установлен tooltip, выполняется hit-тест
- Отправляет ответы через IPC
content::InputHandler
- content::InputHandlerManager
- Управляет экземплярами InputHandlerProxy для WebView в рендеринге
- content::InputHandlerProxy
- Этот класс является прокси-сервером, фильтрирующим события ввода и обработки композиции. Экземпляры InputHandlerProxy полностью связаны с потоком компоновщика. Каждый экземпляр InputHandler обрабатывает входные события, предназначенные для определенного WebWidget
- Вызывает конкретные функции Compositor компонента в результате входного события
- content::InputHandlerManager
Compositor (cc)
- Compositor вызывает конкретные функции gfx и GL/GLES для выполнения правильной отрисовки
blink::ScriptController
- Интерпретирует JavaScript и получает возвращаемое значение через объект V8ScriptRunner
V8
- Это JavaScript-движок встроенный в Blink
- JavaScript
- Парсит
- Компилирует
- Выполняет
- Выполняет обратные вызовы для изменения DOM-дерева
- Работает с памятью
- Выделение памяти
- Сборка мусора
Startup
- Является точкой входа данного процесса
Utility
- Представляет собой служебную утилиту
Loop
- MainMessageLoop
- Используется для обработки событий определенного потока
- Помещает входящие сообщения, а также задачи в очередь
- Выдает задачу из очереди и запускает ее
- Обеспечивает прочное соединениние с IPC
- Имеет защиту от повторной установки задачи
- Повторная задача не может быть запущена до завершения предыдущей задачи
- MainMessageLoop
IPC / Mojo
- Это структура, используемая для межпроцессного взаимодействия
- Подключается непосредственно к MainMessageLoop
- Предоставляет каналы связи, через которые могут быть отправлены сообщения
- Обеспечивает создание, отправку и получение сообщений
- Обеспечивает асинхронную обработку сообщений
Extensions
- ExtensionsHandler
- Отправляет в IPC служебные сообщения расширений Chrome
- UtilityHandler
- Является обработчиком для входящих сообщений IPC, связанных с расширениями, из внутренних процессов
- unpack extensions
- extensions::Unpacker
- Этот класс распаковывает расширения
- Он предназначен для использования расширения в изолированном дочернем процессе
- Различные биты расширения анализируются, затем сообщаются обратно в родительский процесс, который затем перекодирует предварительно разобранные биты и записывает их обратно на диск для последующего использования
- extensions::Unpacker
- ExtensionsHandler
ResourceBundle
- Инициализирует ResourceBundle
- Возвращает выбранную локализацию
icu
- Инициализирует icu
- Создает TimeZone по умолчанию
V8Initializer
- Инициализирует V8
- Загружает нативные библиотеки V8
- Инициализирует V8
Startup
- Является точкой входа процесса для работы GPU
Loop
- MainMessageLoop
- Используется для обработки событий определенного потока
- Помещает входящие сообщения, а также задачи в очередь
- Выдает задачу из очереди и запускает ее
- Обеспечивает прочное соединениние с IPC
- Имеет защиту от повторной установки задачи
- Повторная задача не может быть запущена до завершения предыдущей задачи
- MainMessageLoop
IPC / Mojo
- Это структура, используемая для межпроцессного взаимодействия
- Подключается непосредственно к MainMessageLoop
- Предоставляет каналы связи, через которые могут быть отправлены сообщения
- Обеспечивает создание, отправку и получение сообщений
- Обеспечивает асинхронную обработку сообщений
TaskAnnotator
- Все входящие задачи проходят через TaskAnnotator, который аннотирует задачу перед выполнением
- Реализует общие отладочные аннотации для размещенных задач. Сюда входят такие данные, как происхождение задачи, длительность очередей и использование памяти
- Выполняет ранее поставленную задачу
GPU Command Buffer
- Реализует методы IPC (прием, передача)
- Обрабатывает сообщения (Set/Get buffer, Flush, Create/Destroy Images и т.д.) и отправляет команды
gfx::GLSurface
- Инкапсулирует поверхность, которую можно визуализировать с помощью GL, скрывая управление платформой
gfx::GLContext
- Инкапсулирует контекст OpenGL, скрывая конкретное управление платформой
GLES2 Decoder
- Декодирует команды GLES2 из командного буфера
- Вызывает методы GL
Shader, Texture, …, Draw elements
- Вызывает функции OpenGL
- Компилирует и выполняет шейдерные коды
- Манипулирует текстурами (bind, remove, setTarget и т. д.)
- Выполняет другие вызовы состояния GLContext
Swap buffers
- Обрабатывает swap кадров
- Если буфер выключен, то отображаемый кадр копируется в другой фреймбуфер
интервью с создателем Opera и Vivaldi — Истории на vc.ru
«Работаем. Вот, собственно, и вся борьба», — рассказывает Йон Стефенсон фон Течнер о попытках занять заметное место на рынке. На его браузер Vivaldi перешли больше 2 млн пользователей за пять лет.
{«id»:227125,»url»:»https:\/\/vc.ru\/story\/227125-zachem-delat-novyy-brauzer-i-kak-borotsya-s-chrome-kogda-zavisish-ot-ego-dvizhka-intervyu-s-sozdatelem-opera-i-vivaldi»,»title»:»\u0417\u0430\u0447\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0438 \u043a\u0430\u043a \u0431\u043e\u0440\u043e\u0442\u044c\u0441\u044f \u0441 Chrome, \u043a\u043e\u0433\u0434\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0448\u044c \u043e\u0442 \u0435\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430: \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0441 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0435\u043c Opera \u0438 Vivaldi»,»services»:{«facebook»:{«url»:»https:\/\/www. facebook.com\/sharer\/sharer.php?u=https:\/\/vc.ru\/story\/227125-zachem-delat-novyy-brauzer-i-kak-borotsya-s-chrome-kogda-zavisish-ot-ego-dvizhka-intervyu-s-sozdatelem-opera-i-vivaldi»,»short_name»:»FB»,»title»:»Facebook»,»width»:600,»height»:450},»vkontakte»:{«url»:»https:\/\/vk.com\/share.php?url=https:\/\/vc.ru\/story\/227125-zachem-delat-novyy-brauzer-i-kak-borotsya-s-chrome-kogda-zavisish-ot-ego-dvizhka-intervyu-s-sozdatelem-opera-i-vivaldi&title=\u0417\u0430\u0447\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0438 \u043a\u0430\u043a \u0431\u043e\u0440\u043e\u0442\u044c\u0441\u044f \u0441 Chrome, \u043a\u043e\u0433\u0434\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0448\u044c \u043e\u0442 \u0435\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430: \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0441 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0435\u043c Opera \u0438 Vivaldi»,»short_name»:»VK»,»title»:»\u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435″,»width»:600,»height»:450},»twitter»:{«url»:»https:\/\/twitter. com\/intent\/tweet?url=https:\/\/vc.ru\/story\/227125-zachem-delat-novyy-brauzer-i-kak-borotsya-s-chrome-kogda-zavisish-ot-ego-dvizhka-intervyu-s-sozdatelem-opera-i-vivaldi&text=\u0417\u0430\u0447\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0438 \u043a\u0430\u043a \u0431\u043e\u0440\u043e\u0442\u044c\u0441\u044f \u0441 Chrome, \u043a\u043e\u0433\u0434\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0448\u044c \u043e\u0442 \u0435\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430: \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0441 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0435\u043c Opera \u0438 Vivaldi»,»short_name»:»TW»,»title»:»Twitter»,»width»:600,»height»:450},»telegram»:{«url»:»tg:\/\/msg_url?url=https:\/\/vc.ru\/story\/227125-zachem-delat-novyy-brauzer-i-kak-borotsya-s-chrome-kogda-zavisish-ot-ego-dvizhka-intervyu-s-sozdatelem-opera-i-vivaldi&text=\u0417\u0430\u0447\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0438 \u043a\u0430\u043a \u0431\u043e\u0440\u043e\u0442\u044c\u0441\u044f \u0441 Chrome, \u043a\u043e\u0433\u0434\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0448\u044c \u043e\u0442 \u0435\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430: \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0441 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0435\u043c Opera \u0438 Vivaldi»,»short_name»:»TG»,»title»:»Telegram»,»width»:600,»height»:450},»odnoklassniki»:{«url»:»http:\/\/connect. ok.ru\/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https:\/\/vc.ru\/story\/227125-zachem-delat-novyy-brauzer-i-kak-borotsya-s-chrome-kogda-zavisish-ot-ego-dvizhka-intervyu-s-sozdatelem-opera-i-vivaldi»,»short_name»:»OK»,»title»:»\u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438″,»width»:600,»height»:450},»email»:{«url»:»mailto:?subject=\u0417\u0430\u0447\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0438 \u043a\u0430\u043a \u0431\u043e\u0440\u043e\u0442\u044c\u0441\u044f \u0441 Chrome, \u043a\u043e\u0433\u0434\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0448\u044c \u043e\u0442 \u0435\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430: \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0441 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0435\u043c Opera \u0438 Vivaldi&body=https:\/\/vc.ru\/story\/227125-zachem-delat-novyy-brauzer-i-kak-borotsya-s-chrome-kogda-zavisish-ot-ego-dvizhka-intervyu-s-sozdatelem-opera-i-vivaldi»,»short_name»:»Email»,»title»:»\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u043e\u0447\u0442\u0443″,»width»:600,»height»:450}},»isFavorited»:false}
16 623 просмотров
Йон Стефенсон фон Течнер возглавлял Opera 15 лет с момента основания. В 2011 году из-за разногласий с советом директоров он покинул компанию и в 2015 году начал с нуля — взялся за разработку браузера Vivaldi.
Течнер часто повторяет, что для него важен «дух старой Opera», когда бизнес строится вокруг желаний пользователей, а не финансовых показателей. Например, Vivaldi не продаёт рекламу или данные пользователей и развивается без внешних инвестиций, чтобы сохранять независимость.
В апреле 2021 года Vivaldi исполняется пять лет. В интервью с vc.ru Течнер рассказал:
Зачем нужен ещё один браузер, если есть Chrome, Safari, Firefox и другие
Сейчас на рынке браузеров очень много игроков. В чём цель вашего проекта, чем он отличается от остальных браузеров?
Мы начали создавать Vivaldi, потому что во всех остальных браузерах идёт фокус на упрощение функций: пользователь просто смотрит страницы сайтов, ничего особенно в таких браузерах нет.
Мы же стараемся следовать за запросами от пользователей и разрабатываем развитый браузер, в котором есть множество функций, который можно настраивать под свои нужды. Наш фокус — на пользователях, а не на попытках всё упростить, как это делают другие.
Vivaldi
Не получится так, что браузер станет комбайном, работающим медленнее остальных?
Это непростой вопрос. Дело в том, что «облегчённые» браузеры в чистом виде могут работать быстрее и для каких-то задач подходят. Но на самом деле пользователям нужно больше функций, поэтому они устанавливают расширения.
Расширения часто конфликтуют друг с другом или не очень отлажены для конкретного браузера — начинаются «тормоза». Набирая функциональность, пользователи снижают производительность своего браузера.
Мы нашли баланс: функции, которые пользователи добавляют как расширения, мы встраиваем в Vivaldi и отлаживаем, чтобы всё работало нормально.
Получается, что в каком-то параметре Vivaldi чуть медленнее, чем другие браузеры, например, Chrome. Но в комплексе все добавленные и протестированные функции работают быстрее, чем Chrome с такими же расширениями.
Немаловажный аспект: скорость браузера — это не только скорость загрузки страницы. Она складывается из двух компонентов — скорости работы приложения и скорости работы пользователя с этим приложением.
Если разбираться, то программа, обвешенная расширениями, в чистом виде работает быстрее, но на самом деле для пользователя работа проходит медленнее, чем в Vivaldi, у которого столько же функций и есть возможность их настроить.
Какие функции Vivaldi, по вашему, сделаны лучше, чем у других?
Мы всегда прислушиваемся к отзывам и предложениям пользователей. По нашему опыту очень популярна возможность расположить вкладки сверху, снизу или сбоку браузера.
Есть несколько способов группировки вкладок, а также уникальная функция — разместить несколько вкладок в одном окне и одновременно просматривать несколько страниц. Например, расположить их рядом по две-три или мозайкой.
И подобных функций у нас много — например, настройка контекстного меню, чтобы пользователь мог сформировать свой стиль работы. Эти функции очень популярны среди пользователей, и они делают нас уникальными. Хотя у нас, кстати, копируют.
Какие функции у вас скопировали?
Сравнительно недавно были скопированы боковые панели, где размещаются веб-сайты, чаты и другие каналы. В прошлом году подобную опцию добавили в Firefox.
Чем отличается разработка Vivaldi от того, как вы разрабатывали Opera? Например, как выбираете новые функции или как управляете компанией?
Я больше знаком с тем, как разрабатывалась прошлая Opera, а не современная, потому что сейчас это немного разные компании. Мы стараемся сохранить дух старой Opera, тем более, у нас в команде много людей которые над ней работали.
С другой стороны, разработка кода изменилась. Так как ядро не наше (Vivaldi основан на Chromium, а не на своём движке, как «старая» Opera, работавшая на Presto — vc. ru), приходится много работать с чужим кодом и адаптировать его под наши нужды. Учимся по ходу дела.
А вот философия осталась прежней — следовать за запросами пользователей и дать им то, что им нужно: максимально удобный опыт сёрфинга и функции для ежедневной работы.
Вы сначала переносите старые функции Opera, а затем развиваете браузер по новым запросам, или процесс добавления новых фич выглядит как-то иначе?
Да, изначально мы старались перенести популярные функции из Opera, но сейчас у пользователей немного другие запросы, время изменилось.
Мы стараемся комбинировать: параллельно добавлять то, что было в Opera, и то, что востребовано сегодня. Например, в Opera был довольно популярный почтовый клиент, сейчас он есть у нас в тестовой версии.
В то же время в Opera не было календаря, сейчас мы добавили его в браузер, как и группировку вкладок. Она была в Opera в простом виде, но по запросам пользователей мы её усовершенствовали.
Как вы определяете, какие функции добавить? Откуда берёте идеи?
В большей степени мы следуем за запросами пользователей и стараемся сделать функции более продвинутыми.
Каким должен быть браузер в представлении современного пользователя?
Есть две основные черты современного браузера: адаптация под нужды пользователей и приватность.
Он должен отвечать индивидуальным запросам людей, поэтому мы и делаем Vivaldi настраиваемым: кому-то нужен браузер попроще, кому-то нужны новые функции. Это первый аспект. Второй — безопасность, чтобы шанс утечки данных был минимальным.
Как вы обеспечиваете конфиденциальность пользователей?
В первую очередь мы не собираем данные пользователей и не зарабатываем на них, в отличие от других сервисов и браузеров. Это наше самое главное убеждение, которое мы всегда подчёркиваем.
Мы считаем ненормальным и неестественным, когда приложение начинает собирать информацию о пользователе, создавать его профиль, а потом с ним что-то делать, например, монетизировать.
Мы стараемся не позволять другим сервисам собирать данные о наших пользователях. Мы добавляем функции, которые дают возможность отключить трекинг. Например, встроенный блокировщик рекламной слежки и приватный режим.
На чем зарабатывает Vivaldi и как устроена работа в компании
По какой бизнес-модели работает Vivaldi?
Всё просто. Часть денег мы получаем от партнёрства с поисковыми системами, встроенными в браузер, часть — с партнёрских ссылок, например, Booking.com, Amazon. com, AliExpress. Мы зарабатываем с покупок пользователей у партнёров.
Есть ещё какие-то дополнительные источники заработка, о которых вы задумываетесь?
Нет, мы не планируем новых путей, в целом бизнес-модель работает. Вопрос только в увеличении числа пользователей.
В 2019 году вы говорили, что для самоокупаемости нужно пять миллионов пользователей. Удалось достигнуть этого показателя?
Пока мы не достигли нужной цифры, но в росте базы пользователей есть очень хороший прогресс. За 2020 год база выросла на 70%. На начало 2021 года мы достигли 2,3 млн активных пользователей в месяц.
Как вы привлекаете пользователей?
В основном мы растём за счёт рекомендаций, поэтому для нас главное — делать хороший продукт, чтобы пользователи рассказывали о нём своим друзьям и знакомым.
В рекламу и продвижение мы не вкладываем больших денег. Мы — маленькая компания, у нас нет таких денег, чтобы проводить большие рекламные акции.
Конечно, рост не такой быстрый, но с другой стороны, в истории уже были примеры, когда после быстрого роста было столь же быстрое исчезновение компании — та же Netscape.
Мы просто повторяем успех Opera: «старая» компания тоже развивалась за счёт рекомендаций, а не рекламных инвестиций. Фактически мы тогда тоже рекламу не делали.
Вы не планируете привлекать внешние инвестиции?
Нет, не планируем. У нас компания построена так, что сотрудники — её владельцы. Для нас очень важно, чтобы те, кто работают в Vivaldi, сохраняли контроль над ней и принимали решения самостоятельно, а не навязанные кем-то свыше.
Сколько сейчас человек в компании?
Около 50 человек, чуть больше.
Вижу, что в России у вас есть отдел маркетинга, а есть ли разработчики?
Нет, в России у нас пока нет разработчиков, потому что стараемся нанимать людей там, где у нас есть офисы — в Норвегии, Исландии, Америке. Мы стараемся нанимать программистов так, чтобы они работали все вместе, а не удалённо.
Нам лучше, когда люди работают вместе — работа получается гораздо эффективнее. Причём мы часто собираемся вместе в одном из офисов, чтобы пообщаться поближе, сделать задачи и решить какие-то вопросы.
Но если кто-то из России хочет устроиться к нам, можно прислать резюме и попасть в команду.
А как была построена работа во время пандемии, если вы делаете акцент на офисе?
Конечно, в прошлом году нам пришлось перейти на удалённую работу. Но даже удалённо мы старались поддерживать дух единой команды: все встречи и собрания обязательно проходили так, чтобы все друг друга видели и ощущали «присутствие».
И пандемия не изменила ваше отношение к удалённой работе?
Наше мнение не изменилось. Хоть и приходилось работать удалённо, у людей была тяга и стремление поработать вместе и приехать в офис.
В Исландии был жёсткий контроль во время пандемии, но сейчас по заболеваемости ситуация очень спокойная и стабильная, поэтому при первой же возможности весь офис снова начал работать вместе.
А изменилось ли мышление пользователей во время пандемии? Например, какие им нужны функции?
Да, мы почувствовали рост интереса к Vivaldi, был рост числа загрузок и установок. Также был запрос на новые функции от тех, кто начал работать из дома. Всё что мы добавляли в Vivaldi в 2020 году — это функции по их запросу.
Например, в марте 2021 года вышла первая тестовая версия браузера со встроенным переводчиком. Эту функцию очень просили.
На базе какого движка переводчик?
Lingvanex. Это компания, которая разрабатывает систему машинного перевода. Мы стали партнёрами и внедряем их инструмент в Vivaldi.
Есть ли ещё какие-то сторонние разработки внутри браузера?
Опыт с Lingvanex для нас в новинку, потому что обычно мы стараемся добавлять собственные функции и отвечать за их качество, работу и своевременные обновления. Посмотрим, как получится внедрить в браузер сторонний продукт.
Сейчас VPN и подобные сервисы для обхода блокировок или защиты приватности пользователя выходят на первый план. В Brave встроен Tor, в Opera был встроенный VPN. Скажите, в Vivaldi планируется что-то подобное?
Мы давно обсуждаем эту идею, есть предложение от пользователей сделать VPN. Но пока мы не пришли к какому-то решению, так как имплементация реального VPN требует очень больших вложений. Это довольно сложная технология, для которой нужна мощная серверная инфраструктура. Пока мы не готовы её у себя реализовать.
Кстати, у Opera не совсем VPN, а прокси — похожая технология, но не чистый VPN.
Может ли Vivaldi сделать так же, с прокси?
Нет, по той же причине дороговизны реализации технологии. Сейчас мы просто рекомендуем пользователям сторонние сервисы — есть хорошие, мощные и, иногда, не очень дорогие.
Как устроены современные браузеры и нужна ли альтернатива Chromium
Как изменился рынок браузеров с запуска Vivaldi? Что изменилось в принципах компаний-разработчиков, в отношении пользователей?
Мы почувствовали, что после нашего выхода многие на рынке зашевелились и начали посматривать в нашу сторону: где-то копировать функции, где-то идти по нашим стопам — как Microsoft, которая всё-таки перевела Edge на Chromium. Но когда у всех одно ядро, это не очень хорошо, потому что нет конкуренции.
Конечно, мы не самый крупный браузер на рынке сейчас, но довольно интересный и необычный, на который посматривают другие. И мы стараемся сохранять свою позицию инноваторов.
Решение Microsoft отказаться от собственного движка верное? Может это помочь Edge отвоевать часть рынка у Google?
Случай Microsoft довольно уникальный, потому что компания отказалась от своего движка и какое-то время даже соревновалась с ним.
Мы видим, что сейчас Microsoft проводит очень агрессивную политику по навязыванию своего браузера, например, в Windows 10. Пока нельзя сказать, насколько это поможет Microsoft завоевать хорошие позиции. Время покажет.
В целом нужна ли на рынке альтернатива Chromium? Или в ближайшие несколько лет нет смысла придумывать что-то новое? Та же Mozilla Firefox со своим движком как далеко может зайти?
В какой-то степени стандартизация — это плюс. Когда сайты работают одинаково во всех браузерах, конечно, это хорошо для пользователей — они меньше сталкиваются с проблемами независимо от выбранного браузера.
Лично я считаю, что было бы неплохо, если бы на рынке было несколько вариантов разных движков — это хорошая и здоровая конкуренция. Люди смогли бы разрабатывать что-то новое и инновационное на своём коде, не таком, как у остальных.
Но, с другой стороны, стандартизация даёт нам возможность конкурировать с гигантами браузерной индустрии — не в движках, а в функциональности и интерфейсе. Это мощный пласт, в котором есть простор для конкуренции.
Стало ли легче веб-разработчикам от снижения числа веб-движков?
Да, такая ситуация чуть облегчает жизнь. Раньше им приходилось серьёзно адаптировать свой код под разные браузеры. Когда у Microsoft Internet Explorer была доля до 80% рынка, веб-разработчикам приходилось подстраиваться под стандарты IE, так как компания по-своему реализовала веб-стандарты и меняла их.
Затем произошло обратное — Microsoft потеряла своё влияние на рынке и ей самой пришлось исправлять ситуацию и делать браузер, совместимый с веб-стандартами.
Так что я считаю, что переход рынка на единый движок Chromium — не самый положительный вектор развития, но разработчикам жить стало легче.
Apple в Safari и iOS продвигает приватность — блокирует рекламные трекеры и вынуждает сторонних разработчиков раскрывать, какие данные они собирают. Насколько пользователей привлекает акцент на приватности?
То, что Apple задумалась о приватности на платформе — это хорошо.
Но разные компании подразумевают под «приватностью» разные вещи, надо смотреть на бизнес-модель каждой: они действительно хотят реальную приватность или же это маркетинговый ход?
Для нас, например, это естественное состояние, потому что мы не зарабатываем на данных пользователей и не позволяем их собирать другим.
Недавно сетевые безопасники выявили, что разработчики некоторых популярных расширений внедряют чужой код прокси-сервисов, чтобы заработать. Можно ли как-то изменить рынок расширений, чтобы авторы зарабатывали, но не использовали данные пользователей?
Эту проблему сложно контролировать на стороне браузера. Мы не можем вносить много изменений в код браузера, так как глубокое изменение ядра Chromium может привести к потере совместимости с другими компонентами движка. Мы уже сталкивались с этим.
Google делает мощные шаги, чтобы отслеживать и обезвреживать вредоносные расширения.
Мы же стараемся быть совместимы только с расширениями из магазина Chrome, вынуждены следовать за ними и надеяться, что они [Google] будут хорошо делать свою работу.
Проблема с безопасностью расширений — это ещё одна причина, по которой мы стараемся внедрять как можно больше функций в сам браузер, чтобы пользователям не приходилось рисковать своими данными и ставить расширения.
В начале марте Google анонсировала, что в течение двух лет откажется от сторонних cookies в Chrome и будет разрабатывать «более современные и обезличенные технологии». Как думаете, Chrome действительно может стать более «обезличенным»?
На самом деле у Google очень много технологий, с помощью которых компания собирает данные о пользователях — от сервисов до Google Analytics. Для неё нет большой проблемы отказаться от сторонних cookies, потому что они им в целом не делают погоды.
Хочется верить, что Google хочет сделать пользователей более защищенными, но скорее всего это небольшая уловка. Компания зарабатывает деньги на сборе данных, это её бизнес. И вряд ли она будет отказываться от своей же кормушки.
Можно ли найти баланс между тем, чтобы не навредить рекламодателям и при этом пользователи были в безопасности?
В самой рекламе проблем нет — логично, что когда человек, например, читает техническую статью, он видит связанную с той же областью рекламу. Если он в России и читает новости, нормально показывать рекламу от российских компаний.
Проблема в том, что реклама начинает отслеживать активность и действия пользователя, рекламные объявления превращаются в службу слежки за пользователем. Это большая проблема. Было бы неплохо вернуться в прежние времена, когда реклама была именно рекламой, а не «жучком», но сейчас это сложно сделать.
Пока просвета (в рекламном бизнесе) нет, и сложно сказать, что даст попытка Google внести изменения.
Есть блокчейн-браузер Brave, который награждает за использование. Пользователи могут пожертвовать вознаграждения авторам и владельцам сайтов. Как вы считаете, это интересная и работоспособная система монетизации?
Здесь есть два нюанса. Идея микроплатежей для поддержки сайтов — это интересная и может сработать. Но то, что они используют криптовалюту, выглядит немного подозрительно и не очень оптимистично.
Это пока не стабильная технология: курс постоянно прыгает, как это работает — неясно, и с этим могут быть проблемы.
С какими проблемами сталкиваются разработчики альтернативных браузеров
Какие сейчас у пользователей браузеров основные проблемы и боли?
Мы считаем, что у пользователей востребована настраиваемость браузера: способность настроить его под свои запросы и нужды. Потому что мы ежедневно проводим в интернете несколько часов.
С какими проблемами сталкиваетесь лично вы — в разработке Vivaldi и ведении бизнеса?
Основная проблема в том, что мы работаем над массой новых функций, которые хотим внедрить в Vivaldi. Например, RSS-ридер, календарь, почтовые клиенты. Хочется выкатить это как можно быстрее, но пока не очень хватает ресурсов, чтобы сделать всё в ближайшее время.
Ещё одна проблема — мы не можем сделать браузер для iPhone. Политика Apple не даёт выпустить браузер для iOS, если он не использует код самой Apple. Но как только политика компании изменится, мы сразу сможем выйти и на этот рынок.
Я правильно понимаю, что Vivaldi не разрабатывается на WebKit (движок Apple Safari) и вы ждёте изменений со стороны Apple?
А что может повлиять на Apple? Регуляторы обращают внимание на App Store, но в основном на комиссии, а не модерацию приложений. И возможность замены стандартных приложений меняется минимально.
Apple старается максимально снизить возможность конкуренции на своей платформе. Что может изменить ситуацию — трудно сказать, потому что это путь, которым компания зарабатывает деньги и привлекает аудиторию. Сложно заставить её измениться.
Мы видим, что государственные организации пытаются воздействовать на Apple по антимонопольным вопросам. Шансов немного, но мы ждём и надеемся.
Рассматриваете ещё платформы для выпуска Vivaldi?
Сейчас мы поддерживаем большинство основных платформ: Linux, Windows, macOS, Android.
Мы пробовали делать версию браузера на Raspberry Pi, она тоже работает, но это эксперимент. В ближайшем будущем мы надеемся, что прежде всего сможем выйти на iPhone.
А, например, «умные» телевизоры?
Мы чувствуем интерес к тому, чтобы Vivaldi появился на других платформах. И это легко сделать, если платформа на базе Linux или Android, так как у нас свой интерфейс, который легко перестроить под любое устройство.
Текущую Android-версию некоторые пользователи уже запускали на телевизорах: она работает, но есть замечания, так как мы не адаптировали браузер.
В 2019 году вы рассказывали, что Google начала мешать Vivaldi и пришлось изменить useragent на Chrome, замаскировать браузер, чтобы избежать проблем с совместимостью. Насколько это критично и поменилось ли что-то за два года?
Из-за смены useragent сложно оценить рыночную долю Vivaldi и неясно, кто из Chrome в статистике на самом деле Chrome.
Доли настольных браузеров по данным StatCounter. Лидирует Chrome с 66%
В useragent всегда было слово Chrome, как и у других Chromium-браузеров. Дальше у нас был вставлен кусочек с нашим названием Vivaldi, чтобы можно было смотреть, где Chromium-браузер, где Vivaldi. При посещении некоторых сервисов Google нас блокировали, пользователям не разрешали работать в сервисах Google.
Если мы удаляли слово Vivaldi, браузер снова работал нормально. Что интересно, даже если мы меняли букву в слове Vivaldi, браузер не испытывал проблем. Выглядело так, будто работа сервисов блокировалась по конкретному слову.
Демонстрация блокировки useragent Vivaldi в Google
Поэтому мы решили, что лучше сохраним нервы пользователей и дадим им спокойно работать, и убрали из идентификатора наше название.
Ситуация не поменялась, и мы уверены, что стоит вернуть Vivaldi — мы получим такие же проблемы. Поэтому планов на изменение у нас нет.
Microsoft столкнулась с похожими проблемами, когда перевела Edge на движок Chromium. Компания разрабатывала решение по автоматической смене useragent на проблемных сайтах. Почему у вас нет подобной функции?
Мы как раз начали с такого способа, делали подмену useragent для сайтов или сервисов. Но список рос, а мы тратили слишком много сил и времени, чтобы проверять совместимость, добавлять сайты в список, тестировать, как это будет работать.
В конце концов мы решили, что проще один раз навсегда изменить useragent и сконцентрироваться на добавлении новых функций, а не тратить время на войну с нашими конкурентами.
Это только ваша проблема, или разработчики других альтернативных браузеров тоже сталкиваются с подобным?
Точно такая же ситуация была со старой Opera — мы испытывали постоянные проблемы и на сайтах Google, и на сайтах Microsoft. Мы точно так же подменяли useragent. Насколько я знаю, в новой Opera тоже сталкивались с подобным и как-то решали эту проблему.
Почему создатели альтернативных браузеров не могут объединиться в коалицию против нечестной конкуренции, как сейчас пытаются бороться с Apple?
Мы испытывали проблемы с сайтами и сервисами практически всех крупных игроков — и Google, и Apple, и Microsoft. Большой вопрос, с кем входить в коалицию.
Во времена старой Opera мы что-то подобное пробовали с Mozilla: пытались объединить усилия, чтобы проталкивать стандарты и противостоять давлению ИТ-гигантов. Но наша деятельность оказалась нерезультативной, потому что Mozilla посчитала, что мы не очень крупный проект, и дело немного заглохло.
Пока мы не видим, что с этим делать. Работаем над браузером — вот, собственно, и вся борьба.
Изменится ли рынок браузеров в будущем
На ваш взгляд, есть ли место на рынке для ещё одного браузера? Если сейчас какой-то стартап начнёт свой проект, будет ли у него хоть какой-то шанс стать успешным?
Рынок браузеров всегда был сложным. Даже когда я в 1994 году начинал свою работу и на рынке был монополист — Netscape, уже было сложно. Браузер — сложное ПО, поэтому даже если кто-то из стартапов решит попробовать, будет совсем непросто.
Что, на ваш взгляд, изменится на рынке браузеров в ближайшие пять лет? Каким вы его видите?
Сложно предполагать, потому что ситуация может меняться очень быстро — помним, как быстро Internet Explorer потерял практически всё.
Исторически нам всегда приходилось конкурировать с крупными компаниями: вначале с Mosaic, затем с Netscape, потом с Internet Explorer.
Сейчас очень сильный игрок это Google Chrome, но при этом на рынке есть ещё много компаний, хотя и не таких больших, как Google, Microsoft, Mozilla и Apple.
Но я ожидаю, что в целом всё будет примерно так же: несколько крупных игроков и несколько типа нас и Brave, которые борются за пользователей с гигантами.
Вы начинали в эпоху ПК, затем все перешли на мобильные устройства. Как меняется рынок браузеров и направление их развития?
У нас долгая и интересная история развития технологий. Когда мы в середине 90-х годов выпустили Opera на нескольких языках, мы получили комментарии в духе: «Зачем переводить браузер на другие языки, все используют английский!».
В 1998 году мы выпустили первую мобильную версию Opera и получили комментарии: «Зачем вы делаете эту ерунду для мобильников, там же WAP и ограниченный трафик. Это бесполезная работа, зачем?».
Сейчас мы видим, что технологии выстрелили и развиваются дальше — впереди большой простор для творчества и инноваций. Даже в том же телевизоре нужно решить, что делать с интерфейсом и управлением.
В Opera мы делали браузер и для развлекательных систем в самолётах, и для бортового компьютера в автомобилях, и для факсов и холодильников.
В будущем всё будет развиваться активнее. Интернет, а значит, и браузеры будут заполнять всё больше пространства вокруг нас, и у нас много возможностей, чтобы сделать что-то интересное и новое.
Разница между Chrome и Chromium
Chrome, без сомнения, доминирует на мировом рынке браузеров. Это бесспорный лидер и не собирается уходить с этой должности. С другой стороны, Chromium — это бесплатный программный проект с открытым исходным кодом, созданный Google. Его исходный код обеспечивает основу для нескольких браузеров.
Учитывая схожесть названий, часто возникает вопрос о разнице между Chrome и Chromium. Эта статья призвана прояснить этот вопрос.
ChromeChrome — это браузер, разработанный и поддерживаемый Google. Он проприетарный, и каждый может скачать и использовать его бесплатно. Но код нельзя декомпилировать, реконструировать или использовать для создания других проектов.
Как скачать Chrome?Перейдите на веб-сайт Chrome. Следуйте инструкциям там, и Chrome будет установлен в течение нескольких минут, в зависимости от того, используете ли вы Windows или MacOS.
Как тестировать сайты в Chrome?Так как Chrome держит около 64.Разработчики, занимающие 45% мирового рынка браузеров, должны тестировать каждый веб-сайт, который они создают в Chrome. Имейте в виду, что сюда входят текущие и более старые версии Chrome. Не думайте, что каждый пользователь Chrome обновил браузер до последней версии.
Есть несколько способов протестировать веб-сайт в нескольких версиях Chrome:
- Загрузите старые версии Chrome. Тестировщики могут загружать старые версии Chrome и запускать свои веб-сайты, чтобы убедиться, что они работают должным образом. Однако это потребует значительного количества времени и усилий, что может стать проблемой, когда дело доходит до обработки быстрых циклов выпуска.
- Воспользуйтесь облачной службой тестирования, например BrowserStack. BrowserStack предоставляет доступ к нескольким версиям Chrome (версии с 15 по 75), установленным в тысячах реальных браузеров. Тестировщики могут просто выбрать версию Chrome, реальное устройство для его запуска и начать тестирование своего веб-сайта в Chrome. Доступны различные версии Chrome для ручного тестирования, а также для автоматического тестирования Selenium.
Начать тестирование в версиях браузера Chrome бесплатно
Изображение ниже дает представление об обширных предложениях BrowserStack для тестирования:
- Используйте эмулятор браузера.Хотя эмуляторы полезны на начальных этапах разработки, они не могут полностью воспроизвести реальные условия. Например, эмулятор не может воспроизвести сетевое подключение, местоположение устройства, низкий заряд батареи и другие факторы, с которыми приходится иметь дело пользователям. Таким образом, веб-сайт не может быть протестирован в реальных пользовательских условиях и, следовательно, не будет готов к использованию в реальных условиях.
Подробнее: Тестирование кроссбраузерной совместимости за пределами Chrome и Firefox
Chromium
И наоборот, Chromium — это не просто еще один браузер, но и проект с открытым исходным кодом, который генерирует исходный код, на котором построен Chrome. .В 2008 году Google выпустил большую часть исходного кода Chrome под названием Chromium, чтобы побудить разработчиков пересмотреть основной код. Это также позволило им перенести браузер на Linux и Mac.
По сути, разработчики Google берут исходный код Chromium, добавляют свой проприетарный код — в результате получается Chrome, который имеет больше функций и надстроек, чем Chromium. Например, обновления Chrome могут автоматически отслеживать данные о просмотре и обеспечивать встроенную поддержку Flash. Хром ничего из этого не делает.
Несколько браузеров, кроме Chrome, основаны на коде Chromium.Сюда входят Opera, Amazon Silk и Microsoft Edge. По сути, Edge заменил движки Javascript и рендеринг от Microsoft, заменив их на Chromium V8 и Blink. Знаете ли вы, насколько важны механизмы рендеринга в браузерах?
Как скачать Chromium?Самый простой способ получить Chromium — это сделать это со страницы загрузки. Страница автоматически распознает операционную систему устройства и предлагает нужную версию Chromium. Если этого не произошло, просто выберите ОС в списке внизу страницы.
Страница также распознает текущий номер постройки и его возраст. Пользователи Windows и Linux также могут щелкнуть ссылку «Последняя удачная редакция» в нижней части страницы, чтобы получить выпуски Chromium за год до этого.
Для получения дополнительных сведений о загрузке Chromium, например о том, как найти определенную версию Chromium для тестирования и отладки, перейдите на эту страницу.
В Linux установите Chromium прямо из репозиториев программного обеспечения дистрибутива Linux. Например, в Ubuntu Linux установите Chromium, открыв Центр программного обеспечения Ubuntu.Найдите Chromium и нажмите «Установить». Chromium также получает обновления безопасности через репозитории программного обеспечения дистрибутива Linux.
Знаете ли вы: Как отлаживать веб-сайты в Chrome на устройстве Android
Разница между Chrome и Chromium
Chrome | Chromium | |
Особенности | Обеспечивает дополнительные функции, такие как механизм обновления, встроенную поддержку нескольких технологий и компоненты управления цифровыми правами (DRM) для воспроизведения содержимого, защищенного авторским правом | Не предоставляет ни одной из этих функций |
Стабильность | Более стабильная чем Chromium | Он более подвержен сбоям, даже по сравнению с самыми основными версиями Chrome. |
Конфиденциальность | Автоматически собирает и передает информацию в Google. Эта информация может варьироваться от отчетов о сбоях, статистики использования, операционных систем устройства и т. Д. | Собирает и передает меньше информации. Невозможно передать такую информацию, как отчеты о сбоях и статистику использования. |
Безопасность | Поскольку он построен на Chromium, механизмы безопасности аналогичны. Но все исправления безопасности обновляются автоматически в Chrome | Так же безопасно, как и в Chrome.Но отсутствие механизма обновления означает, что исправления безопасности для исходного кода придется вручную загружать и устанавливать пользователем. |
Лицензионная поддержка | Включает поддержку лицензионных кодеков для проприетарных форматов мультимедиа AAC, H.264 и MP3 . Предлагает доступ к большему количеству мультимедийного контента, особенно к сайтам, использующим видео HTML5 для потоковой передачи видео H.264. Также включает базовые бесплатные кодеки: Opus, Theora, Vorbis, VP8, VP9, и WAV | Обеспечивает поддержку только базовых бесплатных кодеков: Opus, Theora, Vorbis, VP8, VP9, и WAV |
Однозначного ответа нет.Выберите браузер в зависимости от варианта использования.
- Однако, как правило, большинство людей предпочитают использовать Chrome, так как он проще в использовании и имеет ряд полезных надстроек. Chrome предлагает улучшенный проигрыватель Flash, позволяющий просматривать больше медиаконтента в Интернете. Например, Chrome в Linux может транслировать видео Netflix, для которых требуется поддержка H.264 для видео HTML5. Хром не включает это.
- Однако разработчики с открытым исходным кодом могут предпочесть использование Chromium, если они предпочитают часто изменять исходный код.Основным преимуществом является то, что Chromium позволяет дистрибутивам Linux, которым требуется программное обеспечение с открытым исходным кодом, упаковывать браузер, почти идентичный Chrome. Дистрибьюторы Linux также могут использовать Chromium в качестве веб-браузера по умолчанию вместо Firefox.
Сделайте выбор после тщательного и всестороннего анализа того, для чего нужен браузер. Поскольку Chrome и Chromium могут работать одновременно, также возможно разделить требования и выполнять функции в браузере, который им больше всего подходит.
Если кто-то хочет протестировать свой веб-сайт в более старой или последней версии браузера Chrome, Зайдите на эту страницу.
Хром против хрома: в чем разница?
Chrome — это веб-браузер, разработанный и выпущенный Google. Chromium — нишевый браузер с открытым исходным кодом с меньшим количеством пользователей, также разработанный Google. Chrome использует тот же исходный код, что и Chromium, но с меньшим количеством дополнительных функций и надстроек. Мы внимательно изучили плюсы и минусы каждого браузера, чтобы помочь вам принять обоснованное решение о том, какой из них лучше.
Lifewire / Miguel CoОбщие результаты
Хром
Собственный. Его можно загрузить и использовать бесплатно, но вы не можете декомпилировать, реконструировать или использовать исходный код для создания другой программы.
В отличие от Chromium, Chrome имеет автоматические обновления и данные просмотра.
Хром
Бесплатно и с открытым исходным кодом. Любой может изменять исходный код, как ему заблагорассудится.
Предоставляет большую часть исходного кода для Chrome.
Нет автоматических обновлений или данных просмотра.
Chrome — это проприетарный веб-браузер, разработанный и поддерживаемый Google. Поскольку он проприетарный, любой может загрузить и использовать его, но код нельзя декомпилировать, реконструировать или использовать для сборки других проектов.
Chrome построен на Chromium, что означает, что разработчики Google берут исходный код Chromium с открытым исходным кодом и добавляют свой проприетарный код. Например, Chrome имеет функцию автоматического обновления, может отслеживать данные просмотра и до недавнего времени включал встроенную поддержку Flash — всего того, чего в Chromium нет.
Lifewire / Miguel CoChromium — это веб-браузер с открытым исходным кодом, разработанный и поддерживаемый Chromium Projects. Поскольку это открытый исходный код, любой может изменять исходный код по своему усмотрению. Однако вносить код могут только доверенные члены сообщества разработчиков Chromium Project.
Обычные пользователи могут загрузить часто обновляемую версию Chromium, скомпилированную и готовую к использованию, с download-chromium.appspot.com.
Chrome за и против
Для обычных пользователей Интернета, вероятно, лучший выбор.Это безопасный и стабильный просмотр благодаря автоматическим обновлениям и отчетам об ошибках. В отличие от альтернативы с открытым исходным кодом, Chrome предлагает встроенную поддержку мультимедийных кодеков с закрытым исходным кодом, таких как AAC, H.264 и MP3.
Более того, некоторые недостатки Chrome, вероятно, не заметны, если вы не суперпользователь. Например, в отличие от Chromium, Chrome отслеживает привычки просмотра, файлы cookie, историю и другие данные. Но вы всегда можете использовать режим инкогнито Chrome, чтобы удалить эти данные в конце сеанса просмотра.
По умолчанию Chrome для Windows и Mac позволяет устанавливать только расширения, загруженные из Интернет-магазина Chrome. Это сравнивается с другими браузерами, которые допускают внешние расширения. Однако открытая платформа требует от пользователя более пристального внимания, поскольку внешние расширения иногда бывают непроверенными или вредоносными. Если вам нужна свобода установки внешних расширений в Chrome, включите режим разработчика.
Chromium за и против
Как платформа с открытым исходным кодом Chromium лучше подходит для опытных пользователей и веб-разработчиков.Многим пользователям нравится, что браузер не отслеживает данные о просмотре и не предоставляет Google информацию об истории и поведении пользователей. Также нет ограничений на то, какие расширения браузера можно добавлять.
Поскольку Chromium компилируется из исходного кода Chromium Projects, он постоянно меняется. В Chrome есть несколько каналов выпуска, но даже самый передовой канал Canary обновляется реже, чем Chromium. Регулярные обновления публикуются на веб-сайте Chromium Projects.
Хотя браузер обновляется чаще, чем Chrome, эти обновления необходимо загружать и устанавливать вручную.Автоматических обновлений нет.
Chromium не поддерживает лицензированные медиакодеки, такие как AAC, H.264 и MP3. Без этих кодеков вы не сможете воспроизводить мультимедиа в Chromium. Если вы хотите транслировать видео с таких сайтов, как Netflix и YouTube, используйте Chrome или установите эти кодеки вручную.
Наконец, в Chromium не всегда по умолчанию включена песочница безопасности. И Chrome, и Chromium имеют режим песочницы безопасности, но в некоторых случаях в Chromium он отключен по умолчанию.
Хром против Хрома: кто победит?
Поскольку Chrome и Chromium похожи и у каждого из них есть свои преимущества, нелегко сказать, какой из них лучше. Для обычных пользователей Chrome, вероятно, лучший выбор. Для опытных пользователей и для тех, кто высоко ценит конфиденциальность и кодирование, Chromium может быть подходящим решением.
Спасибо, что сообщили нам об этом!
Расскажите, почему!
Другой Недостаточно подробностей Сложно понятьРазница между Google Chrome и Chromium в Linux
Chromium в Linux имеет два основных типа: вы можете получить либо Google Chrome, либо Chrome-браузер (см. Пакеты Linux Chromium).Эта страница пытается описать различия между ними.
Короче говоря, Google Chrome — это проект с открытым исходным кодом Chromium, созданный, упакованный и распространяемый Google. В этой таблице перечислены все, что Google добавляет в сборку Google Chrome на Linux .
Google Chrome
- Красочный логотип
- Сообщает о сбоях, только если он включен. Пожалуйста, включите символические обратные трассировки в отчеты об ошибках, если у вас не включены отчеты о сбоях.
- Пользовательские метрики, только если включено
- Видео- и аудиокодеки (могут отличаться в зависимости от дистрибутива)
- H.264 видеокодеков , AV1, VP8 и VP9.
- Аудиокодеки AAC , MP3, Opus, Theora, Vorbis, FLAC и WAV.
- Изолированный PPAPI (платный) Flash-плагин, включенный в выпуск
- Код протестирован разработчиками Chrome
- Песочница всегда включена
- Отдельный пакет deb / rpm
- Профиль хранится в
~ / .config / google -chrome
- Кэш находится в
~ / .cache / google-chrome
- Новые выпуски тестируются перед отправкой пользователям
- Ключи Google API добавляются Google
Chromium
- Синий логотип
- Никогда не сообщает о сбоях.Пожалуйста, включайте символизированные обратные трассировки в отчеты об ошибках.
- Пользовательские показатели никогда не сообщаются.
- Видео- и аудиокодеки (могут отличаться в зависимости от дистрибутива)
- Видеокодеки AV1, VP8 и VP9.
- Аудиокодеки MP3, Opus, Theora, Vorbis, FLAC и WAV.
- Поддерживает плагины Flash NPAPI (без тестовой среды), включая плагин от Adobe в Chrome 34 и ниже
- Код может быть изменен дистрибутивами
- Песочница зависит от дистрибутива (перейдите к about: sandbox, чтобы подтвердить)
- Упаковка зависит на раздаче
- Профиль хранится в
~ /.config / chromium
- Кэш находится в
~ / .cache / chromium
- Тестирование нового выпуска зависит от распределения
- Ключи API Google зависят от распределения
Разница между Google Chrome и браузером Chromium
Short Bytes: Google Chrome — это веб-браузер, разработанный и поддерживаемый техническим гигантом Google. Chrome использует исходный код веб-браузера с открытым исходным кодом Chromium и добавляет ряд функций, разработанных Google, а также некоторые несвободные компоненты.
Что такое браузер Chromium? Это веб-браузер с открытым исходным кодом, разработанный и поддерживаемый The Chromium Project. Веб-браузер с скользящим выпуском git был впервые представлен в 2008 году, и его различные части выпускаются под разными лицензиями бесплатного программного обеспечения, включая лицензию BSD (для части, написанной Google) и лицензию MIT, LGPL и т.
Google Chrome, также выпущенный в 2008 году, представляет собой проприетарный веб-браузер, разработанный и поддерживаемый Google.Причина, по которой Chrome и браузер Chromium связаны друг с другом, заключается в том, что Chome заимствует исходный код Chromium.
Вы можете отличить Chrome и браузер Chromium по их логотипу. Google Chrome красочный, а Chromium синий. Однако это не единственное различие между Chrome и Chromium.
Разница между хромом и хромом:
Автоматические обновления
Chrome использует Google Update в Windows (GoogleSoftwareUpdateAgent и GoogleSoftwareUpdateDaemon на Mac) для автоматического обновления до последней версии.Это недоступно для Chromium. В некоторых дистрибутивах Linux обновления доступны через репозитории пакетов. Google Update также используется для других приложений, таких как Google Earth. Не забудьте прочитать разницу между Google Планета Земля и Google Карты.
Отслеживание использования и отчеты о сбоях
В отличие от Chromium, Google добавил параметры отчетов о сбоях и отправки статистики использования. Chrome отправляет данные на серверы Google. Он включает в себя общие данные, такие как информация о вашем устройстве и ОС, настройках Chrome, посещенных веб-сайтах с вредоносным ПО, поисковых запросах и т. Д.Это позволяет Google выдавать предложения, результаты и рекламу, которые имеют отношение к вам.
Отчеты о сбоях и отслеживание использования можно отключить в настройках Chrome.
Интернет-магазин Chrome
В Google Chrome возможность добавления расширений вне Интернет-магазина Chrome отключена для всех каналов Windows и Mac. Однако расширения можно добавить в режиме разработчика.
Поддержка медиакодеков
Поддержка аудио / видео кодеков HTML5 вChromium ограничена тем, что доступно в качестве непатентованных кодеков, таких как Theora, Vorbis, WebM, VP9 и т. Д.В случае с Chrome он добавляет поддержку некоторых платных файлов, таких как AAC, MP3 и H.264 (теперь бесплатно).
Необязательное отслеживание
Установщик Google Chrome включает случайно сгенерированный токен. Токен отправляется в Google после завершения установки, чтобы измерить вероятность успеха.
Google также использует идентификатор RLZ для отслеживания пользователя в поиске Google и при использовании адресной строки. Идентификатор RLZ хранит информацию в виде закодированных строк, например, об источнике загрузки Chrome и неделе установки.Он не содержит никакой личной информации и используется для измерения эффективности рекламной кампании. Chrome, загруженный с веб-сайта Google, не имеет идентификатора RLZ. Исходный код для декодирования строк открывается Google.
Песочница
Браузеры Chrome и Chromium поддерживают песочницу. В случае Google Chrome он всегда включен. Для Chromium некоторые дистрибутивы Linux могут отключать функцию песочницы.
Подключаемый модуль Adobe Flash
Хотя эта разница между Chrome и Chromium не имеет большого значения, так как Adobe Flash постепенно прекращается для перехода на новый HTML5.Google Chrome поддерживает версию Adobe Flash Pepper API, которая автоматически обновляется вместе с Chrome. Поскольку это не открытый исходный код, Chromium не поддерживает его прямо из коробки, как Google Chrome.
Также читайте: Как использовать эти простые приемы поиска в Google и искать как босс
Chrome против хрома: что лучше?
Трудно решить, какой из них выбрать между Chromium с открытым исходным кодом и многофункциональным Google Chrome. Для Windows лучше использовать Google Chrome, так как Chromium не является стабильной версией.То же относится и к MacOS.
В случае Linux, известного своей любовью к бесплатному программному обеспечению с открытым исходным кодом, Chromium может быть лучшим вариантом. Но вам придется смириться с тем, что он не обновляется автоматически, в нем отсутствует плагин Adobe Flash и другие медиакодеки.
Однако различные дистрибутивы Linux могут предлагать модифицированный Chromium с добавлением нескольких недостающих функций. Фактически, Chromium теперь рассматривается как веб-браузер по умолчанию во многих дистрибутивах, подобных Mozilla Firefox.
Google Chrome также доступен для Linux, и это хороший вариант, если вас устраивает намазанный на открытый хлеб сыр с закрытым исходным кодом.
Хром — это вирус?
По-видимому, нет, если только Google однажды не передумает. Но, помимо шуток, открытый исходный код браузера Chromium позволяет злоумышленникам создавать свои вредоносные версии браузера. Используя различные навыки, они могут обманом заставить пользователей установить вредоносный браузер, маскирующийся под Chromium.Итак, если вы не помните, что устанавливали браузер Chromium на свой компьютер, примите необходимые меры таким программным обеспечением.
Загрузить Chrome и Chromium
Вы можете скачать Chrome с официальной страницы загрузки, предоставленной Google, по этой ссылке:
Поддерживаемые платформы: Windows, MacOS, Linux, Android, iOS
Вы можете загрузить Chromium с официальной страницы загрузки:
Поддерживаемые платформы: Windows, Mac, Linux, Android
Now Watch: как сделать Google Chrome быстрее
Google Chrome против.Хром
Google Chrome в настоящее время является самым популярным браузером на настольных ПК. Более 54% пользователей настольных компьютеров обычно в мире Windows предпочитают его другим браузерам. Здесь, в мире Linux, Google Chrome не самый популярный, поскольку большинство дистрибутивов предпочитают поставлять другие веб-браузеры. Самым популярным из них является Firefox, в то время как другие предпочитают Chromium. Chromium во всех смыслах и целях очень похож на Google Chrome. У них есть все, от внешнего вида до расширений, движка и функций.Так почему же они (дистрибутивы Linux) просто не поставляются с Google Chrome? В чем разница между Google Chrome и Chromium?
Google Chrome против. Хром
Chrome построен на Chromium
В 2008 году Google представил проект Chromium. Chromium Project — это проект с открытым исходным кодом, который стоит за браузером Google Chrome и Google Chrome OS. Браузер Chromium — непосредственный продукт проекта. Затем Google берет этот чистый браузер и добавляет к нему свои услуги и другие продукты, которые не доступны по лицензиям с открытым исходным кодом.В результате большинство дистрибутивов Linux поставляют Google Chrome не в духе «открытого исходного кода», а в другом, полностью соответствующем GPL (ОБЩАЯ ОБЩЕСТВЕННАЯ ЛИЦЕНЗИЯ GNU), например Chromium или Firefox.
Сходства
Интерфейс
Интерфейс Google Chrome и Chromium , за исключением значка, одинаков. На обычном настольном компьютере вы не сможете различить их. Вкладки, элементы управления, адресная строка и главное окно — это одно и то же.
Также читайте — 4 лучших веб-браузера для Linux
Вы можете угадать, какой это браузер?
Двигатель
Поскольку оба этих браузера основаны на одном и том же исходном коде, механизм рендеринга Blink (ранее использовавшийся WebKit до версии 27), используемый ими, одинаков.
Поддержка тех же расширений, тем и веб-приложений
Два браузера поддерживают одни и те же расширения, темы и веб-приложения, то есть расширения, темы и веб-приложения, написанные или оптимизированные для одного, будут работать и для другого.Единственная проблема заключается в том, что Google разрешает расширения только из своего интернет-магазина, хотя это можно обойти, включив режим разработчика.
Некоторые функции на основе Google
Есть также несколько функций на основе Google, которые по умолчанию доступны в Chromium. Функция синхронизации, доступная в Google Chrome, также доступна для Chromium, что означает, что если вы живете в экосистеме Google, вы можете так же легко войти в систему с учетной записью Google и синхронизировать свои данные с Chromium так же, как в Google Chrome.Другие функции, такие как «Использование веб-поиска для устранения ошибок навигации» и «включение защиты от фишинга и вредоносных программ», включены по умолчанию.
В чем разница между Google Chrome и Chromium?
Компоненты без открытого исходного кода
Как я упоминал ранее, некоторые части Google Chrome недоступны по лицензиям с открытым исходным кодом. Некоторые из них включают PDF-ридер, Flash и некоторые аудио- и видеокодеки (MP3, AAC, H.264). Способ Google — использовать лучший доступный продукт, даже если он проприетарный.Типичный пример, указанный разработчиком Google на Reddit, — это рендеринг PDF-файлов, где Google использует гораздо более быстрый проприетарный продукт, чем продукт с открытым исходным кодом. Из-за этого некоторые потоковые сайты недоступны для Chromium, но работают с Google Chrome.
Flash и песочница
Я уже упоминал о вспышке, но позвольте мне перефразировать. Устаревший плагин flash, доступный для Chromium, действительно небезопасен, и вам не следует его использовать. Google Chrome поставляется с изолированной версией, которая поддерживается Google в актуальном состоянии.Кроме того, в некоторых дистрибутивах Linux песочница может быть отключена по умолчанию (каждый компилирует свою собственную) в Chromium. Поэтому обязательно включите его, перейдя в about: sandbox.
Автоматические обновления
Автоматические обновления не являются частью сборок Chromium, потому что они не имеют смысла. Сборки Chromium компилируются и запускаются самостоятельно, что означает, что вы выбираете то, что хотите, и поэтому добавление автоматических обновлений будет обновляться до чего? Решением этой проблемы является то, что делают большинство дистрибутивов Linux, используя собственный магазин для управления обновлениями продукта Chromium, который они поставляют вместе со своим дистрибутивом.Если вы скомпилировали Chromium самостоятельно, вам нужно обновлять его как можно чаще.
Отчет о сбоях и ошибках
То же самое с обновлениями выше, сборки Chromium не содержат отчетов о сбоях и ошибках Google Chrome. Поскольку сборка Chromium имеет открытый исходный код, люди могут изменять ее по своему усмотрению. Поэтому, если отчет о сбое пришел из сборки Chromium в Google, это было бы бесполезно, поскольку они не знали бы, что именно было изменено в конкретной сборке. Итак, чтобы сообщать об ошибках, вам нужно использовать трекер ошибок.
Google Chrome слева и Chromium справа
Ограничения для Интернет-магазина Chrome
Google разрешает расширения только из своего интернет-магазина, и, как я упоминал ранее, это можно обойти, включив режим разработчика.
Заключение
Итак, какой из этих двух браузеров лучше? Я действительно не мог сказать. Браузер Chromium более популярен в Linux, потому что он соответствует лицензии GPL . Но если вас не интересует открытый исходный код, а это значит, что вам все равно, что программа делает с вашими данными, выберите Google Chrome.Еще следует отметить, что Google Chrome работает быстрее и намного лучше обрабатывает некоторые процессы, потому что выбирает лучший продукт, независимо от того, является ли он проприетарным или открытым. Все в Chromium нацелено на то, чтобы попасть в Google Chrome. Google Chrome добавляет в Chromium, следовательно, больше функций и, как таковой, не является полностью открытым исходным кодом.
Итак, у вас есть открытый исходный код или возможности, решать вам. Если вы решите использовать Chromium, обратите внимание, что вам следует обновлять его самостоятельно, по крайней мере, каждые несколько недель, чтобы воспользоваться исправлениями ошибок и оставаться в безопасности.Это опасный мир онлайн. Спасибо за прочтение.
Chrome vs Chromium: одинаковы ли они?
Chrome и Chromium — это две разные вещи:
- Chrome — это веб-браузер Google, созданный на базе кода Chromium.
- Chromium — это кодовая база браузера с открытым исходным кодом, которая используется многими браузерами, включая Google.
Их различия сводятся к двум ключевым моментам: , лицензирование, и , безопасность, .
Давайте рассмотрим каждый подробнее.
Что такое Chrome?
Chrome — это браузер Google, простой и интуитивно понятный потребительский браузер, который можно бесплатно загрузить и сразу же использовать.
Побывав какое-то время в Chrome, вы откроете для себя такие функции, как режим инкогнито, расширения Chrome, возможность изменить домашнюю страницу и многое другое.
Под капотом Chrome — совсем другой браузер — сложный многофункциональный инструмент для разработчиков, который часто обновляется экспериментальными функциями, называемыми флагами, и десятками инструментов, облегчающих работу разработчика.
Chrome начал свою жизнь как браузер во время перехода на Web 2.0. Созданный для соблюдения открытых веб-стандартов на движке браузера WebKit и на элементах Mozilla Firefox, Chrome быстро завоевал долю рынка и в настоящее время составляет 63% всех браузеров и 66% настольных компьютеров.
Что есть в Chrome, чего нет в Chromium?
Chrome — это потребительский браузер, созданный для простоты использования. Он поставляется с функциями, которые упрощают просмотр и загрузку.В частности, Chrome упрощает потоковую передачу видео и аудио, поскольку он поддерживает встроенные службы.
Chrome имеет следующие функции, которых нет в Chromium:
- Поддержка сторонних приложений, таких как Flash, и медиакодеков, таких как MP3 (в этом году Chrome прекращает поддержку Flash)
- Отслеживает данные о просмотре, включая файлы cookie, посещения сайтов, продолжительность и многое другое.
- Можно управлять централизованно из консоли администратора Google
- По умолчанию можно устанавливать только расширения из Интернет-магазина Chrome.
- Режим песочницы для расширений для ограничения доступа и повышения конфиденциальности и безопасности
- Флаги, открывающие доступ к дополнительным или тестируемым функциям, доступные по адресу chrome: // flags и управляемые как часть стандартной Chrome OS
Существуют ли другие версии Chrome?
Да, Chrome поставляется в четырех разных сборках, которые называются «каналами»:
- Chrome Stable: сборка Chrome, которую вы, вероятно, используете прямо сейчас.Он почти никогда не выходит из строя, и все функции, которыми он поставляется, были тщательно протестированы. Это официальная версия Chrome.
- Chrome Beta: предварительная версия следующей стабильной сборки Chrome. В основном стабильный, но иногда могут обнаруживаться ошибки.
- Chrome Dev: — еще более ранняя версия новых функций, которая помогает разработчикам больше времени на подготовку к предстоящим изменениям. Он может быть довольно нестабильным с частыми ошибками, он не предназначен для обычных пользователей.
- Chrome Canary: назван в честь «канарейки в угольной шахте».«Сначала он получает все новые функции и обновления. Поскольку в новом материале всегда есть ошибки, он крайне нестабилен.
Что такое хром?
Chromium — это минималистичный, бесплатный браузер и ОС с открытым исходным кодом, пользовательский интерфейс которого был разработан Google. Это также текущий проект разработки с открытым исходным кодом для этой кодовой базы. Браузеры, построенные на базе кода Chromium, включают Brave, Microsoft Edge, Opera и другие, а также собственный браузер Google Chrome.
Вы можете скачать и попробовать браузер Chromium здесь.Процесс загрузки и установки аналогичен загрузке Chrome, а само приложение также очень напоминает урезанный Chrome.
Хотя Chromium доступен как автономный браузер, он в основном используется в качестве испытательного стенда и базы кода для других браузеров. Поэтому, если вы хотите узнать, на что способна кодовая база Chromium за пределами Chrome, попробуйте Opera или Brave.
Что есть в Chromium, чего нет в Chrome?
Chromium в основном не имеет потребительских функций по сравнению с Chrome.В частности, если вы хотите транслировать аудио или видео, Chromium потребует вручную установить кодеки. На бумаге это кажется меньшим раздуванием кода, но на практике большинство пользователей не заметят разницы в скорости.
Вот что он предлагает:
- Нет отслеживания или централизованного управления (в зависимости от вашей точки зрения, это может быть преимуществом)
- Обновления вручную, которые вы можете пропустить, если хотите, вместо регулярных автоматических обновлений
- Расширения из любого места будут работать легко — без ограничений для разработчика или источника.
- Режим песочницы, но по умолчанию он не включен.
- Переключатели командной строки, аналогичные флагам, но требующие от пользователей доступа к командной строке (список доступных переключателей находится здесь)
Кому следует использовать Chrome?
Если вам нужен простой браузер, не требующий заботы о конфиденциальности или безопасности, используйте Chrome.
Несмотря на то, что Chrome критикуется за его конфиденциальность и безопасность, он по-прежнему остается лучшим выбором для большинства людей.
Если вы ищете браузер для своего бизнеса или учебного заведения, то возможность удаленного управления Chrome является главным преимуществом по сравнению с Chromium. Вы можете установить такие требования, как принуждение пользователей к входу в Chrome, обеспечение отслеживания и подотчетности во всей организации.
И если вы разработчик, который ищет браузер, который соответствует среднему пользователю, но при этом обеспечивает отличную поддержку разработчиков, Chrome также является хорошим выбором.
Кому следует использовать Chromium?
Если вам нужен частный браузер по умолчанию, лучше подойдет Chromium, чем Chrome. Chrome собирает данные о просмотре, а Chromium — нет. И если вы ищете браузер, который можно перенастроить и настроить по своему усмотрению, Chromium также станет лучшим выбором.
Да, более открытый набор расширений, доступных пользователям Chromium, — палка о двух концах. Больше выбора, больше риска. Менее стабильная, более глючная природа Chromium — то же самое.Но если вас устраивает эта сделка, Chromium — хороший выбор.
Версии хрома
Версии Chromium разделены на четыре части: MAJOR.MINOR.BUILD.PATCH. Связь между Chromium и Chrome заключается в том, что некоторая версия Chromium становится новой версией Chrome. Например, Chromium 71 был выпущен 1 сентября 2018 г., а в декабре 2018 г. стал Chrome 71.
Изменения в основных и второстепенных номерах сборки отслеживают выпуски стабильного канала Chrome, и они говорят вам больше о планировании, чем о содержимом кода; Номера сборки и исправления записывают изменения в фактическом коде.
Major и Minor обычно обновляются при выпуске новой бета-версии или стабильной сборки. Основные сборки обновляются, когда выполняется изменение обратно несовместимых пользовательских данных, чтобы гарантировать, что данные сохранятся после обновлений.
Сборкавсегда обновляется, когда новая сборка собирается из текущего ствола, что является основным направлением разработки проекта Chromium. Это означает, что он обновляется по крайней мере еженедельно в случае кандидатов на выпуск канала Dev.
Советы по настройке Google Chrome / Chromium
Несколько советов по настройке Google Chrome для ускорения работы вашего браузера.- Изменения распределения памяти
Пользователи Google Chrome теперь могут повысить скорость просмотра с помощью простого трюка, внесения некоторых существенных изменений в распределение памяти. Вот как этого можно достичь. Введите в адресной строке браузера Chrome следующее:
chrome: // flags / # max-tile-for-Interest-area
Вы будете перенаправлены на страницу параметров, первая вкладка которой будет иметь параметр по умолчанию. включено. Вам нужно изменить его на 512 МБ, а затем повторно запустить Google Chrome. - Включить аппаратное ускорение
В Chrome по умолчанию аппаратное ускорение для вашей видеокарты отключено. Включив его, вы можете попытаться заставить его улучшить производительность воспроизведения видео, а также поддерживать такие функции, как 3D-просмотр Земли в новых Google Map.Чтобы проверить, включено или отключено аппаратное ускорение в вашем браузере Chrome / Chromium, введите следующее в адресной строке:
chrome: // gpu
Посмотрите в разделе Состояние графической функции , если все перечисленные функции являются с аппаратным ускорением .Если нет, то вот как включить аппаратное ускорение: введите в адресной строке браузера следующее:
chrome: // flags
Теперь найдите Переопределить список программного рендеринга и нажмите , включите , а затем перезапустите Chrome / Хром. - Удаление ненужных плагинов За исключением PDF и Remote Viewer, никакие другие плагины не нужны вашим браузерам. Плагины, которые вам не нужны, можно отключить, перейдя по ссылке:
- Очистить данные просмотра
Нет ничего нового в том, чтобы сказать, что ваши данные просмотра замедлят работу браузера. Регулярная очистка данных просмотра повлияет на скорость браузера. Чтобы очистить данные браузера, перейдите по ссылке:
Настройки Chrome> Расширенные настройки> Конфиденциальность> Очистить все данные браузера
Настройки Chrome> Расширенные настройки> расширение настроек содержимого.
Откроется всплывающее окно со списком всех плагинов, загруженных в Chrome / Chromium.Выберите или отмените выбор плагинов, которые вам нужны и не нужны.
Когда что-то пойдет не так или Chrome / Chromium не отвечает должным образом, самый простой способ восстановить Chrome / Chromium вернуться к настройкам по умолчанию:
- Откройте файловый менеджер
- Перейдите в это место:
/ home / {username} /.config / google-chrome - Найдите файл с именем:
Local State - Откройте этот файл в текстовом редакторе
- Теперь найдите строку, начинающуюся со следующего:
enabled_labs_experiments - Удалите все это и сохраните файл
- Закройте текстовый редактор
- Перезапустите Google Chrome / Chromium
Другой способ сбросить все до заводских значений по умолчанию:
- Откройте веб-браузер
- Введите в адресной строке следующее:
chrome: // flags - В правом верхнем углу есть кнопка под названием:
Сбросить все до значений по умолчанию - Нажмите эту кнопку и закройте веб-браузер
- Перезапустите браузер