Десктоп-виджеты представляют собой "контейнеры" для удобного внедрения на рабочий стол отдельных мини-приложений, подгружающих информацию из интернета. Такие программки стирают грань между вебом и десктопом, да и браузер становится не нужен. Проблема только в том, что разные платформы для виджетов не совместимы друг с другом.
Во-первых, нужно четко различать веб-виджеты и десктоп-виджеты. Первые представляют собой контент-модули, которые внедряются на веб-страницу. Этот тип виджетов полностью основан на веб-технологиях, которые работают через браузер: HTML, Flash и т.д. Такие модули существовали в интернете довольно давно, а виджетами их стали называть относительно недавно. Изначально же слово "виджет" обозначало именно мини-приложение для десктопа.
Преимущества десктоп-виджетов в том, что они работают независимо от браузера, имеют доступ к ресурсам персонального компьютера, потенциально могут использоваться в офлайне, лучше вписываются в контекст операционной системы и всех окружающих программ. Десктоп-виджеты стирают грань между вебом и десктопом, извлекая информацию из веба и демонстрируя ее на десктопе.
Журнал Newsweek недавно предсказал, что 2007-й станет годом виджетов. Слово прочно войдет в наш лексикон, а сами виджеты станут очень популярными.
На сегодняшний день существуют четыре основные платформы для виджетов. Разработчик Эд Воас (Ed Voas) из компании Yahoo опубликовал обзор этих платформ (widgets.yahoo.net/blog/?p=16) с указанием преимуществ и недостатков каждой из них.
- Apple Dashboard (developer.apple.com/macosx/dashboard.html)
- Microsoft Windows Vista Sidebar (msdn.microsoft.com/library/default.asp?url=/library/en-us/sidebar/sidebar/overviews/gdo.asp)
- Google Desktop Gadgets (desktop.google.com/dev/index.html)
- Yahoo! Widgets (Konfabulator) (widgets.yahoo.com/workshop)
Платформы Apple и Microsoft используют для работы виджетов ядро браузера (каждая - своего), в то время как Google Desktop и Yahoo! Widgets базируются на собственных проприетарных XML-форматах и движках рендеринга. У каждого подхода есть свои плюсы и минусы.
Apple Dashboard/Microsoft Windows Vista Sidebar
Основа на браузерном ядре облегчает создание виджетов. Существующие веб-приложения относительно просто модифицируются для работы на десктопе. Язык DHTML прост и удобен. Кроме того, в виджетах можно использовать специальные объекты JavaScript и библиотеки Ajax. Для разработчиков выпущены удобные инструменты, в том числе новая система DashCode IDE.
Недостатки такого подхода в том, что каждый виджет представляет собой полноценную веб-страницу, что требует значительных системных ресурсов. Другая проблема - в тесной привязке к операционной системе. Виджеты Apple работают только на Apple, а гаджеты Microsoft - только под Vista.
Google Desktop Gadgets
Google в данный момент использует собственные форматы XML и объектов, несовместимые со стандартами W3C. Их довольно просто понять, если вы знаете HTML, и у них нет специфических ограничений HTML, они позволяют использование JavaScript и Visual Basic и не особенно требовательны к системным ресурсам. Другие преимущества: поддержка перетаскивания мышкой и других функций операционной системы, доступность инструментария Gadget Designer для разработки виджетов.
Недостатков тоже много: например, относительно ограниченные функциональные возможности, по сравнению с другими виджет-движками, особенно в части визуализации и интерфейса. Для работы нужно скачать и установить целый пакет программ Google Desktop. В данный момент Google позиционирует свою разработку, скорее, как потребительский продукт, а не как платформу для разработчиков. Еще один недостаток - отсутствие поддержки Mac OS X.
Yahoo! Widgets (Konfabulator)
Здесь тоже используется формат XML и проприетарный движок для рендеринга. Раньше модель не была совместима со стандартом W3C, но сейчас это постепенно исправляется, так что в будущем можно будет кодировать виджеты на DHTML. Преимущества виджет-движка Yahoo в кроссплатформенности (он работает и под Mac OS X, на Windows Vista), максимальной простоте кодирования виджетов, доступности API, большой функциональности виджетов, тесной интеграции с операционной системой (диалоги "Открыть", "Сохранить", многооконные виджеты и т.д.).
Недостатки: собственный язык программирования, отличающийся от DHTML, необходимость загрузки компонентов (у нас ведь нет собственной операционной системы - жалуется Эд Воас), прожорливость к системным ресурсам, отсутствие поддержки видео. Некоторые из недостатков будут исправлены в ближайшем релизе.
Анатолий АЛИЗАР