Chromium | |
---|---|
| |
| |
Тип | браузер |
Разработчик | The Chromium Authors, Google[1][2], некоторые другие компании[3] |
Написана на | C++, ассемблер |
Операционная система |
Windows (7 или выше) Mac OS X (10.9 или выше) Linux[4] |
Первый выпуск | 3 сентября 2008 |
Последняя версия | 73.0.3635.0 |
Состояние | в активной разработке |
Лицензия | Компоненты распространяются под Apache License, BSD license, ICU License, LGPL, libjpeg license, libpng license, MIT License, MS-PL, MPL/GPL/LGPL, zlib license[1] |
Сайт | chromium.org/Home (англ.) |
Chromium (МФА ['krəumɪəm], англ. chromium — хром) — веб-браузер с открытым исходным кодом, разрабатываемый сообществом The Chromium Authors, компанией Google и некоторыми другими компаниями (Opera Software, Яндекс, NVIDIA, …)[3]. По утверждению разработчиков, Chromium предназначен для предоставления пользователям быстрого, безопасного и надёжного доступа в Интернет, а также удобной платформы для веб-приложений[5][6]. На основе Chromium создан браузер Google Chrome (при этом в рамках Chromium также доступны ранние пре-альфа версии[7], в которых можно ознакомиться с новшествами, ещё не включёнными в состав Chrome), а также ряд других альтернативных веб-обозревателей[2].
Разработка веб-обозревателя началась 25 июля 2008 года[8]. 1 сентября 2008 года в официальном блоге Google Сандар Пичаи (Sundar Pichai) и Линус Апсон (Linus Upson) анонсировали браузер Google Chrome[5]. На следующий день состоялся выпуск первой публичной бета-версии браузера от Google, а также была опубликована большая часть кода браузера, лицензированного преимущественно под опциональной BSD-лицензией[9], а также рядом других[1]. Проект получил название Chromium. Разработчики Google объяснили создание открытого и свободного проекта Chromium стремлением помочь Mozilla и WebKit развивать Интернет и веб-технологии, предоставить разработчикам удобную платформу для создания и развития собственных проектов, а также возможностью протестировать свои собственные продукты силами сообщества[9]. Для взаимодействия с сообществом Google создал ряд сервисов: дискуссионные группы[10], справочные форумы[11], официальный блог проекта[12], баг-трекер[13]. Также разработчики Chromium гарантировали, что будут всячески стремиться соединять собственные разработки и исправления с основной веткой разработки WebKit[9]. В марте 2011 года разработчики решили провести изменение логотипа браузера из 3D в 2D-представление[14][15].
Поставив своей целью разработать быстрый браузер, разработчики решили использовать открытые компоненты. Движком отображения веб-страниц был выбран свободный WebKit. Он обеспечивал необходимую скорость рендеринга, имея при этом ряд других преимуществ[16][17]. С движком обработки JavaScript всё обстояло несколько сложнее. Все имеющиеся на момент 2008 года движки или не обеспечивали необходимой производительности или распространялись по закрытым лицензиям. Поэтому инженеры Google написали с нуля скоростной, высокопроизводительный[18][19][20][21] движок V8, что позволило Chromium стать на момент запуска веб-обозревателя одним из самых быстрых браузеров в плане обработки JavaScript. В конце 2009 года в тестовых сборках Chromium начались работы по внедрению аппаратного ускорения при обработке динамического содержимого. Результат работы проявился в 7 версии Chromium, где уже можно было включить аппаратное ускорение[22][23][24], обеспечивая высочайшую производительность при обработке динамического 2D (Canvas) и 3D-контента (WebGL) с помощью графического процессора, показывая высокие результаты в демонстрационных тестах от Microsoft и Google[25][26][27][28][29][30]. Для ускорения доступа к страницам используется технология предварительного чтения DNS[31] и предварительная отрисовка страниц (пререндеринг)[32][33]. 7 декабря 2010 года Google анонсировала новый виток развития V8, разработав новую инфраструктуру компиляции кода. Новая технология под названием Crankshaft позволила добиться огромного прироста в производительности (порядка 109 %), обойдя все конкурирующие движки[34][35].
В апреле 2013 было объявлено, что браузеры Chromium и Chrome, а также операционная система Chrome OS переходят на новый открытый движок Blink, являющийся форком WebKit. Первоначальной целью такого решения было доработать внутреннюю архитектуру движка и сократить объём его исходного кода[36].
Согласно заявленным создателями Chromium стремлениям создать самый безопасный браузер, разработчики уделяют большое внимание внедрению новых функций по защите браузера. Для обеспечения безопасности в Chromium была выбрана модель «песочницы», позволявшая ограничить простор для атаки пользовательского компьютера через использованную уязвимость[37]. Исследователи Google пришли к выводу, что почти 70 % угроз «работают» в движке отображения, который взаимодействует с ненадёжным содержимым. Именно поэтому разработчики перевели всю работу движка в песочницу[~ 1][38][39]. На большинстве операционных систем Linux этот режим в браузере включен, однако некоторые неофициальные сборки Chromium дистрибутива Slackware отключают режим «песочницы» принудительно[40]. Тем не менее, на официально поддерживаемых Google Linux-системах, начиная с версии 23, Chromium использует возможности ядра для использования дополнительных компонентов, таких как фильтры seccomp-bpf, позволяющие значительно ограничить потенциал использования злоумышленником специфичных вызовов ядра[41]. В сборке 66022 разработчики перенесли в «песочницу» (изменение касается систем под ОС Microsoft Windows) также исполнение подключаемого модуля Adobe Flash Player[42][43], который довольно часто становится объектом пристального внимания хакеров[44]. У Chromium нет действенной защиты от XSS-атак, но, благодаря тому, что Chromium поддерживает HTTP-only cookies, опасность межсайтового скриптинга значительно снижается[45]. Также активно тестируется функция XSS Auditor, внедрённая в списке экспериментальных функций в 7 версии. Данный компонент значительно увеличивает защиту от межсайтового скриптинга. Впервые XSS Auditor был использован в 4 версии Chromium[46], но в связи с многочисленными ошибками и падением производительности в версии 4.1 функция была отключена[47]. Проблему с производительностью и стабильностью разработчикам удалось разрешить, но функция до сих пор является экспериментальной, так как не все сайты способны с ней работать[48]. Также в 7 версии Chromium в качестве эксперимента появилась возможность надзора над подключаемыми модулями. Браузер получил возможность предлагать отключение тех плагинов, которые имеют незакрытые уязвимости до тех пор, пока не выйдет обновлённая версия модуля с исправлением ошибок[48][49][50], окончательно функция стала доступна в 10 версии браузера[51]. Для обеспечения криптографической безопасности при работе с конфиденциальной информацией пользователей Chromium предоставляет возможность работать с защищённым протоколом передачи данных (HTTPS), которые могут упаковываться в соответствии с криптографическими протоколами SSL 3.0 и TLS 1.0. Для дополнительной защиты Chromium может использовать экспериментальный открытый протокол HSTS, позволяющий устанавливать с сайтами в форсированном режиме защищённое соединение[52][53]. Часть настроек безопасности пользователь может регулировать сам. В Chromium встроен компонент Безопасный просмотр, обеспечивающий защиту от фишинга и вредоносного ПО[54][55][56]. Chromium при первом запуске в течение первых пяти минут загружает базы определений вредоносных и мошеннических сайтов, которые затем обновляет каждые 30 минут, при этом никакая личная информация в компанию Google не отправляется. Сам компонент может быть отключен в настройках браузера[~ 2][57]. Дополнительно Chromium позволяет проводить гибкую настройку содержания веб-страниц: редактировать политику запуска подключаемых модулей, использования JavaScript и cookies[~ 3], а также проводить очистку конфиденциальных данных за определённый период[~ 4][58]. Среди прочих механизмов защиты можно выделить:
При этом Google призывает пользователей при нахождении уязвимостей в браузере сообщать о них разработчикам, взамен получая денежные вознаграждения[63].
В целях повышения стабильности для Chromium была выбрана мультипроцессная архитектура. Браузер, движок рендеринга, расширения, подключаемые модули работают в отдельных процессах. Таким образом, при нарушении работы, например, расширения браузер продолжит работу в обычном режиме, выдав предложение о перезапуске расширения[64]. У мультипроцессной архитектуры есть ещё ряд преимуществ, кроме стабильности[65][66]:
about:memory
.Но при этом у подобной архитектуры есть существенный недостаток — бо́льшее общее потребление памяти[66].
Chromium использует движок Blink для отображения веб-страниц, благодаря чему Chromium обеспечивает широкую поддержку HTML 4.01, xHTML 1.0 (2 изд.), XML 1.0 (4 изд.), SVG (уровень поддержки в 6 версии оценён как Advanced+[67]), шрифты SVG, фильтры SVG, анимацию SVG SMIL, MathML, ECMAScript, DOM, обеспечивая поддержку около 95 % существующих рекомендованных стандартов[68][69]. Разработчики же активно внедряют поддержку спецификаций HTML5, реализовав поддержку canvas, тегов <video>, <audio>, веб-приложений, геолокации, WebGL, Web SQL Database и ряда других активно разрабатываемых стандартов[70]. Также Chromium полностью проходит тесты CSS3 Selectors Test и Acid3[70].
Браузер обеспечивает поддержку графических изображений JPEG (через Libjpeg), PNG (через Libpng), GIF, XBM[71]. В качестве альтернативного графического формата Chromium поддерживает разработанный компанией Google формат WebP, обеспечивающий лучшее качество при меньших размерах в сравнении с JPEG[72][73][74]. Поддержка аудио- и видеоформатов ограничена исключительно свободными форматами Ogv, Ogg и WebM, при этом AAC и MP3 не поддерживаются[40][75].
В декабре 2008 года Google объявила о начале работы по внедрению поддержки расширений в Google Chrome[76][77]. Тестовой площадкой стал свободный браузер Chromium. В первых версиях Chromium 2 появилась возможность использовать расширения[78][79][80]. Расширения — небольшие программы, запущенные в браузере и добавляющие дополнительную функциональность, интеграцию с разнообразными веб-сервисами и ряд других особенностей. При написании расширений могут использоваться те же самые технологии, что и при написании веб-страниц, то есть HTML для создания разметки, CSS для стилизации и JavaScript для программирования. Учитывая, что новейшие версии Chromium обеспечивают поддержку HTML5 и CSS3, то разработчики могут пользоваться новейшими открытыми веб-технологиями, такими как canvas и CSS-анимации[81].
Используя нативные API, расширения для Chromium могут взаимодействовать с закладками, предоставляя возможность создавать их и проводить над ними различные действия[82]; контекстным меню, позволяя редактировать его содержимое[83]; вкладками, позволяя сортировать их, изменять и проводить некоторые другие действия.[84]; другими нативными API[85], в том числе экспериментальными[86]. Из сторонних API есть возможность работать с DOM, HTML5 API’s, WebKit API и другими[87].
Также для Chromium можно использовать кросс-браузерный NPAPI-модуль, позволяющий вызывать нативный бинарный код расширения через JavaScript[88] для обмена данными между системой и браузером. Большим недостатком использования расширений, написанных с помощью этого API, является небезопасность. Расширения получают такие же права, которые имеет браузер, и через уязвимость в расширении злоумышленник может нанести вред системе[89]. Разработанные расширения можно выкладывать в официальной галерее расширений. Расширения, кроме использующих интерфейс NPAPI, не проходят предварительной проверки и сразу появляются в каталоге[90]. Все расширения хранятся в crx-формате, который является особо построенным ZIP-файлом, который можно распаковать большинством архиваторов (7-Zip, WinRAR и др.). Начиная с 19 августа 2010 года, согласно обновлённым политикам безопасности, разработчики должны выплатить взнос в размере 5$ для начала публикации расширений в каталоге. Разработчики, которые зарегистрировались до 19 августа, входной платой не облагаются и могут продолжать публиковать расширения в обычном режиме[91]. Расширения в Chromium могут обновляться сами, используя протокол Omaha[92]. Chromium имеет встроенную поддержку сценариев Greasemonkey, что существенно расширяет возможности браузера[93][94].
Летом 2009 года в Chromium 3 была внедрена поддержка тем[95]. Темы позволяли менять расцветку интерфейса браузера, согласно предпочтениям пользователя. В Linux-версии возможности персонализации оказались шире, так как темы могли использовать «родные» возможности интерфейса GTK+/GNOME[96]. Для удобства пользователей была создана специальная галерея[97], содержащая темы от Google и сторонних авторов[98].
Chromium позволяет подключать к браузеру плагины, расширяющие возможности веб-обозревателя. В стандартной поставке на платформе Windows вместе с браузером идут:
В апреле 2009 года началось активное развитие плагина O3D, который должен предоставить API для создания мощных интерактивных приложений трёхмерной графики[99]. Разработчики планировали в дальнейшем внедрить открытый модуль в поставку Chromium, но в связи с развитием WebGL разработка плагина была заморожена, а часть наработок перенесена в спецификации WebGL[100]. В качестве дополнительных плагинов могут быть подключены Adobe Flash, Java, Silverlight, VLC Multimedia Plug-in, Adobe Reader и ряд других.
Плагины запускаются, согласно мультипроцессной архитектуре, в отдельных процессах, поэтому нарушить работу браузера они не способны[65]. Но из-за того, что подключаемые модули используют системные библиотеки, их исполнение было вынесено из «песочницы».
19 мая 2010 на официальном блоге Chromium был анонсирован Chrome Web Store, в котором будет предоставлена возможность публиковать приложения[101]. Приложения являются интерактивными веб-сайтами, во многом похожими на расширения, но ключевым отличием является то, что приложения можно продавать. Таким образом Google надеется привлечь крупных игроков, желающих извлечь выгоду из своих разработок[102]. Среди анонсированных приложений оказались: графический редактор и ряд игр. 7 декабря 2010 года на мероприятии Chrome Event разработчики браузера Chromium и Google Chrome объявили о запуске Chrome Web Store, в котором можно будет устанавливать веб-приложения, расширения и темы[103][104][105][106]. При этом для удобства пользования браузером на сенсорных экранах в браузере разрабатывается специальная панель приложений, адаптированная под управление пальцем[107].
Разработка приложений имеет примерно те же возможности, что и разработка расширений, но есть дополнительные возможности, как, например, запуск устанавливаемых приложений вне браузера[108].
Через google-аккаунт может синхронизировать, в том числе и с браузером Google Chrome (и другими браузерами на основе Chromium, имеющие ядро выше 5 версии), веб-приложения, автозаполнение форм (кроме данных кредитных карт), закладки, расширения, параметры браузера и темы[109]. Начиная с 9 версии браузера, Chromium умеет синхронизировать пароли, при этом эти данные передаются в зашифрованном виде при установке идентификационной фразы[110].
Инструменты разработчика. Инструменты разработчика Chromium предоставляют интегрированное окружение для отладки, оптимизации и понимания устройства веб-приложений или сайтов, запущенных в Chromium. Инструменты разработчика частично разрабатываются в составе WebKit под названием Web Inspector. Среди функций стоит отметить обработку в реальном времени DOM и CSS, отладку JavaScript, использующую графический отладчик, анализ времени исполнения всех функций веб-приложений, исследование данных локальных хранилищ HTML5, а также ряд других функций[111][112][113][114][115][116].
Диспетчер задач[~ 5]. В диспетчере задач показываются все процессы, запущенные в Chromium, и используемые этими процессами ресурсы (память, процессор и сеть).
Другие инструменты. Браузер обладает дополнительными скрытыми инструментами для разработчиков и тестировщиков, позволяющих получить доступ к дополнительным экспериментальным функциям браузера[117][118], подробной информации о браузере, средствам мониторинга данных, а также к ряду других возможностей[119].
Браузер в целом положительно воспринимается экспертами, которые отмечают более высокую скорость работы по сравнению с конкурентами, а также обладает рядом других преимуществ, таких как: веб-приложения, минималистичный интерфейс, удобная работа с вкладками и некоторые другие достоинства[120][121]. При этом первые тестовые версии браузера для платформ Linux и Mac OS X подвергались критике из-за крайне нестабильной работы, недостатка функций, нерабочих инструментов разработчика и крупного ряда других недочётов[122][123][124]. Позднее Chromium стал объектом скандала, возникшего после выявления российским программистом Алексеем Ужвой доказательств того, что браузер, вопреки заявлениям Google, совершает недокументированные запросы на серверы Google[125][126]. Разработчики признали дефект, объявили, что это ошибка, и удалили все следящие элементы[127].
Зачастую возникает путаница между браузерами Chromium и Google Chrome[128]. Несмотря на схожесть, браузеры имеют ряд существенных отличий. Chromium является свободным веб-обозревателем с открытым исходным кодом, в то время как Google Chrome распространяется под собственной лицензией[129] и содержит ряд несвободных элементов. С подробностями можно ознакомиться в таблице[40].
Google Chrome | Chromium | |
---|---|---|
Логотип | Многоцветный с преобладанием тёплых цветов | Многоцветный с преобладанием оттенков синего |
Отчёты об ошибках | Отправляются при включённой опции | Не отправляются[130] |
Статистика | Отправляется при включённой опции | Не отправляется[130] |
RLZ-идентификатор | Периодически отправляется[54] | Не отправляется[130] |
Видео и аудио | Поддерживаются форматы WebM, Theora, MP3, AAC, Vorbis | Поддерживаются стандартно только открытые и свободные форматы WebM, Theora, Vorbis |
Adobe Flash | Встроен | Отсутствует |
Google Updater | Следит за обновлениями браузера, скачивает и устанавливает их при необходимости | Отсутствует. В некоторых операционных системах браузер обновляется при помощи технологии пакетного управления (Ubuntu, Debian, openSUSE, ChromeOS и др.) |
Качество и стабильность | Несколько каналов обновлений. Канал Stable тщательно тестируется | Каналы обновлений полностью соответствуют каналам Chrome. Также доступны нестабильные ежедневные сборки |
Основную ветку Chromium (вне каналов Stable, Beta и Dev) можно расценивать как альфа-версию Google Chrome, она используется для «горячего» внедрения новых возможностей и функций[7]. При подобной политике использование браузера не рекомендуется для обычных пользователей, но в некоторых ОС, например в Joli OS, Chromium является браузером по умолчанию. В Windows существует ряд сторонних программ, позволяющих обновлять Chromium (например, свободный и открытый Chromium Updater[131]) по двум каналам обновлений — стабильному (протестированные сборки для ежедневного использования) и нестабильному (свежайшие сборки Chromium). Использование стабильного канала Chromium позволяет избежать ошибок и падений браузера. При этом корпоративный сегмент также может использовать Chromium благодаря инструментам управления групповыми политиками[132][133][134].
Chromium выпускается для операционных систем Microsoft Windows, начиная с XP SP2; Mac OS X, начиная с 10.5.6., и Linux (доступны также стабильные сборки Chromium), а именно, Arch Linux[135], Debian[136], Fedora[137], Gentoo Linux[138], openSUSE[139], Ubuntu и производные[140][141], Maemo 5 (существует неофициальный порт полноценного Chromium на коммуникатор Nokia N900)[142][143] и другие дистрибутивы[144]. FreeBSD официально не поддерживается, но доступен порт Linux версии, которая, однако, имеет некоторые функциональные недостатки в работе с расширениями[145][146]. Вычислить точное количество пользователей браузера Chromium очень сложно, так как User Agent браузеров Google Chrome и Chromium совпадают. Согласно социальной сети Wakoopa, аудиторию пользователей Chromium (около 87 %) составляют пользователи ОС с ядром Linux[147].
Кодовая база Chromium послужила основой для создания целого ряда альтернативных веб-обозревателей, имеющих ряд особенностей по сравнению с основной веткой развития. Одним из примеров является браузер Opera, который, начиная с версии 15, использует движок Blink (ранее использовался собственный движок Presto[148]). Также, на базе Chromium многие интернет-компании выпускают браузеры, интегрированные с собственными интернет-сервисами, например: Google Chrome (компания Google), Яндекс.Браузер (Яндекс[149][150][151][152]), 360 Extreme Explorer.
Портал «Свободное программное обеспечение» | |
Chromium на Викискладе |
Эта статья входит в число хороших статей русскоязычного раздела Википедии. |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .