Что такое chromium based

990x.top

Простой компьютерный блог для души)

Chromium — что это за программа и нужна ли она?

Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium based

Приветствую друзья! Сегодня мы постараемся разобраться с программой Chromium, я постараюсь написать все простыми словами, чтобы было понятно каждому!

Chromium — что это такое?

Браузер с открытым исходным кодом, который разрабатывается сообществом The Chromium Authors, а также компаниями Google, Opera, Яндекс, NVIDIA и другими.

Основные задачи браузера две:

На самом деле Chromium — скорее платформа. Почему? На основе Chromium созданы другие браузеры — Google Chrome, Opera, Яндекс Браузер, и много малоизвестных, например бывший Амиго. Почему так? Потому что создать браузер легко, когда есть основа. А Chromium — это всегда стабильная работа, скорость, поддержка современных стандартов, другими словами зачем изобретать новую основу, когда существует Chromium.

Вот еще пример — Avast при установке их антивируса может установиться и их защищенный браузер Avast Secure Browser, который тоже основан на Chromium.

Браузеры на основе Chromium могут иметь разные дизайн, настройки, но в целом.. это примерно одно и тоже.

Даже Microsoft Edge уже может работать на основе Chromium. Кстати здесь главный плюс даже не то, что он будет быстрее работать, а то что теперь.. можно будет использовать огромное количество расширений (с чем у Edge как раз были проблемы).

Браузер скачивается в виде архива, внутри которого — папка chrome-win:

Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium basedВ папке сама программа, папку извлекаете и потом запускаете внутри файл chrome.exe.

Файл, который запускает браузер:

Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium basedPS: я например просто извлек папку chrome-win на рабочий стол.

Собственно вот сам Chromium:

Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium basedPS: это я его только установил.

А вот для сравнения Google Chrome:

Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium based

Почти все идентично. Однако вот еще пример — это уже Яндекс Браузер, основа также, но тут изменений еще больше:

Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium basedИзменения не только визуальные, много всяких фишек есть, например анимированные заставки, еще при выделении фразы появляется подсказка копировать или искать в Яндексе.

Chromium — отличия от Chrome

Важно понимать — Chromium это свободный браузер с открытым исходным кодом, а Chrome это уже от компании Google с собственной лицензией (как понимают значит что код закрыт).

Основные отличия — в Chrome отправляется некая информация на сервера, встроен Adobe Flash. Полные отличия можно посмотреть здесь:

Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium basedPS: инфа с Вики.

Можно сделать вывод, что Chromium — более чистый, легкий, не отправляет никакую информацию, но также как и Chrome поддерживает расширения. Поэтому Chromium спокойно можно использовать как основной браузер, но есть минус — кажется там нет синхронизации с аккаунтом Google.

Chromium — нужна ли эта программа?

Если вы используете Хром, Яндекс Браузер, Мозиллу.. или даже Microsoft Edge — то Chromium можно удалить.

Просто так программа не грузит ПК, не использует оперативку, только немного занимает место на диске.

Chromium не является критически важной программой, поэтому если что можно удалить, а потом, если нужно будет — то скачаете с официального сайта и поставите.

Chromium — как удалить?

С удалением не так все просто. Дело в том, что браузер не устанавливается, он скачивается в архиве, внутри которого папка chrome-win. А в папке уже браузер. То есть типа как портативная версия, но на самом деле нет — потому что настройки хранятся не в папке chrome-win.

Поэтому удаление Chromium подразумевает:

То есть удаление ручное. Да, возможно есть установщик Chromium, который ставит программу как положено. В таком случае удалить можно штатным способом:

Источник

Chromium — это не только браузер, но и хороший фреймворк

Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium based

Большинство людей привыкли, что Chromium — это и браузер, и основа для других браузеров. До недавнего времени я тоже так думал, но, изучая эту тему уже пару месяцев, я начал открывать другой дивный мир. Chromium — это огромная экосистема, в которой есть всё: и система зависимостей, и система кроссплатформенной сборки, и компоненты почти на все случаи жизни. Так почему же не попробовать создавать свои приложения, используя всю эту мощь?

Под катом небольшое руководство, как начать это делать.

Подготовка окружения

В статье я буду использовать Ubuntu 18.04, порядок действий для других ОС можно посмотреть в документации:

Установка depot_tools

depot_tools — это набор инструментов для разработки Chromium. Для его установки необходимо выполнить:

И добавить путь в переменную окружения PATH:

Важно: если depot_tools были скачаны в домашнюю папку, то не используйте

Получение кода

Для начала надо создать папку для исходников. Например, в домашней директории (необходимо около 30 Гб свободного места):

После этого можно скачать исходники с помощью утилиты fetch из depot_tools :

Установка зависимостей

Теперь нужно поставить все зависимости с помощью скрипта:

На этом подготовка окружения завершена.

Система сборки

