Интернет магазин китайских планшетных компьютеров



Компьютеры - Chromium - Особенности

25 апреля 2011


Оглавление:
1. Chromium
2. Особенности
3. Критика
4. Отличия от Google Chrome
5. Использование Chromium
6. Приложения, основанные на Chromium



Скорость

Поставив своей целью разработать быстрый браузер, разработчики решили использовать открытые компоненты. Движком отображения веб-страниц был выбран свободный WebKit. Он обеспечивал необходимую скорость рендеринга, имея при этом ряд других преимуществ. С движком обработки JavaScript всё обстояло несколько сложнее. Все имеющиеся на момент 2008 года движки не обеспечивали необходимой производительности или распространялись по закрытым лицензиям. Поэтому инженеры Google написали с нуля скоростной, высокопроизводительный движок V8, что позволило Chromium стать на момент запуска веб-обозревателя одним из самых быстрых браузеров в плане обработки JavaScript. В конце 2009 года в тестовых сборках Chromium начались работы по внедрению аппаратного ускорения при обработке динамического содержимого. Результат работы проявился в 7 версии Chromium, где уже можно было включить аппаратное ускорение, обеспечивая высочайшую производительность при обработке динамического 2D) и 3D-контента с помощью графического процессора, показывая высокие результаты в демонстрационных тестах от Microsoft и Google. Для ускорения доступа к страницам используется технология предварительного чтения DNS и предварительная отрисовка страниц. 7 декабря 2010 года Google анонсировала новый виток развития V8, разработав новую инфраструктуру компиляции кода. Новая технология под названием Crankshaft позволила добиться огромного прироста в производительности, обойдя все конкурирующие движки.

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

Safe Browsing в действии.

Согласно заявленным создателями Chromium стремлениям создать самый безопасный браузер, разработчики уделяют большое внимание внедрению новых функций по защите браузера. Для обеспечения безопасности в Chromium была выбрана модель «песочницы», позволявшая ограничить простор для атаки пользовательского компьютера через использованную уязвимость. Исследователи Google пришли к выводу, что почти 70 % угроз «работают» в движке отображения, который взаимодействует с ненадёжным содержимым. Именно поэтому разработчики перевели всю работу движка в песочницу. Также на некоторых дистрибутивах Linux режим «песочницы» отключён принудительно. В сборке 66022 разработчики перенесли в «песочницу» также исполнение подключаемого модуля Adobe Flash Player, который довольно часто становится объектом пристального внимания хакеров. У Chromium нет действенной защиты от XSS-атак, но, благодаря тому, что Chromium поддерживает HTTP-Only cookies, опасность межсайтового скриптинга значительно снижается. Также активно тестируется функция XSS Auditor, внедрённая в списке экспериментальных функций в 7 версии. Данный компонент значительно увеличивает защиту от межсайтового скриптинга. Впервые XSS Auditor был использован в 4 версии Chromium, но в связи с многочисленными ошибками и падением производительности в версии 4.1 функция была отключена. Проблему с производительностью и стабильностью разработчикам удалось разрешить, но функция до сих пор является экспериментальной, так как не все сайты способны с ней работать. Также в 7 версии Chromium в качестве эксперимента появилась возможность надзора над подключаемыми модулями. Браузер получил возможность предлагать отключение тех плагинов, которые имеют незакрытые уязвимости до тех пор, пока не выйдет обновлённая версия модуля с исправлением ошибок, окончательно функция стала доступна в 10 версии браузера. Для обеспечения криптографической безопасности при работе с конфиденциальной информацией пользователей Chromium предоставляет возможность работать с защищённым протоколом передачи данных, которые могут упаковываться в соответствии с криптографическими протоколами SSL 3.0 и TLS 1.0. Для дополнительной защиты Chromium может использовать экспериментальный открытый протокол HSTS, позволяющий устанавливать с сайтами в форсированном режиме защищённое соединение. Часть настроек безопасности пользователь может регулировать сам. В Chromium встроен компонент Безопасный просмотр, обеспечивающий защиту от фишинга и вредоносного ПО. Chromium при первом запуске в течение первых пяти минут загружает базы определений вредоносных и мошеннических сайтов, которые затем обновляет каждые 30 минут, при этом никакая личная информация в компанию Google не отправляется. Сам компонент может быть отключен в настройках браузера.. Дополнительно Chromium позволяет проводить гибкую настройку содержания веб-страниц: редактировать политику запуска подключаемых модулей, использования JavaScript и cookies, а также проводить очистку конфиденциальных данных за определённый период. Среди прочих механизмов защиты можно выделить:

  • Спецификация HTML5 в виде Origin Header обеспечивает защиту от подделки межсайтовых запросов, блокируя неправильные запросы сайтов.
  • Chromium поддерживает X-Frame-Options API, защищающий браузер от кликджекинга, а также X-Content-Type-Options API, предоставляющий браузеру возможность защищаться от MIME-сниффинга.
  • Chromium поддерживает «режим инкогнито», при котором история посещений и загрузок не записывается в журналы, а файлы cookies удаляются после закрытия браузера.

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

