Главная > AJAX, Open Source, web2.0, Разное > Обновление моста между офф и он-лайном — Google Gears 0.2

Обновление моста между офф и он-лайном — Google Gears 0.2

21 февраля 2008

gears_sm.pngПриветствуем наших читателей (надеюсь, это просто счётчик FeedBurnera глючит, так как вчера ещё было больше двух сотен читателей RSS-ленты, а сегодня только 100). За эти несколько дней произошло несколько событий и вышли релизы ключевых компонент, так что я долго размышлял, о чем же писать в первую очередь. Но эта новость превзошла всех по интересности (на моё скромное мнение, о других релизах читайте следующие выпуски).

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

Основные изменения:

  • HttpRequest - это полная реализация объектаW3C XmlHTTPRequest, которая теперь доступна как для основной страницы (то есть, как один из объектов, создаваемых через API Gears-a), так и внутри worker-ов. Вот именно из-за этого этот модуль, собственно говоря, и был задуман. Gears предоставляет возможность имитировать многопоточное выполнение разных JavaScript вычислений путём распределения их по так называемым Worker-ам, отдельным процессам (объединённые в Worker  Pool), которые берут на себя фоновое выполнение указанного кода. Внутри такого процесса код изолирован и раньше не мог общаться с внешним миром каким-либо способом, кроме как через интерфейс воркера. Теперь из такого кода можно вызывать и работать с удалёнными узлами, а это открывает большие перспективы перед веб-разработчиками.
  • Timer - недостатки встроенного в JS таймера давно известны (в общем случае он один - негарантированная точности отсчёта временных промежутков, при чем, чем они меньше, тем больший может быть разброс). Теперь в Gears есть собственная реализация таймера, основанная на спецификации из HTML 5, которая имеет уже привычный интерфейс, так что если ваш код ориентирован на стандартный таймер, переделывать почти ничего не нужно. Да, конечно, таймер доступен как в глобальном приложении (на странице), так и в коде внутри worker-ов.
  • Улучшенная обработка ошибок внутри кода, который исполняется worker-ом. Раньше такой код было сложно, если не невозможно отлаживать в реальных условиях (то есть, когда он исполняется Gears), теперь эти ошибки передаются выше, на основную страницу и там могут быть перехвачены средствами отладки JavaScript кода, например Firebug-ом. Также появился обработчик ошибок в API WorkerPoll, что позволяет самостоятельно отлавливать и реагировать на ошибки.
  • Создание воркера путём задания URL скрипта. Это новая и, как говорят разработчики, давно ожидаемая возможность - теперь нет необходимости вручную загружать и передавать воркерам нужный код - вы выделяете код, который должен выполняется обособлено, в отдельный JS файл, а потом просто создаёте Worker и указываете URL этого скрипта, перекладывая всю работу по загрузке и выполнению кода на Gears.

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

Загрузить Google Gears вы можете здесь, там же ссылки на портал для разработчиков и другие материалы.

  1. 21 февраля 2008 в 19:08 | #1

    Может у ФидБёрнера просто кешируется цифра подписчиков на различные интервалы времени? Поэтому и такой обвал, кажущийся резким… ? 😎

  2. 21 февраля 2008 в 23:26 | #2

    да нет, там оказалось какой-то сбой, на офф форумах люди уже воют 🙂

  3. 22 февраля 2008 в 10:31 | #3

    Как результат обновления сабжа, гуглоридер в файрфоксе у меня уже 3-й день не работает, а зеленя кнопочка сабжа пропала из интерфейса. Неприятно, что эту заметку пришлось читать в IE7, в каковом никаких проблем не наблюдается. Возможно, проблема в конфликте с одним из многочисленных плагинов к огнелису, с каким именно — разобраться не представляется возможным

  4. 22 февраля 2008 в 11:46 | #4

    вот вам и минус фаера 🙂 никто не гарантирует что обвешав его плагинами он вообще будет работать. Я пользуюсь еще дев версией 2.0.14 гирса уже пару месяцев и никаких проблем. Кстати, ИЕ7 тоже отличный браузер (только холи вар не надо поднимать)

  5. 15 марта 2008 в 22:03 | #5

    Блин, впервые об этом слышу. (

  6. 20 июня 2008 в 20:16 | #6

    Когда слышу что ИЕ7 отличный браузер меня всего перекашивает, перекручивает и начинает типать, не скажте почему? ))

  7. 21 июня 2008 в 01:32 | #7

    Влад, скажи я почему, будет неправильно 🙂 но это хороший нормальный браузер для людей. для нормальных людей. которым пофиг все эти заморочки по поводу открытого кода, стандартов и прочей мишуры.

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