Чтобы понять, как пользоваться этими инструментами, предлагаю создать тестовую утилиту example. Для этого в папке src надо создать подпапку example :

BUILD.gn состоит из цели (исполняемого файла example ) и списка файлов, которые необходимы для сборки цели.

Исходный код можно найти на GitHub.

Теперь необходимо вернуться в папку src и сгенерировать проект с помощью команды:

GN также позволяет подготовить проект для одной из поддерживаемых IDE:

Например, для работы с проектом example в QtCreator надо выполнить команду:

После этого можно открыть проект в QtCreator:

Финальный шаг — сборка проекта с помощью Ninja:

На этом краткое ознакомление с системой сборки можно завершить.

Приложение можно запустить с помощью команды:

И увидеть Hello world. На самом деле, про систему сборки в Chromium можно написать отдельную статью. Возможно, и не одну.

Работа с командной строкой

В качестве первого примера использования кодовой базы Chromium как фреймворка предлагаю поиграться с командной строкой.

Задача: вывести на экран все аргументы, переданные приложению в стиле Chromium.
Для работы с командной строкой необходимо в example.cc подключить заголовочный файл:

Полную версию можно найти на GitHub.

Чтобы собрать и запустить приложение надо выполнить:

На экран будет выведено:

Работа с сетью

В качестве второго и последнего на сегодня примера предлагаю поработать с сетевой частью Chromium.

Задача: вывести на экран содержимое URL’а, переданного в качестве аргумента.

Сетевая подсистема Chromium

Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium based

Полную версию можно посмотреть в документации.

Многопоточность

Сетевой стек Chromium расчитан на работу в многопоточной среде, поэтому пропустить эту тему нельзя. Базовыми объектами для работы с многопоточностью в Chromium являются:

Реализация

Некоторые компоненты Chromium требуют наличия base::AtExitManager — это класс, позволяющий зарегистрировать операции, которые надо выполнить при завершении приложения. Использовать его очень просто, необходимо в стеке создать объект:

Когда exit_manager выйдет из области видимости, все зарегистрированные callback’и будут выполнены.

Дальше нужно с помощью Context builder ‘а создать Context :

Теперь всё готово для отправки запроса:

Чтобы запрос начал обрабатываться, надо запустить Run loop :

Полную версию можно найти на GitHub.

Чтобы собрать и запустить приложение нужно выполнить:

Финал

Источник

Ликбез по браузерам для Windows в 2020

Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium based
Доброго времени суток, Хабр! В очередной раз читая комментарии, наткнулся на мысль о том, что далеко не все понимают, как обстоит ситуация с браузерами для Windows на данный момент. От чего хотелось бы провести небольшой обзор текущего положения. Ну, и сразу к делу!

Браузерные движки

Браузер — программа не простая, это целый набор компонентов, взаимодействующих между собой. Для краткого обзора потребуются всего два компонента из множества — движок отрисовки содержимого и движок исполнения JavaScript.

Существующие движки отрисовки содержимого

Существующие движки исполнения JavaScript

И тут вроде бы очевидно, какие браузеры какие движки используют, но Microsoft внёс не много путаницы в понимание данной темы, поэтому рассмотрим браузеры отдельно.

Браузеры

Chromium

Chromium — это open-source ответвление браузера Chrome. Браузеры на основе Chromium составляют большую часть из всех используемых браузеров на планете Земля.
Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium based
Обычно, браузеры на базе Chromium между собой отличаются только визуально, ведь у всех под капотом движки Blink и V8, хотя, какие-то компании пытаются привнести больше функционала в браузер, чем имеется.

Это в конечном итоге встанет разработчикам браузеров боком, потому что в любой момент главный разработчик Chromium — Google может вставить палки в колёса разработчикам модификаций.

Всех браузеров на основе Chromium подсчитать одному человеку вряд ли под силу, поэтому приведу список только тех, что помню:

Firefox

Firefox использует движки Gecko и SpiderMonkey для своей работы. Имеет небольшое количество базирующихся на Firefox браузеров, но самый известный — Tor Browser. Является единственным рубежом до полного перехода интернета на браузеры на основе Chromium.

Internet Explorer

Это любимая всеми утилита для скачивания браузеров. Как и Chrome — не нуждается в представлении. До 11 версии использовал движки Trident и Chakra JScript. В 11 версии, за исключением режима совместимости, стал использовать движки Trident и Chakra JavaScript. Этот браузер ещё долго будет использоваться для всякого рода систем видеонаблюдения, поскольку имеет, почему-то, популярный в узких кругах API для расширений. В Windows 8 и Windows 8.1 имел особую модификацию движка Trident на базе WinRT для Metro режима.

(Legacy) Edge

Браузер, начавший своё существование с кодовым названием Project Spartan, являлся новым браузером от Microsoft в 2015 году, использующим движки EdgeHTML и Chakra JavaScript. Конечной целью проекта была полная совместимость с сайтами, отлично работающими в Chrome. В итоге — получилось нечто своеобразное, но, очевидно, не выжившее под давлением Google.

