Вся правда о Google Chrome
Компания Google наконец-то сделала собственный браузер. Внешне он прост, но за этой простотой скрывается мощная и оригинальная техническая начинка.
Автор: Андрей Письменный
| Раздел: Статьи |
Дата: 04 сентября 2008 года
Говорят, браузерные войны отгремели уже почти десять лет назад - когда Internet Explorer совершил свою эпохальную победу над несчастным Netscape Navigator. Ещё говорят, что боевые действия самом разгаре - Mozilla Firefox потихоньку теснит Internet Explorer, отъедая процент за процентом. Но правда, оказывается, заключается в том, что всё только начинается.
На днях небезызвестная компания Google выкатила первую бета-версию своего собственного браузера - Chrome. Какая, казалось бы, разница - стало всего лишь одним браузером больше. Раньше Google прикармливали свободолюбивого огнелиса (который на самом деле малая панда), а теперь решили завести собственного домашнего питомца. Однако своей любви к разнообразным животным в Google изменили, выбрав для своего браузера движок WebKit, а не Gecko. Но ни WebKit, ни лаконичный интерфейс не принесли особой популярности Safari для Windows.
О Google Chrome же сейчас слышно отовсюду (даже из телевизора!), и его доля среди браузеров по некоторым данным уже на этот момент перевалила за 2,5 процента. Откуда же такой спрос? Неужели во всём виноват только логотип Google? Безусловно, он играет немаловажную роль, но у Chrome есть некоторые полезные, а порой и уникальные особенности.
Chrome снаружи
Интерфейс Chrome минималистичен, но по этой минималистичности отлично видно, что она появилась не сама собой, а стала результатом значительных усилий со стороны разработчиков. Как и в Internet Explorer 7 главное меню здесь спрятано под кнопкой настроек, заодно убрана и строка состояния, а подсказки в нижней части экрана появляются лишь в случае необходимости. Менеджера закладок как такового нет, а есть только соответствующая боковая панель. Закачки тоже оформлены предельно просто - информация о них отображается внизу под страницей.
Интересный ход позаимствован из браузера Opera - панель вкладок здесь располагается над адресной строкой, а не наоборот. Оттуда же перекочевало и другое приятное нововведение - окна часто посещаемых страниц, отображающиеся вместо пустого пространства при открытии новой вкладки (здесь это именно автоматически подбираемый браузером список, в то время как в Opera честь его составления отдается пользователю). В Google резонно решили, что открытие новой вкладки обычно предшествует поисковому запросу или вводу адреса. Кроме скриншотов девяти наиболее часто посещаемых сайтов здесь же можно найти список последних последних посещённых и тех, что отображались в недавно закрытых вкладках. Последнее - хороший способ быстро восстанавливать случайно закрытые "табы".
Показ списка любимых сайтов при открытии новой вкладки - это, конечно, хорошая идея, но она вызывает некоторые сомнения. Может случиться так, что браузером придётся пользоваться в присутствии зрителя, и демонстрировать ему свои пристрастия не захочется. Для всего, что хотелось бы удержать в тайне, в Chrome есть специальный анонимный режим. Активируется он созданием окна "инкогнито", никакие действия внутри которого не будут протоколироваться браузером.
Особенный вид приготовлен и для веб-приложений. Их Chrome может открывать в окне, лишённом навигационных элементов и вкладок. В таком виде веб-сервис напоминает обычную программу. Чтобы активировать эту возможность, нужно выбрать специальный пункт меню, который создаст для веб-сервиса ярлык и поместит его на рабочий стол. К тому же в Chrome встроен и Google Gears - механизм, позволяющий веб-сервисам хранить данные локально и работать даже тогда, когда интернет недоступен.
Поклонникам модульной структуры Firefox в Chrome, конечно же, всё равно будет недоставать разных штучек, которые они могут легко прикрутить к своему любимому браузеру. Но кое-какими удобствами Chrome всё же оборудован. К примеру, вместо появившейся в Firefox 3.0 адресной строки, при вводе текста в которую осуществляется моментальный поиск по журналу посещений и закладкам, здесь есть механизм под названием omnibox. Работает он несколько иначе: не только ищет по сохранённым данным, но и на ходу делает запросы к Google и предлагает пользователю возможные варианты запроса прямо по ходу ввода текста. Отдельной поисковой строки в Chrome нет, и если браузер поймёт, что мы вводим запрос вместо адреса сайта, то первой строкой контекстного меню будет "поискать на Google".
Авторы Chrome, впрочем, понимают, что людям иногда хочется искать не только "на Google". Если воспользоваться, к примеру, "Яндексом", то браузер запомнит поисковик, и если после этого начать писать в omnibox его адрес, то предложит нажать клавишу Tab и тут же поискать "Яндексом".
Из Safari здесь позаимствован не только движок WebKit, но и некоторые удачные идеи, связанные с организацией вкладок. Вкладки можно не только менять местами, но и вытаскивать из панели, отчего они превращаются в новые окна. Можно перетащить вкладку и из одного окна в другое, после чего та присоединится к списку второго окна.
Говорят, что авторы Chrome просто позаимствовали удачные идеи из разных существующих браузеров, но на самом деле подобных мелочей не так мало, и выбрать из них те, которые сложатся в целостную концепцию, не так-то просто. В своё время это неплохо получилось у создателей Firefox, теперь же удача улыбнулась Google - специалисты из Mozilla уважительно качают головами и говорят, что Google удалось повысить планку.
Chrome изнутри
Один из главных козырей Chrome - его скорость. Помимо того, что в нём используется WebKit - один из самых быстрых (если не самый) движок, рисующий страницы, так Google добавили к нему ещё и своё собственное изобретение - V8 - виртуальную машину для JavaScript, которая позволяет в разы ускорить исполнение программного кода. Это особенно важно для различных веб-сервисов, которые практически не используют статичный HTML и постоянно подгружают данные с сервера при помощи AJAX.
В V8 реализованы разные подходы, которые позволяют ускорить исполнение JavaScript. Здесь используется улучшенный сборщик мусора - механизм, позволяющий высвобождать неиспользуемую программами память, а также компилятор, на ходу превращающий сценарии в машинный код конкретного процессора. Но главное преимущество Chrome заключается в многопроцессности.
Обычно браузеру приходится ждать, пока все сценарии будут запущены и, возможно, завершат свою работу, прежде чем страница может быть отображена целиком. Chrome же умеет параллельно исполнять сценарии и заниматься обработкой кода страницы. На практике результаты оказываются фантастическими - кажется, что сложные страницы открываются так, будто это простой текст.
Для разъяснения нюансов работы браузера был нарисован сорокастраничный комикс
Chrome пытается решить и другую немаловажную проблему - потребление браузером оперативной памяти. В Google приняли решение запускать отдельный процесс для каждой открытой страницы. То есть, по сути, каждая страница будет работать в своей копии браузера. Это потребует чуть больше ресурсов сразу, зато в перспективе избавляет от нескольких насущных проблем и даёт некоторые преимущества.
Постоянно выделяя и высвобождая небольшие объёмы оперативной памяти под элементы страниц, браузеры обычно быстро фрагментируют отведённое им операционной системой адресное пространство и оказываются вынуждены просить добавки, постепенно разбухая до совершенно неприличных размеров. К тому же, если обработка какой-то из страниц вдруг вызовет сбой, то браузер скорее всего либо зависнет, либо прекратит свою работу.
Многопроцессность же во многом перекладывает проблемы на операционную систему. Та выделит сразу большой кусок памяти на процесс для одной страницы, а после её закрытия полностью высвободит ресурсы. Это не защитит память от фрагментации полностью, но масштабы будут совсем другими. К тому же, современные операционные системы знают своё дело куда лучше браузеров. Это, кстати, даёт возможность значительно эффективнее использовать многопроцессорные конфигурации.
В плане надёжности этот метод тоже работает великолепно. Изолируя каждый процесс, Chrome полностью контролирует его работу и может в любой момент завершить его, не давая неприятности повлиять на другие открытые страницы. Мало того, пользователь сам может поинтересоваться тем, сколько ресурсов потребляется разными процессами, и при желании избавиться от самых прожорливых. То же касается и плагинов. Если, к примеру, проигрыватель Flash вдруг начнёт слишком сильно нагружать компьютер, его можно будет отключить на ходу.
Позаботились в Google и о безопасности, и это относится не только к методу изоляции страниц от внешнего мира. В браузер встроен антифишинговый модуль, постоянно обновляющий списки опасных сайтов. Пользователей Chrome не будут раздражать и всплывающие окна. В том же редком случае, если такое окно вдруг может оказаться полезным, браузер отобразит его заголовок в нижней части страницы и откроет окно, только если пользователь того захочет.
Будущее Chrome
В Google говорят, что Chrome - попытка создать браузер с нуля и сделать его таким, каким ему положено быть в 2008 году. То есть оптимизированным не только для работы со статичным контентом, но и для приложений. Понять Google несложно - компания уже который год успешно продвигает идею постепенного перемещения пользовательских программ в веб. И та скорость, с которой браузеры исполняют клиентскую часть этих приложений, естественным образом ограничивает их сложность. Ускорив исполнение сценариев в 10 раз (и это не предел - в некоторых тестах движок Chrome работает в 50 раз быстрее конкурентов), можно реализовать принципиально более сложные вещи.
Но какой в этом смысл, если быстрым будет только один браузер? Пока что ориентироваться лишь на Chrome при создании приложений никто, скорее всего, не будет. Google обещает распространять код виртуальной машины V8 (да и всего браузера) на условиях свободной лицензии, так что, теоретически, этими преимуществами сможет воспользоваться любой желающий. Но в том, что создатели браузеров как один бросятся встраивать V8 в свои продукты, есть немалые сомнения. Однако в целом новый поворот в браузерных гонках может неплохо подстегнуть разработку аналогичных решений. Этого, по сути, в Google и добиваются.
Страница about:internets иллюстрирует слова американского сенатора, сказавшего, что "Интернет - это вереница труб"
В долгосрочной перспективе Chrome может стать куда более значимым, чем кажется сейчас. Сотрудники Google не стесняются открыто сравнивать свой браузер с операционной системой. Здесь есть минималистичный оконный менеджер и средства управления процессами и даже аналог файловой системы - Google Gears. Chrome идеально приспособлен для работы с приложениями и уже сейчас может стать незаменимым для тех, кто активно пользуется сервисами Google. А в будущем он имеет все шансы полностью заменить графическую оболочку какого-нибудь портативного устройства, предназначенного для работы в интернете.
837 Прочтений • [Вся правда о Google Chrome] [24.04.2012] [Комментариев: 0]