2012 год станет годом веб-приложений Google

5 сентября 2011 года   |  Google

Будущий год станет для мира веб-технологий годом веб-приложений — полноценных программ, запускаемых в окне браузера, заявил корреспонденту Digit.ru Браян Раковски (Brian Rakowski), руководитель команды разработчиков веб-браузера Google Chrome.

«2012 год станет годом веб-приложений — развлекательных, серьезных — до сих пор казалось невозможным создавать такие вещи, и уж точно никто не предполагал, что они станут настолько популярными. Наша задача — привлечь к этому рынку как можно больше разработчиков», — сказал Раковски в интервью, посвященном трехлетию браузера.

С днем рождения, Chrome

2 сентября 2008 года была представлена первая бета-версия браузера Google Chrome. На сегодняшний день этой программой пользуется примерно 60 миллионов человек, а доля на мировом рынке веб-браузеров составляет 23%, по данным сервиса StatCounter за август 2011 года.

В декабре 2010 года у Chrome появился собственный магазин приложений — Chrome Web Store, а также достаточно необычный проект операционной системы Chrome OS, целиком построенной вокруг браузера Chrome. В свою очередь, веб-приложения стали ключевым моментом для разработчиков Chrome.

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

Для сравнения, в Mozilla (создатели браузера Firefox и почтового клиента Thunderbird) к вопросу подошли иначе. В феврале 2011 года разработчики представили собственную платформу Web Apps и свое видение веб-приложения, проводящее четкую границу между такими продуктами и традиционными веб-сервисами. Для Mozilla веб-приложения — это все, что образует единое рабочее пространство в окне браузера, набор взаимодействующих друг с другом веб-сервисов. Веб-приложения должны иметь совместный доступ к данным и уметь обращаться друг к другу для решения различных задач. Например, органайзер должен уметь обращаться к адресной книге для того, чтобы составить список людей, приглашенных на встречу.

В Google работа над платформой для веб-приложений ведется сразу по нескольким фронтам. Ключевыми моментами является технология для создания графики WebGL и технология для создания высокопроизводительных функций Native Client, отметил Раковски.

WebGL и игры в браузере

Технология WebGL позволяет размещать полноценные трехмерные модели прямо на веб-страницах. Это инструмент для разработки игр, мультимедийных презентаций и других интерактивных приложений с продвинутой визуальной составляющей. У Google одним из ярких примеров применения WebGL является веб-приложение Google Body Browser — трехмерный «атлас» человеческого тела. Пользователю предлагается полноценная модель человеческого организма, на которой можно рассмотреть устройство различных систем (например, кровеносной или пищеварительной) и узнать название конкретного органа.

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

Технология WebGL развивается целым консорциумом разработчиков программного обеспечения и производителей компьютерной техники. Поддержка этой технологии уже есть в браузере Mozilla Firefox, Apple Safari и в Opera (в версиях для разработчиков). Единственным браузером, не поддерживающим WebGL, остается Internet Explorer.

В мае-июне 2011 года WebGL стала предметом пристального внимания экспертов компьютерной безопасности. В двух отчетах британской компании Context были рассмотрены сразу два типа угроз, связанных с этой технологией. Например, с помощью WebGL злоумышленник может переполнить память на видеокарте пользователя и вызвать полный отказ системы. Также с помощью этой технологии можно перехватить снимок (скриншот) всего, что происходит на экране пользователя. Иными словами, WebGL открыла прямой доступ к видеокарте пользователя не только веб-программистам, но и хакерам.

Споры по поводу WebGL продолжаются до сих пор. Одновременно со вторым отчетом Context компания Microsoft опубликовала официальный текст, критикующий данную технологию. Представители компании заявили, что использовать WebGL слишком опасно, сославшись на результаты исследований британских специалистов.

Столь малая разница во времени между отчетами Context и сообщением Microsoft навела многих экспертов на мысль о том, что британские эксперты не были вполне независимы. Представители Mozilla выступили с открытой критикой данного послания, указав на то, что у Microsoft есть собственные технологии, не отличающиеся по принципу работу от WebGL и связанные с такими же рисками (в частности, Silverlight).