Надёжность

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

  • Возможность мгновенного освобождения памяти при закрытии одного из компонентов. В частности, при закрытии вкладки потреблявшаяся ею память освободится сразу, в отличие от браузеров, использующих однопроцессную архитектуру, где очищение памяти при закрытии вкладки идёт несколько дольше.
  • Активное взаимодействие с операционной системой. При использовании большого числа вкладок многие вкладки могут простаивать в бездействии, несмотря на то, что они необходимы пользователю. Chromium, взаимодействуя с ОС, уменьшает потребление памяти, заставляя систему считать неиспользуемую вкладку свёрнутым приложением.
  • Возможность понимания, какие ресурсы и в каком количестве выделяются каждому запущенному компоненту. Для того, чтобы пользователь мог точно разобраться в каждом процессе, в Chromium установлен собственный диспетчер задач и инструмент статистики about:memory.

Но при этом у подобной архитектуры есть существенный недостаток — большее общее потребление памяти.

Поддержка веб-спецификаций

Chromium использует движок WebKit для отображения веб-страниц, благодаря чему Chromium обеспечивает широкую поддержку HTML 4.01, xHTML 1.0, XML 1.0, SVG, SVG Fonts, SVG Filters, SVG SMIL animation, MathML, ECMAScript, DOM. Разработчики же активно внедряют поддержку спецификаций HTML5, реализовав поддержку canvas, тегов <video>, <audio>, веб-приложений, геолокации, WebGL, Web SQL Database и ряда других активно разрабатываемых стандартов. Также Chromium полностью проходит тесты CSS3 Selectors Test и Acid3.

Поддержка форматов

Браузер обеспечивает поддержку графических изображений JPEG, PNG, GIF, XBM. В качестве альтернативного графического формата Chromium поддерживает разработанный компанией Google формат WebP, обеспечивающий лучшее качество при меньших размерах в сравнении с JPEG. Поддержка аудио и видео форматов ограничена исключительно свободными форматами Ogv, OGG и WebM, при этом AAC и MP3 не поддерживаются.

Расширяемость

Панель расширений в Chromium 10.

В декабре 2008 года Google объявила о начале работы по внедрению поддержки расширений в Google Chrome. Тестовой площадкой стал свободный браузер Chromium. В первых версиях Chromium 2 появилась возможность использовать расширения. Расширения — небольшие программы, запущенные в браузере и добавляющие дополнительную функциональность, интеграцию с разнообразными веб-сервисами и ряд других особенностей. При написании расширений могут использоваться те же самые технологии, что и при написании веб-страниц, то есть HTML для создания разметки, CSS для стилизации и JavaScript для программирования. Учитывая, что новейшие версии Chromium обеспечивают поддержку HTML5 и CSS3, то разработчики могут пользоваться новейшими открытыми веб-технологиями, такими как canvas и CSS-анимации.

Используя нативные API, расширения для Chromium могут взаимодействовать с закладками, предоставляя возможность создавать их и проводить над ними различные действия; контекстным меню, позволяя редактировать его содержимое; вкладками, позволяя сортировать их, изменять и проводить некоторые другие действия.; другими нативными API, в том числе экспериментальными. Из сторонних API есть возможность работать с DOM, HTML5 API’s, WebKit API и другими.

Также для Chromium можно использовать кросс-браузерный NPAPI-модуль, позволяющий вызывать нативный бинарный код расширения через JavaScript для обмена данными между системой и браузером. Большим недостатком использования расширений, написанных с помощью этого API, является безопасность. Расширения получают такие же права, которые имеет браузер, и через уязвимость в расширении злоумышленник может нанести вред системе. Разработанные расширения можно выкладывать в официальной галерее расширений. Расширения, кроме использующих интерфейс NPAPI, не проходят предварительной проверки и сразу появляются в каталоге. Все расширения хранятся в crx-формате, который является особо построенным ZIP-файлом, который можно распаковать большинством архиваторов. Начиная с 19 августа 2010 года, согласно обновлённым политикам безопасности, разработчики должны выплатить взнос в размере 5$ для начала публикации расширений в каталоге. Разработчики, которые зарегистрировались до 19 августа, входной платой не облагаются и могут продолжать публиковать расширения в обычном режиме. Расширения в Chromium могут обновляться сами, используя протокол Omaha. Chromium имеет встроенную поддержку сценариев Greasemonkey, что существенно расширяет возможности браузера.

Примеры официальных расширений

Здесь представлен ряд расширений, созданных компанией Google и доверенными авторами.

  • Google Mail Checker — расширение, позволяющее просматривать количество непрочитанных писем в Google Mail.
  • gCast Weather — расширение, позволяющее отображать текущую погоду и 4-дневный прогноз от Google.
  • AdBlock — расширение блокирует рекламу на основании списков.
  • Web of Trust — расширение, дополняющее защитные функции Chromium, предупреждая о вредоносных сайтах, мошеннических страницах на основании оценок пользователей.
  • Google Chrome to Phone Extension — расширение от Google, позволяющее отправлять ссылки на устройства под управлением Android 2.2.

Персонализация

Летом 2009 года в Chromium 3 была внедрена поддержка тем. Темы позволяли менять расцветку интерфейса браузера, согласно предпочтениям пользователя. В Linux-версии возможности персонализации оказались шире, так как темы могли использовать «родные» возможности интерфейса GTK+/GNOME. Для удобства пользователей была создана специальная галерея, содержащая темы от Google и сторонних авторов.

Подключаемые модули

O3D Beach Demo.theora.ogv
Демонстрация возможностей O3D.

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

  • Default Plug-in — предоставляет возможность подключать сторонние плагины.
  • GPU Plug-in — подключает возможность рендеринга Pepper 3D с помощью GPU.
  • Native Client — плагин-компонент, позволяющий запускать приложения в «песочнице».

В апреле 2009 года началось активное развитие плагина O3D, который должен предоставить API для создания мощных интерактивных приложений трёхмерной графики. Разработчики планировали в дальнейшем внедрить открытый модуль в поставку Chromium, но в связи с развитием WebGL разработка плагина была заморожена, а часть наработок перенесена в спецификации WebGL. В качестве дополнительных плагинов могут быть подключены Adobe Flash, Java, Silverlight, VLC Multimedia Plug-in, Adobe Reader и ряд других.

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

Плагины запускаются, согласно мультипроцессной архитектуре, в отдельных процессах, что говорит о том, что нарушить работу браузера они не способны. Но из-за того, что подключаемые модули могут нестабильно работать, их исполнение было вынесено из «песочницы». Для принудительного запуска плагинов в песочнице требуется применить параметр --safe-plugins.

Приложения

Веб-приложения в Chromium 10.

19 мая на официальном блоге Chromium был анонсирован Chrome Web Store, в котором будет предоставлена возможность публиковать приложения. Приложения являются интерактивными веб-сайтами, во многом похожими на расширения, но коренным отличием является то, что приложения можно продавать. Таким образом Google надеется привлечь крупных игроков, желающих извлечь выгоду из своих разработок. Среди анонсированных приложений оказались: графический редактор и ряд игр. 7 декабря 2010 года на мероприятии Chrome Event разработчики браузера Chromium и Google Chrome объявили о запуске Chrome Web Store, в котором можно будет устанавливать веб-приложения, расширения и темы. При этом для удобства пользования браузером на сенсорных экранах в браузере разрабатывается специальная панель приложений, адаптированная под управление пальцем.
Разработка приложений имеет примерно те же возможности, что и разработка расширений, но есть дополнительные возможности, как, например, запуск устанавливаемых приложений вне браузера.

Синхронизация

Через google-аккаунт может синхронизировать, в том числе и с браузером Google Chrome, веб-приложения, автозаполнение форм, закладки, расширения, параметры браузера и темы. Начиная с 9 версии браузера, Chromium умеет синхронизировать пароли, при этом эти данные передаются в зашифрованном виде при установке идентификационной фразы.

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

Инструменты разработчика. Инструменты разработчика Chromium предоставляют интегрированное окружение для отладки, оптимизации и понимания устройства веб-приложений или сайтов, запущенных в Chromium. Инструменты разработчика частично разрабатываются в составе WebKit под названием Web Inspector. Среди функций стоит отметить обработку в реальном времени DOM и CSS, отладку JavaScript, использующую графический отладчик, анализ времени исполнения всех функций веб-приложений, исследование данных локальных хранилищ HTML5, а также ряд других функций.

Диспетчер задач. В диспетчере задач показываются все процессы, запущенные в Chromium, и используемые этими процессами ресурсы.

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



Просмотров: 5131


<<< ChromePlus
Clam Antivirus >>>