Safari

Safari? А нет его больше, этого вашего Safari, кончился.
Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium based

Нецелевое использование браузеров

Вроде бы браузеры — законченный продукт, ни добавить ни отнять. Однако, они используются в разного рода других приложениях. Причины в следующем (в порядке убывания значимости):

Приведу примеры подобного использования:

Chromium

Нынешние браузеры настолько сложны, что одному человеку создать собственный браузер не под силу (либо это должен быть гений). Они по сложности сравнимы с операционными системами! А, постойте, вот и первый кандидат на нецелевое использование — Chrome OS. Да, весь пользовательский интерфейс — просто модифицированный Chromium.
Однако, помимо этого, в виде CEF (Chromium Embedded Framework), Chromium используется в:

Internet Explorer

Почти любое Win32 приложение, умеющее отображать WEB-страницы и при этом в распакованном виде занимающее меньше 60 мегабайт использует внутри Internet Explorer. Кстати, это касается не только маленьких по размеру приложений, например, Visual Studio использует Internet Explorer для отображения WEB-страниц, когда это требуется в работе IDE. Ещё существуют HTA приложения — древний предшественник CEF на базе Internet Explorer. И ведь до сих пор работает.

(Legacy) Edge

Новым приложениям — новые движки! Любое UWP приложение, использующее внутри отображение WEB-страниц работает на базе Edge. Не то, чтобы Microsoft запрещали использовать что-то другое, но никто просто и не старался. Так же, пока что, в предварительных сборках Windows новая клавиатура с GIF панелью тоже использует Edge для рендеринга. В будущих версиях, полагаю, перейдут на Chr Edge.

Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium based

Производительность

Постойте, столько приложений, а что там с производительностью? Лично я — не специалист в оценке производительности, но хочу поделится с вами некоторыми занимательными фактами.

Prefetcher

В Windows есть такая штука — Prefetcher. Она занимается подгрузкой программ в ОЗУ при старте ОС и на протяжении её работы. Штука эта достаточно умная, и она анализирует чаще всего запускаемые программы, чтобы в дальнейшем их подгружать.

Как это связано с браузерами? Идея в том, что это может смазать первый пользовательский опыт с другим браузером, например, пользуясь постоянно Chrome, имеете установленную версию Firefox. При запуске Firefox будет вести себя крайне медленно — медленнее, чем ваш основной браузер. Всё потому что он запылился в глазах Prefetcher. В конечном итоге всё будет работать быстро, но первое впечатление после долгого неиспользования будет ужасным. Особенно это касается пользователей с HDD или малым количеством ОЗУ.

Области распределённой памяти

Движки нормального человека

У людей часто возникают проблемы с UWP приложениями, а точнее — с их скоростью запуска. Всё дело в WinRT — огромном наборе библиотек, при помощи которых UWP приложение взаимодействует с ОС. Если не использовать UWP приложения часто, то этот набор библиотек не будет прогружен в памяти полностью, и придётся ожидать окончания этого процесса перед использованием приложения. Но забавный факт — используя два и более UWP приложения время их старта и общая производительность резко увеличиваются и часто даже превосходят Win32 программы. Исключением из этого является приложение «Фотографии» — тут отдельная история, покрытая туманом.

Движки курильщика

А вот с приложениями (в том числе и браузерами) на основе Chromium это так не работает. Каждое приложение комплектует с собой собственную сборку библиотеки CEF, что, кроме раздувания размера приложения, не позволяет операционной системе иметь только одну копию dll в ОЗУ. Итого это сильно замедляет производительность при использовании множества подобных приложений. Помимо того, сам размер CEF довольно удручающий.

Microsoft Store

У многих возникает вопрос — почему в Microsoft Store нет ни одного браузера(не считая нескольких кривых поделок на EdgeHTML)? Ответ, на самом деле, прост — все браузеры, включая Chr Edge имеют собственную систему обновления, что прямо запрещено правилами Microsoft Store. В остальном никто никого не ограничивает.

Как удалить новый Microsoft Edge

Заключение

Пожалуй, эта статья получилась даже больше, чем я предполагал. В любом случае, какой браузер использовать — выбор ваш, но, зато, вы теперь знаете чуточку больше. Всем спасибо.

Администраторы Хабра, пожалуйста, почините HabraStorage в Legacy Edge! Совсем не дело.

Источник

Что такое Chromium

Многие пользователи понятия не имеют о том, что такое Chromium, и ошибочно путают его с популярным веб-браузером Google Chrome. Названия похожи, но это не одно и то же. В данном материале мы расскажем о ключевых особенностях Хромиума.

Подробности

История Chromium началась в 2008 году. Именно тогда компания Google решила создать самый лучший в мире браузер. На тот момент было запланировано использовать высокоскоростной движок WebKit. И его начали использовать.