Как отметил в интервью с РИА Новости Раковски, Google не спешит отказываться от WebGL. Вышеназванные угрозы безопасности были связаны не с самой технологией, а с тем, что многие устаревшие видеокарты не предусматривали механизмов защиты. Единственное, что можно предложить в данном случае, — это тщательное тестирование, а также «черный список» устаревших и незащищенных видеокарт, для которых Chrome автоматически отключает WebGL.

Native Client

Технология Native Client (также известная как NaCl, в честь обычной поваренной соли) позволяет разработчикам писать отдельные части веб-сервисов на высокопроизводительных языках программирования.

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

NaCl позволяет использовать традиционные языки программирования, такие как C и C++. Скорость исполнения программ при этом отличается от обычного приложения в среднем на 5-15%. Благодаря этому, с помощью Native Client можно создавать библиотеки для, например, обработки графики и других ресурсоемких задач — что важно для игр и мультимедиа. Например, на основе NaCl уже был создан NaClBox, эмулятор игр, разработанных для операционной системы DOS, который работает прямо в браузере.

Во-вторых, Native Client позволяет достаточно легко переносить уже написанные приложения «в браузер» — что также продемонстрировано на примере NaClBox, созданного на основе популярной программы DosBox.

Недостатком Native Client является меньшая гибкость по сравнению с JavaScript — это касается поддержки различных операционных систем и аппаратных платформ. В прошлом с критикой NaCl выступал технический директор компании Opera, Хакон Виум Ли (Hakon Wium Lie), заявивший, что если NaCl и сравняется по универсальности с JavaScript, то высокую производительность при этом сохранить не получится.

Однако, как сообщил Раковски, Google имеет и другие планы на Native Client. Например, эта технология может применяться для создания плагинов, добавляющих в браузер поддержку различных медиаформатов. По сравнению с существующими решениями, NaCl добавляет ряд механизмов защиты, исключающих возможность использования уязвимостей внутри плагинов.

Будущее веб-приложений

По данным компании Google, в интернет-магазине Chrome Web Store размещено более 14 тысяч веб-приложений и расширений для Chrome. В мае 2011 года (спустя полгода после запуска) было зафиксировано около 17 миллионов загрузок.

Google продолжает развивать данную платформу — например, в августе 2011 года разработчики получили возможность использовать в веб-приложениях технологию Native Client. В том же месяце компания объединилась с Mozilla для создания проекта WebIntents — универсального инструмента взаимодействия и обмена данными между веб-сервисами, с помощью которого в перспективе и можно будет создать единое рабочее пространство пользователя из различных веб-приложений.

Ключевая проблема Chrome Web Store — отсутствие модерации приложений. В августе 2011 года неприятная история случилась в связи с популярным расширением Awesome Screenshot. Пользователи обратили внимание на то, что расширение, призванное упростить работу со снимками экрана (screenshots), меняло поисковую выдачу в Google без ведома пользователя, добавляя туда ссылки на товары в интернет-магазине Amazon. В ответ на это представители Google сообщили, что все расширения и веб-приложения публикуются в Web Store без предварительной модерации.

Будущее Google Chrome

По словам Раковски, разработчики продолжат работу над производительностью Chrome. «Это наш хлеб с маслом, знаете ли», — пошутил собеседник Digit.ru.

Также еще одной важной темой станет постепенное объединение Chrome с еще одним продуктом Google — безымянным стандартным браузером мобильной операционной системы Android.

Исторически сложилось так, что Chrome и браузер Android — это два отдельных продукта, разрабатываемых двумя разными коллективами. Обе программы построены на базе движка WebKit и интерпретатора JavaScript-сценариев V8, но при этом они несовместимы. Как сообщил Раковски, в будущем проекты начнут более тесное сотрудничество. Он не уточнил, станет ли штатный браузер в Android версией Chrome, как того ждут многие пользователи.

Тем не менее, в августе 2011 года разработчики сообщили, что в будущем два браузера будут использовать одну и ту же версию WebKit. Это не делает программы похожими функционально, но это значит, что создатели веб-сайтов могут ждать от Chrome и Android одинакового поведения.

Иллюстрация к статье: Яндекс.Картинки

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

Статьи