Google уже в третий раз проводит в России конференцию для разработчиков. В нынешнем году форум посетили около 4 тыс. человек, причем компании не удалось принять всех, кто пытался зарегистрироваться на мероприятие. На открытии конференции Эрик Толоме, директор Google по продуктам для разработчиков, сформулировал основные направления развития компании так: «Первое — поддержка стандарта HTML5, второе — облачные вычисления и третье — стремительное развитие мобильного Интернета, и в особенности платформы Android».
Вектор развития HTML5 направлен на создание интерактивных веб-приложений — это необходимо для окончательного превращения браузера в универсальный интерфейс для облачных вычислений. Язык описания данного интерфейса становится все более точным и включает в себя функции, которые раньше выполнялись с помощью модулей расширения браузеров. В частности, теги для описания звуков и видео теперь позволяют использовать мультимедийные элементы без дополнительных модулей. Поскольку эти функции будут встроены в сам браузер, то и реализовать их можно будет более эффективно.
Еще одним нововведением в HTML5 являются так называемые семантические теги, у которых имя соответствует содержанию, например тегом «user» могут быть помечены все сведения о пользователе. Использование таких тегов сделает данные, хранящиеся в веб-среде, более структурированными и удобными для автоматической обработки и поиска.
Важным элементом, который связан с поддержкой HTML5, является локальное хранение данных. Для создания полноценных веб-приложений нужно запоминать некоторую часть сеансовых данных и сохранять их на стороне браузера, поэтому в числе возможностей Google Chrome появилась функция временного хранения данных. Эти данные будут сохраняться даже при закрытии обозревателя, что позволяет веб-приложению сохранять некоторые сведения на локальном уровне. В результате такие приложения, как веб-редактор, можно будет сделать полным аналогом локального редактора с сохранением промежуточных версий документа в локальном хранилище без обязательного подключения к серверу. Кроме того, Chrome получит доступ к таким локальным системам, как геопозиционирование и акселерометр. В основном эти функции разрабатываются для мобильных телефонов, но и на мобильных компьютерах их также можно задействовать из браузера.
Впрочем, более важно для компании развивать инструментарий для создания облачных приложений. На конференции была продемонстрирована разработка SpringRoo. Google интегрировала ее в свою облачную платформу App Engine совместно со SpringSource, которая вошла в состав VMware. SpringRoo — это инструмент для интерактивного создания структур данных в облаке App Engine. Используя данный инструмент, с помощью определенных команд можно быстро создать необходимый набор полей веб-приложения. Причем результатом работы SpringRoo являются спецификации Java-классов, их можно использовать для наполнения бизнес-логикой. Google продемонстрировала и графическую оболочку для Eclipse, которая позволяет интегрироваться со SpringRoo и создавать нужные поля с помощью графического интерфейса.
Еще один инструмент разработки веб-приложений для платформы App Engine — язык обработки данных GQL, по своей логике работы напоминающий SQL. Особенностью языка Google является возможность работы с данными в облаке, а там база данных распределенная и пользователь не всегда знает, где именно его данные хранятся. Хотя для доступа и обработки данных в распределенных информационных системах используются механизмы Map-Reduce, их логика сильно отличается от привычных методов программирования на SQL. Для разработчиков, которые привыкли работать с реляционными базами данных, Google и предлагает инструмент GQL, упрощающий перенос SQL-приложений в облако App Engine. Таким образом, Google предлагает разработчикам инструменты для переноса традиционных веб-приложений на облачную инфраструктуру собственного облака App Engine.