А вот с Java скрипами не все было хорошо. Решения, для их нормальной поддержки были проприетарными. И ребята из Google не придумали ничего лучше, чем с нуля написать собственный движок для своих нужд. Его назвали V8.Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium based

В результате появился браузер, который работал намного быстрее конкурентов и поддерживал все современные технологии. Это был звездный час Google. И все было неплохо. Пока они не перевели свое детище на движок Blink.

Что же такое Хромиум?

Chromium – это свободный браузер с открытым исходным кодом, который лишен сервисов Google и поддержки медиа контента. Если пользователю нужны какие-то специальные плагины, то он устанавливает их самостоятельно.

Ключевой особенностью проекта Хромиум является безопасность. Разработчики данного веб-обозревателя тратят уйму времени на то, чтобы залатать дыры и повысить безопасность своего продукта.

По сути, это конструктор, на основе которого любой пользователь может собрать браузер своей мечты. Компанией предоставляется исключительно основа. Все остальное юзер делает сам. С одной стороны, это хорошо, так как пользователь сам решает, что ему нужно.

С другой стороны, данный веб-обозреватель не подходит новичкам, так как его очень трудно настраивать. Так что тем, кому нужен просто стабильный браузер лучше обратить внимание на Google Chrome и подобные продукты.

Отличия от Гугл Хром

Начнем с того, что Хромиум – свободный браузер с открытым исходным кодом. Он распространяется под лицензией GNU/GPL. А Chrome использует проприетарную лицензию и его исходный код закрыт. Со всеми вытекающими.

Еще одно отличие: Chromium напрочь лишен телеметрии и механизмов сбора данных для Google. А вот в Хроме такая неприятная штука есть. Данный браузер беззастенчиво собирает информацию о пользователях и ничуть этого не стесняется.

Также в Хроме интегрирована поддержка таких форматов, как WebM, Theora, MP3, AAC и Vorbis. А Хромиум может поддерживать только свободные форматы. Вроде WebM и Vorbis. Все остальное доступно только при подключении соответствующих плагинов.Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium based

Chrome регулярно обновляется, а вот в Хромиуме механизм обновления выпилен. Данный браузер можно обновить только при помощи переустановки всего приложения. Такой способ не является удобным.

И, наконец, о стабильности. Гугл Хром априори стабильнее свободного Chromium по той простой причине, что разработкой браузера занимается целая команда. А над Хромиумом трудятся всего несколько разработчиков.

Вот чем Chromium отличается от Chrome. Естественно, большинство пользователей предпочтут стабильный и современный веб-обозреватель с поддержкой всех современных технологий. А проект Хромиум могут использовать только единицы.

Безопасность

У Хромиума весьма интересная система безопасности. Она основана на принципе песочницы. Разработчики перевели всю работу движка веб-обозревателя именно в песочницу – этакий «предбанник», ограничивающий площадь для атаки на компьютер пользователя.Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium based

Именно поэтому Chromium считается одним из самых безопасных браузеров. Вредоносные объекты просто не могут добраться до компьютера пользователя через веб-обозреватель потому, что постоянно находятся в этой самой песочнице.

Инструменты разработчика

Ключевая особенность браузера Chromium. Этот веб-обозреватель обладает богатым набором инструментов для тестирования стабильности продукта и разработки расширений для него. Именно поэтому многие профессионалы предпочитают сие приложение.

В составе веб-обозревателя присутствует продвинутая консоль, позволяющая оперативно вносить изменения в код. Это полезно для тех, кто занимается доработкой браузера в домашних условиях. И это еще одна причина, по которой данный продукт не подходит обычным пользователям.

Для каких систем существует браузер?

Chromium доступен для всех версий ОС Windows (начиная с XP), Mac OS X, Linux Mint, Ubuntu, Arch, Mandriva, Slackware, Kali Linux, CentOS, Manjaro, Red Hat Linux и других ОС. Есть даже порт для Free BSD. Хоть и неофициальный.Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium based

А вот для мобильных платформ такого браузера, увы, не существует. В отличие от того же Гугл Хром. Однако это не так страшно. Да и зачем такой конструктор на мобильной платформе? Владельцам смартфонов нужен нормальный веб-обозреватель, а не приложение «сделай сам».

Заключение

А теперь подведем итоги и попытаемся ответить на вопрос о том, что лучше: Хром или Хромиум. Все зависит от того, в какой плоскости рассматривать вопрос. Chromium лучше тем, что не следит за пользователем и обладает повышенной безопасностью.

Но в тоже время, Chrome более прост в использовании. И большинство юзеров выберут именно его, так как настраивать веб-обозреватель «под себя» очень долго и нудно. И все-таки, Хромиум действительно лучше, так как не является проприетарными продуктом.

Источник

Движок, который смог: как Chromium удалось захватить 90% рынка браузеров

Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium based
От браузерного движка, который изначально был малоизвестной альтернативой, применявшейся в непопулярном браузере, до чемпиона, захватившего весь рынок.

Вероятно, иногда вы встречаете в текстах понятие браузерное разнообразие. Под ним подразумевается равновесие на платформе веба, при котором в мире существует множество реализаций браузеров, достаточное для стимулирования инноваций и конкуренции между ними. Альтернативой этому является монокультура браузеров, при которой один браузер или реализация браузера контролирует весь рынок, а значит, и управляет развитием веба. Когда кто-то содействует браузерному разнообразию, он часто делает это ради процесса создания независимых веб-стандартов, поддерживаемых W3C, который работает только когда ни один из браузеров не может диктовать функции, включаемые в платформу веба.

У веб-сообщества есть достаточно причин опасаться отсутствия браузерного разнообразия. После того, как Internet Explorer захватил в начале 2000-х долю 90% от рынка браузеров, для выпуска нового браузера его разработчикам потребовалась добрая половина десятилетия. В тот период развитие веба остановилось, и начали возникать проблемы с безопасностью. Из-за этого веб стал хуже, поэтому мы часто стремимся к тому, чтобы браузеры конкурировали, а не монополизировали веб.

Но у этой проблемы есть и обратная сторона. Из-за существования нескольких создателей браузеров веб-разработчикам необходимо обеспечивать совместимость всех платформ. Между браузерами могут присутствовать хоть и незначительные, но несоответствия, что может усложнять разработку для веба.

Это беспокоило создателя веба Тима Бернерса-Ли. Даже в начале 90-х, когда веб был очень юным, по всему миру в процессе экспериментов разработчиков ПО начали появляться десятки браузеров. Бернерса-Ли волновало, что слишком большое количество браузеров усложнит тестирование сайтов и достижение консенсуса о способах парсинга и передачи HTML пользователям.

В 1992 году Тим Бернерс-Ли высказал своё беспокойство в списке рассылки, посвящённом гипертексту.

