`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Браузеры: страсти накаляются

Статья опубликована в №35 (652) от 16 сентября

+33
голоса

Как-то внезапно оказалось, что браузеры – как и цыплят – нужно считать по осени. Их стало на один больше (что на самом деле, с точки зрения веб-дизайнеров, не так и мало). До последнего момента не верилось, что Google решится выпустить собственный браузер Chrome, особенно учитывая благосклонное отношение интернет-гиганта к Firefox. Тем не менее это произошло – спустя буквально несколько дней после выхода публичной бета-версии Internet Explorer 8, с помощью которого Microsoft явно старается вернуть прежние позиции. Любопытно, но многие аспекты обеих программ развиваются в одном направлении.

О перипетиях на рынке браузеров (хотя о каком рынке может вообще идти речь, если они давно и, очевидно, навсегда перестали быть товаром) принято говорить не иначе как о войне. Но сегодня уже понятно, что все, что было до сих пор, – не более чем маневры. Погиб под грузом собственного кода Netscape? Тогда не лишне будет вспомнить, что название проекта Mozilla означает Mosaic killer – и где теперь браузер Mosaic? Обычное дело – выживает сильнейший. Конечно, коммерческой программе сложно конкурировать с бесплатной, тем не менее современная корпорация Mozilla научилась неплохо зарабатывать на Firefox. А компания Netscape, безусловно, вписала свое имя в историю компьютерных технологий – как создатель JavaScript.

И, как ни парадоксально это звучит, но во многом именно благодаря Netscape (читай, JavaScript, как неотъемлемой части AJAX) мы являемся свидетелями бурного развития браузеров. Фактически сейчас предназначение этих программ кардинально меняется. Да, они по-прежнему (и еще очень долго) будут использоваться для просмотра обычных веб-страниц, но все чаще в них выполняют фактически полноценные приложения (RIA) – вот тут как раз и пересеклись интересы лидеров софтверного рынка: Adobe, Google, Microsoft, Sun. Таким образом, браузеры становятся программной платформой, и именно в таком контексте их и следует сегодня рассматривать.

Internet Explorer 8

Браузеры страсти накаляются
IE 8: в веб-страницах не запутаешься – они сгруппированы по ресурсам и выделены цветом

По прошествии полугода с начала закрытого тестирования Microsoft представила на суд заинтересованной публики бета-версию нового браузера Internet Explorer (IE) 8. Данный релиз в определенном смысле призван стать ответом на успех Firefox, который месяц за месяцем продолжает отбирать долю на рынке у все еще с существенным перевесом доминирующего IE. Вероятно, Microsoft здесь допустила очередную ошибку (как в свое время вообще с Интернетом), слишком уж положившись на собственную безоговорочную гегемонию на рынке ОС. Ведь даже SP3 для Windows XP по-прежнему включает только IE 6. Сегодня по многим параметрам корпорации приходится догонять конкурентов, но делается это, скажем прямо, семимильными шагами.

Большинство новаций IE 8 сосредоточены в области производительности, безопасности и удобства работы. Не секрет, что первый из этих аспектов вызывал у пользователей наибольшие нарекания. В результате движок JavaScript был кардинально обновлен – настолько, что даже в Google отметили значительное (в несколько раз) ускорение работы с Gmail (правда, это было задолго до выхода Chrome). Несколько сложнее, учитывая бета-статус, оценить скорость собственно рендеринга. Субъективно кажется, что в этой области также наблюдается некий прогресс, хотя и не такой уж выдающийся.

Браузеры страсти накаляются
Обращаться к связанным ресурсам вручную не придется – для этого есть Activities

Но принципиальность направления JavaScript не подлежит сомнению, и это однозначно является следствием роста популярности RIA. Более того, в таком же ключе нужно рассматривать и внутренние архитектурные изменения браузера. Это можно расценивать как некий возврат в прошлое, но IE 8 пытается запускать вкладки в отдельных системных процессах. Вернее, все не так просто: процессов может быть лишь ограниченное число (как правило, от трех до шести в зависимости от производительности системы): один для базового окна, прочие – для вкладок. Первый хранит всю информацию о последних и в случае сбоя или зависания способен их перезапустить, восстановив открытые страницы и даже временные cookie. Подобный подход, очевидно, представляет собой компромисс между надежностью и ресурсоемкостью – хотя, забегая немного вперед, скажем, что Chrome запускает каждую вкладку в отдельном процессе и при этом потребляет примерно столько же памяти, как IE 8, правда, в функциональном плане браузер Google пока гораздо беднее.

Повысить надежность IE также должна проведенная Microsoft работа над ошибками – специалисты корпорации устранили около 400 потенциальных утечек памяти, в основном в механизмах поддержки JavaScript и DOM. Также был существенно обновлен «сборщик мусора», усовершенствован механизм работы с памятью в AJAX-приложениях.

Это стало известно еще раньше, но команда IE впервые взяла курс на безусловную поддержку веб-стандартов, в результате чего IE 8 предъявляет более жесткие требования к HTML-коду страниц, нежели предыдущие релизы и даже ряд конкурирующих браузеров. При этом разработчики вынуждены пожинать плоды своей прежней политики, когда совместимость с IE (весьма вольно толкующего официальные спецификации) ставилась выше, чем следование стандартам. Итогом является специальный режим рендеринга, совместимый с IE 7, скорее всего, просто обеспечиваемый прежним движком.

Кстати, IE 8 еще на стадии первой бета-версии успешно проходил тест Acid 2, с которым и поныне не справляется IE 7. Высота Acid 3 (ориентированного на самые современные технологии, в том числе DOM Level 2 и CSS3, которая даже окончательно не утверждена) пока осталась непокоренной, впрочем, как и всеми другими браузерами (официальными, поскольку специальные тестовые сборки Firefox и Safari проходили данный тест еще весной). Количество же набранных баллов в этом случае ни о чем не говорит – скажем, ошибка может быть только одна, но обращение к ней происходит на ранней стадии.

Однако, несмотря на принципиальный характер указанных изменений, первое, на что обратит внимание обычный пользователь, – чисто внешние эффекты и инструменты. Адресная строка полностью переработана и при вводе URL ищет не только недавно посещенные сайты, но и закладки, как в Firefox 3. Но, в отличие от последнего, IE 8 сортирует результаты по категориям и дополнительно выполняет поиск в лентах новостей. Еще одно интересное нововведение – объединение в группы и выделение отдельным цветом вкладок, открываемых по гиперссылкам. В дальнейшем с ними можно работать как с единым целым – перемещать, закрывать, дублировать.

В IE 8 специалисты Microsoft также серьезно озадачились проблемами обеспечения конфиденциальности, предложив принципиально новый режим работы. В результате активизации InPrivateBrowsing (при этом будет открыто новое окно IE 8) не будут сохраняться посещенные веб-страницы (в истории браузера), временные файлы и cookie, данные форм, пароли и т. д. – таким образом, в системе не останется никаких следов. Вдобавок InPrivateBlocking блокирует передачу какой бы то ни было информации сторонним сайтам (элементы которых присутствуют на просматриваемой странице), предоставляя пользователю возможность при необходимости сделать выбор. В нынешней версии InPrivateBlocking работает исключительно в паре с InPrivateBrowsing, что вообще-то не совсем логично – разумнее было бы его применять и в обычном режиме.

И конечно, Microsoft не была бы сама собой, не предложив в браузере какую-то дополнительную функциональность. Одно из таких новшеств – акселераторы, или Activities. Фактически эти мини-программы развивают идею смарт-тегов и предназначены для упрощения доступа к связанной информации на других ресурсах либо взаимодействия с иными веб-сайтами или сервисами. Работает это так: при выделении фрагмента текста рядом с ним отображается индикатор, открывающий список применимых к нему сервисов, – это может быть поиск на новостных ресурсах или на карте, перевод и пр. В зависимости от особенностей акселератора новые данные будут помещены во всплывающее окно или очередную вкладку, которая, как ни странно, не всегда группируется с родительской, что, вообще говоря, не вполне логично. Не трудно догадаться, что стандартные акселераторы обращаются к сервисам именно Microsoft, хотя уже есть несколько и от сторонних компаний, например eBay. Создавать их совершенно не сложно, необходимо лишь сформировать соответствующий XML-файл с описанием ресурса.

Еще одна новинка – WebSlices, своего рода аналог лент новостей, сигнализирующих об изменении некоего контента на веб-страницах и обеспечивающих оперативный доступ к нему (например, таким образом можно получать сведения об изменении ценового предложения выбранного лота на интернет-аукционе). Правда, следует подписаться на такой «срез», который, и это принципиально, должен быть оформлен в самой веб-странице. На самом деле все довольно просто (описание Activities и Web Slices доступно в OpenService Specification) и, по идее, не должно влиять на стандартный контент, тем не менее eBay, одной из первых поддержавшая данную технологию, пока что предпочитает дублировать страницы (пользователей IE 8 приглашают на ie8.ebay.com).

Google Chrome 0.x

Браузеры страсти накаляются
Оперативно влиять на производительность браузера можно через диспетчер задач Chrome

Бета-версия Chrome, представленная одновременно на 43 языках (в том числе русском и украинском), естественно, не могла пройти незамеченной. Популярность самой Google обеспечила новому браузеру за первый же день существования около 1% рынка. Firefox в свое время о таком не мог и мечтать. Впрочем, все это скорее следствие шумихи, разработчикам, безусловно, есть над чем трудиться и к чему стремиться. Однако даже для пробного шара Chrome выглядит впечатляюще.

Прежде всего следует отметить, что создатели Chrome трезво оценили собственные силы и сосредоточились на принципиальных для себя моментах. К счастью, они не стали изобретать велосипед (то бишь собственное ядро рендеринга HTML), а воспользовались движком Webkit их проекта Safari (утверждается, что Chrome рисует сайты абсолютно аналогично Safari 3.1) и кое-какими наработками из Firefox. Зато с нуля создали виртуальную машину (JavaScript) V8, отличающуюся большой скоростью и эффективным управлением памятью за счет внедрения разных технологий, в том числе компилятора, преобразующего сценарии в машинный код, и эффективного «сборщика мусора». В сочетании с многопотоковостью, позволяющей параллельно исполнять сценарии и обрабатывать код страницы, достигается очень высокая (по современным меркам) скорость, что в особенности сказывается на качестве функционирования AJAX-приложений и даже (теоретически) дает возможность работать с программами, которые пока не поддерживаются другими браузерами. Различные JavaScript-тесты демонстрируют превосходство Chrome на порядки над IE и в разы над Firefox. В этом несложно убедиться и самостоятельно, к примеру на странице code.google.com/apis/v8/run.html, но пользователи IE замечают значительную разницу даже на примере Gmail.

Как уже было сказано выше, архитектура Chrome очень напоминает таковую у IE 8, с той лишь разницей, что каждая вкладка действительно выполняется в собственном процессе, с собственными же экземплярами V8 и подключаемых модулей. Такая изоляция исключает интерференцию между вкладками (которые не смогут монополизировать ресурсы и вызвать общий сбой) и обеспечивает высокую надежность и «отзывчивость» Chrome. Хотя в целом программа пока не является образцом стабильности, не редки случаи, когда она демонстрирует вполне устойчивую работу с сотней одновременно открытых страниц. Впрочем, на самый крайний случай в Chrome имеется собственный диспетчер задач, посредством которого можно, к примеру, снять зависшую вкладку. Вот вам еще один признак того, что браузеры становятся самостоятельной программной платформой.

А для того чтобы окончательно стереть грань между локальными и веб-приложениями, Chrome позволяет создавать специальные ярлыки, запускающие веб-страницы в максимально облегченном окне браузера. К тому же в программу встроен механизм Google Gears, позволяющий RIA сохраниться локально и работать даже без подключения к Интернету.

Трудно сказать, бросятся ли создатели сервисов и RIA ориентироваться именно на Chrome (хотя, по заявлению разработчиков, V8 полностью реализует стандарт ECMAScript и, стало быть, никакой особой адаптации для него не нужно), однако некоторые поставщики SaaS-решений, к примеру NetSuite, уже обратили на него свое внимание и обещают поддержку в самый короткий срок.

Браузеры страсти накаляются
При работе веб-приложений инструменты браузера не нужны

А вот с пользовательской точки зрения Chrome выглядит довольно аскетично – краткие меню, минимум настроек. Впрочем, есть и кое-какие удачные решения. Например, адресная строка Omnibox совмещает в себе и поле ввода URL, и строку поиска (который осуществляется оперативно в процессе набора). Любую вкладку можно свободно перемещать как в пределах одного окна, так и между разными, или вообще «вытянуть» ее в новое. Вместо пустой страницы открывается перечень (в виде эскизов) наиболее посещаемых сайтов и закладок. Для обеспечения приватности предусмотрены специальный режим Incognito (Анонимное окно), аналогичный InPrivateBrowsing в IE 8, и антифишинговый фильтр с регулярно обновляемым списком сомнительных сайтов.

Чего Chrome недостает на нынешнем этапе (очевидно, что к официальному запуску ситуация может измениться), так это поддержки HTML 5 и XML (а значит, скажем, и RSS) и, конечно же, подключаемых модулей. Впрочем, последнее поправить несложно ввиду того, что браузер от Google реализует NPAPI, и перенос различных надстроек, написанных для Firefox, не должен вызвать затруднений.

Мы умышленно не касаемся сейчас различных проблем, уже выявленных у Chrome. В конце концов сами создатели весьма скромно оценивают текущее положение – внутренний номер версии начинается с 0.2, а значит, впереди еще много работы. Лучше еще раз отметим, что даже в нынешнем виде четко просматриваются приоритетные направления развития – это, в первую очередь, JavaScript (а наработки здесь имеются и у Microsoft, и особенно у Mozilla) и всемерная поддержка веб-приложений. Эта же тенденция, по большому счету, просматривается и у IE. А совпадение (пусть и частичное) точек зрения таких гигантов, как Google и Microsoft, согласитесь, говорит о многом.

+33
голоса

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT