Главная > AJAX, Open Source, web2.0, Разное > AJAX Storages — продолжаем тему вместе с Google Gears.

AJAX Storages — продолжаем тему вместе с Google Gears.

5 января 2008

gears_sm.pngПриветствуем всех наших читателей. Думаю, обычные поздравления с новым годом уж звучат со всех сторон, и даже успели, возможно, немного поднадоесть, поэтому поздравлением от нашего блога и авторов будет просто новый материал. И так, продолжая тему, поднятую в последнем нашем исследовании, о клиентских хранилищах для AJAX приложений. Просматривая новости, я наткнулся на интереснейший пост в одном из блогов, посвящённых AJAX, где описывались новые функции Google Gears - который теперь с обычной базы данных в браузере и надстройки для работы обычных приложений в офф-лайне теперь превращается, чуть было не сказал в ОС, но нет, просто в чрезвычайно мощное расширение функциональности браузерных приложений. Поэтому сегодня мы продолжим наше исследование, немного забежав вперёд, и расскажем о нововведениях в этот пакет.

И так, краткое введение. Google Gears это специальный небольшой плагин, существующий для большинства  популярных браузеров и платформ, предоставляющий API для веб-приложений на языке JavaScript. Сам плагин имеет очень небольшой размер, около 250 Кб, но его возможности просто фантастические. Базово, в нем содержится собственная база данных, причём, полноценная реляционная SQL, позволяющая исполнять запросы и хранить данные в базе, которые хранятся локально на машине клиента и доступны скриптам на страницу. Конечно, пользователь при первом заходе на страницу, использующую возможности Google Gears, должен самостоятельно подтвердить разрешение на использование плагина, но в дальнейшем программа все сделает сама. Приложение может хранить произвольные типы данных в базе, создавать собственные таблицы, также поддерживается полнотекстовый поиск и индексы - в общем, обычные возможности СУБД.

Вторым компонентом является, как ни странно, локальный веб-сервер (LocalServer). Да-да, веб-сервера теперь встраивают прямо в браузер. А если серьёзно - это составная часть и главный компонент функциональности - встроенный сервер позволяет сохранять весь контент страницы, вместе со всеми связанными файлами и потом работать со страницей в режиме офф-лайн, причём, полноценно работать, а после подключения к интернету, синхронизировать изменения (например, заполнение формы или редактирование документа). API позволяет задать конкретный список файлов (изображений, скриптов, стилей и HTML-файлов), которые плагин должен сохранить при переходе в офф-лайн режим.

И последним компонентом является пул процессов (WorkerPool) - служебный компонент, предоставляющий расширенные возможности по исполнению JavaScript - многопоточное исполнение кода, например, для выноса трудоёмких расчётов. Это пока замена родной многопоточности, которую обещают в следующей версии JavaScript (которая имеет рабочее название JavaSctipt 2 или ECMAScript 4).

В текущей бета-версии плагина доступно только эти три модуля, но даже этого очень много! Но разработчики из Google не сидят на месте, и в будущей версии плагина планируется очень много нововведений, новых API, которые ещё больше расширяют возможности для AJAX приложений. Давайте же кратко рассмотрим, чего же ждать в будущей версии, а в следующих статьях мы подробнее остановимся на использовании GoogleGears в своих приложениях (как при помощи собственного API, так и через популярных фреймворки, например Dojo Toolkit).

  • Image Manipulation API - специальный API для базовой работы с изображениями. Модуль построен на базе открытой библиотеки libGD, и предоставляет основные возможности по обработке изображений - изменение размера, обрезка, изменение формата (поддерживаются PNG,GIF и JPEG), вращение и переворачивание, а также наложение изображений поверх оригинального, например, водяных знаков. Модуль работает совместно с другим классом, предназначенным для работы с двоичными данными - BlobAPI.
  • BlobAPI - модуль для работы с файлами, как двоичными, так и любыми, передаваемыми через HTTP. Ограничением является то, что файл может изменятся только через другие модули GoogleGears, а напрямую через API можно работать только с метаданными.
  • DevelopmentTools - предоставляет основные функции по администрированию и просмотру внутренних данных плагина. Этот модуль нужен именно разработчикам, так как работать почти "в слепую" с той же базой данных или локальным сервером довольно сложно и неудобно, поэтому приходилось или полагаться на приложение или встраивать множество проверок и самописных административных приложений. Хотя, сказать честно, все равно потребность в полноценном и мощном приложении для администрирования сохраняется - это может быть и веб-приложение, например, менеджер СУБД на подобии phpMyAdmin, но легче и настроенный на работу с модулем базы данных.
  • LocationAPI - один из самых интересных модулей, предоставляющий универсальный API для определения и отслеживания местоположения пользователя, основываясь на данных GPS или данных сотового оператора. Понятное дело, что на обычном PC этот модуль бесполезен, хотя, если помечтать, логично было бы использовать IP для конкретизации хоть бы до уровня города. Интересен этот модуль именно своей мобильной направленностью, означающей, что можно смело ожидать появления пакета Google Gears на мобильных платформах - думаю, что это будут как платформы, использующие мобильную версию Mozilla Firefox (по сообщениям, она уже готовится, на платформу Windows Mobile), так и устройства под собственную платформу Google Android. Вот в таком ракурсе разрабатывать мобильные AJAX приложение станет очень легко и сложно даже предположить, какие открываются перспективы.

В принципе, это одни из самых интересных из планируемых нововведений, хотя стоит отметить и некоторые другие - к примеру, LoggingModule для создания единого универсального лога (в принципе, это можно сделать уже сейчас, при помощи простой надстройки над  базой данных), MessagingAPI для реализации очереди сообщений и передачи их как между процессами и модулями, так и даже кросс-доменно (интересно, это шаг на пути к встраиванию Jabber-клиента или как?).

Как, вас это впечатлило? Меня да, просто сразило - возможности, которые открываются просто безграничны, особенно если вы проектируете или разрабатываете сложные веб-приложения, вам без сомнения, стоит ориентироваться на возможности, предоставляемые Google Gears, тем более, что несмотря на некоторые сложности в установке (нужно скачивать отдельную программу, устанавливать её и подтверждать разрешение на использование на странице, что для неквалифицированных пользователей может быть немного сложным и нетривиальным), громкое и даже "могущественное" имя разработчика и мощные продуманные возможности должны сделать своё  дело - предоставить разработчикам беспрецедентные возможности, а пользователям - новые и мощные приложения, исполняющиеся прямо в их браузере.

P.S. Далее, в следующих материалах, мы рассмотрим работу с различными возможностями Google Gears и AJAX Storages вообще.

P.P.S. Кстати, на главной странице проекта предлагается установить версию 0.1.54.0, которая стабильная и содержит только базовые функции, и именно её возможности задействованы в некоторых известных web 2.0 проектах. А вот если вам интересно посмотреть на документацию и получить бета-версию следующего релиза, 0.2.2, вам прямая дорога сюда: http://code.google.com/p/google-gears/

  1. 6 января 2008 в 02:00 | #1

    незнаю хорошо это или плохо )))

  2. 6 января 2008 в 02:33 | #2

    ну как главный разработчик большого очень AJAX проекта, и пользователь разных сервисов, часть из которых этого не имеет — очень и очень хорошо 🙂

Комментирование отключено.
Developers.org.ua