Никто не будет поддерживать 8 парсеров на 12 платформах, поэтому я немного обеспокоен развитием реализаций. (Да, разумеется, в то же время мне это приятно! Но я бы хотел видеть одну, может быть, две основные библиотеки (две, чтобы тестировать одну из них на наличие непротиворечивых багов), но не четыре. Мне кажется, это слишком много; будут возникать ситуации, когда небольшие тонкости работают в одной, но не в других библиотеках, потому что на поддержку каждой не хватило труда по поддержке.

Бернерс-Ли осознавал, что множественные реализации могут потребовать слишком много усилий со стороны веб-разработчика, поэтому разработчики могут испытывать искушение полностью избежать этой проблемы и проводить тестирование только в самом популярном браузере (он и не подозревал, что подобная проблема будет часто возникать в веб-разработке). То есть даже без монополии слишком большое количество браузеров может заполонить рынок и создать фактического победителя, относительно которого будут создаваться стандарты без учёта всех остальных. Обеспечение непротиворечивости всех реализаций браузеров стало причиной создания W3C и продвижения набора общих стандартов в веб-технологиях.

Озабоченность Бернерса-Ли имела основания. Иногда возникали ситуации, когда браузеры шли собственным путём, заставляя веб-дизайнеров изощряться, чтобы страницы выглядели везде одинаково. В последние годы устоявшийся процесс стандартизации во многом позволил решить проблему несоответствий между браузерами благодаря созданию чёткого процесса добавления новых возможностей веба, гарантирующего баланс в процессе принятия решений.

Фундаментальной основой для создания разнообразной группы браузеров является развитие совершенно разных браузерных движков. Браузерный движок — это программный код внутри браузера, который получает написанный вами код и рендерит его на странице. Если смотреть на более техническом уровне, то он парсит HTML, CSS и JavaScript для обработки структуры и рендеринга веб-страниц. Движок обычно включает в себя JavaScript-движок, обрабатывающий интерактивность. Чаще всего при обсуждении браузерного движка говорят и о связанном с ним JavaScript-движке, но так бывает не всегда.

До того, как разработчики браузеров начали использовать веб-стандарты, во время «войн браузеров», был длившийся десяток лет период доминирования браузера Internet Explorer компании Microsoft. В Internet Explorer использовался проприетарный браузерный движок Microsoft под названием Trident. Internet Explorer распространялся бесплатно и по умолчанию был установлен на всех компьютерах с Windows. Благодаря своей скорости распространения Trident на долгие годы стал наиболее широко используемым браузерным движком.

Однако вскоре начали набирать популярность несколько более мелких браузеров с открытым исходным кодом. Самым популярным из них был Mozilla Firefox (основанный на Netscape), в котором использовался движок под названием Gecko. Немного отставала от него Opera со своим браузерным движком Presto. А небольшому сообществу полюбился браузер Konqueror с движком KHTML, имевший крошечную долю рынка браузеров.

Исходный код всех этих браузерных движков, за исключением Presto, был открытым, то есть он был доступен любому и его можно было использовать в любом проекте. Это стимулировало совместный труд и здоровую конкуренцию между такими новыми браузерами, благоприятствовавшими процессу создания стандартов веба под управлением W3C. А благодаря открытости исходников на рынке появилось большое количество мелких, нишевых браузеров, построенных на основе тех же браузерных движков.

Примечательно отсутствие в этом списке Apple. В 2003 году казалось, что компания совершенно упустила из виду платформу веба. Она неудачно пыталась создать собственный браузер под названием Cyberdog. Без нативного для своей ОС браузера компьютеры Apple поставлялись с Internet Explorer, который привязывал их к одному из самых серьёзных конкурентов — к Microsoft.

Но затем начали циркулировать слухи, что Apple работает над новым браузером. В компанию пришло несколько ветеранов из Mozilla, от имени Apple внесших вклад в Mac-версию браузера Firefox с открытыми исходниками. А после первого провалившегося эксперимента инструменты и реализации стали намного лучше. Существовало уже много созревших решений на основе open source.

Изначально предполагалось, что Apple выберет в качестве браузерного движка Mozilla Gecko. У неё уже были нужные сотрудники и опыт работы с ним, к тому же этот движок использовался в подавляющем большинстве проектов браузеров, в том числе браузера для Mac под названием Camino, разработанного независимой командой, не относящейся к Apple. Некоторые считали, что Apple может выбрать Presto, заключив некий договор по лицензированию.

Стив Джобс завершил свою программную речь на Macworld 2003 долгожданным объявлением: Apple создаёт собственный браузер под названием Safari. И ко всеобщему удивлению, в нём будет использоваться движок из Konqueror. Не Gecko, не Presto. KHTML. Новость была громкой, и в следующие два десятилетия она изменила траекторию развития веба.

Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium based

Браузер Konqueror, запущенный в среде рабочего стола KDE

Браузер Konqueror — это одно из множества приложений, являющихся частью среды рабочего стола KDE для компьютеров с Linux. Строго говоря, это не операционная система, а пакет программного обеспечения, выглядящий и ведущий себя как ОС. Аббревиатура изначально расшифровывалась как Kool Desktop Environment, но потом была сокращена просто до KDE. Konqueror — это одна из программ внутри KDE. А KHTML — это движок, на котором работает Konqueror. Как и сам Linux, вся KDE имеет открытый исходный код, в том числе и её браузер, а сообщество разработчиков с самого основания придерживалось принципов открытого программного обеспечения.

Именно поэтому важно, что в объявлении Apple присутствовал этот слайд:

Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium based

В своём объявлении о выборе KHTML Apple заявила о приверженности идеям open source. Команда разработчиков Safari пообещала по возможности вносить сделанные ею изменения в проект KHTML. При адаптировании движка Apple разбила его на две части: WebCore, занимающийся рендерингом и структурой, и JavaScriptCore, занимающийся JavaScript. Обе этих части стали проектами с открытым исходным кодом, однако система отслеживания ошибок Safari и элементы браузерного движка остались закрытыми. И всё же такой уровень прозрачности был удивителен для компании, хорошо известной охраной своих секретов.

Первая публичная версия Safari была выпущена одновременно с объявлением, в январе 2003 года. Вскоре после этого Safari начал поставляться как стандартный браузер для всех Mac. В течение одного-двух лет Safari стабильно занимала два-три процента от рынка браузеров. Этого не было достаточно, чтобы доминировать, но придавало вес команде разработчиков из Apple.

Несмотря на обещание, данное сообществу open source, разработчикам Safari поначалу оказалось сложно портировать вносимые ими изменения обратно в проект KTHML. Часть кода была специфичной для операционной системы Mac. Другие части были просто несовместимыми с существующей кодовой базой. Это привело к небольшим разногласиям между командой Apple и соавторами KHTML, длившимся пару лет.

Со временем был найден устраивающий всех компромисс. В июне 2005 года Apple объединила JavaScriptCore, Webcore и остальные компоненты браузерного движка, выпустив их как единый проект open source с публичным баг-трекером и призывом участвовать в развитии. Таким образом компания показала сообществу KHTML, что готова к сотрудничеству, сохраняя при этом независимость кода.

Проект назвали Webkit.

Критически важным оказался выбранный момент. Веб как платформа ускоренно развивался и находился на этапе Web 2.0. В целом, Web 2.0 был просто красивым маркетинговым термином, попыткой дать название росту количества сложных приложений, существующих исключительно в вебе. В него вошли два самых первых веб-приложения Google — Google Maps и Gmail. В течение года Google добавила в этот список и YouTube.

В середине 2000-х годов инженеры Google пристально пригляделись к браузерам и обнаружили, что те неспособны удовлетворить потребность в создании сложных приложений. Особенно справедливо это было в отношении старых и необслуживаемых браузеров наподобие Internet Explorer (кстати, к стимулированию отказа пользователей от IE6 приложил руку и YouTube). Но основным приоритетом Google была скорость. Сооснователи компании однажды выразили желание создать «веб столь же быстрый, как перелистывание бумажного журнала». Такой стала цель компании, и Google чувствовала, что даже современные браузеры типа Firefox и Safari приближались к ней недостаточно быстро.

К 2006 году компания начала строить планы по созданию собственного браузера. Она хотела иметь самый быстрый на рынке браузер. Поэкспериментировав со множеством браузерных движков, разработчики Google обратили внимание на проект Webkit, который перешёл в open source. Его код был компактным и читаемым, а ресурсоёмкость оставалась относительно низкой по сравнению с движками с богатой историей наподобие Gecko или Trident (последний в любом случае не рассматривался из-за закрытости своих исходников). Но, что самое важное, он был быстрым. Как отправная точка он был быстрее всех остальных движков.

Если бы команда Safari не решила открыть исходники своего браузерного движка именно в этом время, история могла бы развиваться совершенно в ином направлении. Но разработчики поступили так, поэтому Google изучила эту возможность и решила использовать движок. В следующую пару лет она начала работать над новой, ещё более быстрой реализацией Webkit.

Её первым шагом стало избавление от JavaScriptCore и замена его на собственный JavaScript-движок под названием V8, названный в честь мощного поршневого двигателя. Как можно понять из названия, V8 был быстрым. На момент выпуска он оказался в десять раз более производительным, чем JavaScriptCore. Он добился этой скорости благодаря работе в виртуальной машине и немного иному способу исполнения кода, делавшему его модульным и независимым от остальной части браузерного движка. Кстати, спустя пару лет эта модульность обеспечила возможность создания языка программирования Node: его разработчики взяли движок V8, избавились от браузера и поместили его на сервер.

Второе, что сделала Google — добавила в свой браузер многопроцессную архитектуру. О многопроцессности можно сказать многое, но лучше всего её объяснить на примере вкладок браузера. Раньше с «вылетом» одной вкладки аварийно завершалась работа всего браузера. Однако Google удалось заставить выполняться процессы в каждой вкладке независимо, чтобы за раз «вылетала» только одна вкладка. После выпуска браузера это стало его основным привлекательным качеством. Кроме того, это оказалось важным решением, потому что стало серьёзным отходом от того, как Webkit работал ранее. Вскоре это решение ещё аукнется компании.

В сентябре 2008 года Google официально объявил о проекте своего браузера публике. Компания совместила объявление с нердовским веб-комиксом Скотта Макклауда, в котором подробно описывались все технические подробности проекта. Браузер мог обрабатывать веб-сайты быстрее всех на рынке, а благодаря своей многопроцессной архитектуре был способен сохранять активность страниц, даже когда зависал какой-нибудь другой сайт. Это было в те времена, когда браузеры до сих пор были перегружены панелями инструментов и аддонами, а также пакетами больших компаний, в которые была включена и почта. Имя, данное Google этому проекту, тоже соответствовало концепции. В мире браузеров под понятием «хром» (chrome) подразумевается всё дополнительное, что окружает веб-страницу — адресная строка, панели инструментов и файловые меню. Google избавилась от большинства этого хлама, поэтому и назвала браузер Google Chrome, надеясь, что ставка на простоту и производительность оправдает себя.

Что такое chromium based. Смотреть фото Что такое chromium based. Смотреть картинку Что такое chromium based. Картинка про Что такое chromium based. Фото Что такое chromium based

Фрагмент веб-комикса, с которого всё началось

Если не считать закрытого алгоритма поиска, Google многие годы делала вклад в проекты с открытым кодом и создавала новые. Поняв урок Apple, компания при разработке Chrome зашла ещё дальше. В тот же день, когда было объявлено о выпуске Google Chrome, компания сделала весь движок доступным как open-source-проект под названием Chromium. Это не просто несколько расширений для Webkit. Это не просто движок рендеринга. Открытым стало всё: Webkit, JavaScript-движок V8 и весь код самого браузера. Без особых усилий любой разработчик мог дополнить Chromium и выпустить собственный браузер. После его выпуска со многими браузерами так и случилось.

2008-й стал важным годом для веба. В том же месяце, когда был выпущен Chrome, Google показала прототип своей мобильной операционной платформы Android, собранной из нескольких проектов с открытыми исходниками. В него входила и мобильная версия Google Chrome. Это произошло чуть более года спустя официального выпуска iPhone, который поставлялся с модифицированной версией Safari. К тому времени, когда Стив Джобс приступил к безвозвратному «убийству» Flash и начал превращать в основной приоритет нативную платформу веба, эти устройства уже были повсюду.

То есть теперь в каждом мобильном смарт-устройстве работал Safari или Chrome. Сама Safari целиком благодаря покупкам iPhone всего за несколько лет удвоила свою долю на рынке. Популярность Chrome росла ещё быстрее. Используя Chromium, вы получали доступ к постоянно расширяющемуся списку независимых браузеров и браузерных проектов. Кроме того, Chromium стал основой языка программирования Node и фреймворка для десктопных приложений Electron.

И все эти проекты работали благодаря Webkit. За несколько лет он совершил путь от захвата небольшой доли рынка браузеров до доминирования на нём.

Такое состояние покоя было недолгим. В апреле 2013 года Google неожиданно объявила, что создаст ответвление (форк) проекта Webkit в новый движок под названием Blink. Google Chrome и проект Chromium будут переходить на этот новый движок.

У такого перехода было несколько причин, но важнейшая из них возвращает нас к вопросу многопроцессности. Несколько лет Google расширяла Webkit, чтобы добавить в свои браузеры многопроцессность, ставшую важнейшей особенностью и основанием роста производительности браузеров Chromium. В 2013 году проект Webkit должен был выпустить новую версию движка, которая улучшала в том числе и многопроцессность. Проблема заключалась в том, что её реализация стала бы совершенно другой и несовместимой с реализацией в Chrome. В нём уже использовался другой JavaScript-движок и это новое изменение слишком сильно бы отодвинуло Chromium от исходного проекта. Ядром Blink по-прежнему должен был оставаться и остаётся Webkit. Но он пойдёт по другому пути и создаст себе новый проект.

На этом этапе веб стал более сложным, чем кто-либо мог себе представить. Проблема, которую впервые изложил Бернерс-Ли — слишком большое количество независимых разработчиков, создающих собственные браузерные движки — больше не была проблемой. Для сборки и поддержки браузерного движка теперь требовались большие коллективы. С расширением платформы веба и укрепления его стандартов сложность рендеринга веб-сайта в страницу росла экспоненциально. Браузер должен был исполнять бесчисленное количество сайтов, закодированных бесчисленным количеством способов так, чтобы более-менее соответствовать всем остальным браузерам.

После этого момента браузерные движки начали исчезать.

За два месяца до выпуска Blink компания Opera объявила, что откажется от собственного движка Presto и перенесёт свой браузер на Chromium. Когда Google объявила о форке, Opera присоединилась к ней. В мае 2013 года она выпустила свой первый браузер на основе Blink.

Тем временем Microsoft многие годы придерживалась собственного движка с закрытым исходным кодом. Trident был преобразован в движок под названием EdgeHTML, созданный для браузера Microsoft Edge, впервые выпущенного в 2015 году. Но вкладывание ресурсов в разработку независимого движка оказалось слишком сложной задачей на уже заполненном рынке браузеров. В 2019 году компания объявила, что тоже переходит на Blink. С тех пор этот браузер тоже выпускается.

Потомков KHTML, то есть браузеры, имеющие движки из семейства Blink / Webkit, используют более 90% пользователей. От практического забвения до доли рынка в 90% за пятнадцать лет — потрясающее достижение. И оно имело последствия.

Blink и Webkit — это два разных движка, и в их исходном коде стало довольно много различий. Но они используют одинаковый подход к рендерингу веб-страниц, а бо́льшая часть кода внутри проекта остаётся такой же. Это означает, что на текущем этапе, по сути, осталось две группы браузерных движков — семейство Blink / Webkit и Gecko браузера Firefox. Даже если разделить Blink и Webkit, то всё равно остаётся только три.

И это возвращает нас к вопросу браузерного разнообразия. Инновации в браузерных технологиях не исчезли, и, к счастью, каждый серьёзный браузер привержен процессу стандартизации веба. Однако если сообщество Blink и Webkit решит, что оно хочет двигать веб в определённом направлении, то будет обладать всей необходимой для этого властью. Это справедливо даже сегодня, несмотря на то, что Gecko всё ещё держится.

Джеффри Зельдман хорошо резюмировал это в момент, когда Microsoft решила переходить на Blink:

Когда одна компания решает, какие идеи стоит поддерживать, а какие нет, какие проблемы с доступом важны, а какие нет, это подавляет инновации, уничтожает конкуренцию и открывает возможности исключения людей из работы с цифровой информацией.

С исторической перспективы траектория развития Webkit является настоящим чудом. И оно возникло благодаря открытости и поддержке сообщества. Но столь же важно поддерживать браузерное разнообразие и возможности инноваций.

В этом посте рассказано о пяти вехах истории развития веба.

Источники

На правах рекламы

Наша компания предлагает безопасные серверы с бесплатной защитой от DDoS-атак. Возможность использовать лицензионный Windows Server на тарифах с 2 ГБ ОЗУ или выше, создание резервных копий сервера автоматически либо в один клик.

Используем исключительно быстрые серверные накопители от Intel и не экономим на железе — только брендовое оборудование и одни из лучших дата-центров в России и ЕС. Поспешите проверить.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *