Чтобы быстрее понять, о чём здесь идёт речь, советую почитать:
что такое виджеты,
чем они хороши
и каковы их перспективы.
Это сообщение показывается только один раз. Такие же ссылки вы можете найти в правой колонке, в блоке "Рекомендую прочесть"
Итак, если вы хотите заняться разработкой виджетов Yahoo!, то первое место, куда следует заглянуть, это раздел Tools and Documentation. Там можно скачать SDK, почитать подробную документацию и найти инструкцию, как сделать свой первый виджет. Если будут возникать какие-то вопросы, можно посоветоваться с другими разработчиками на форуме Konfabulator. Народ там вежливый и адекватный: приятное отличие заграничных форумов от отечественных.
В Yahoo Widgets для разметки используется свой диалект XML, а для придания интерактивности — JavaScript. Также можно вставлять HTML, Flash и использовать CSS (правда, в урезанном варианте).
Свой язык разметки — это, с одной стороны, хорошо, потому что позволяет легко делать страницы типа «О программе» и определять настройки виджета с помощью специальных конструкций. Но с другой стороны, с непривычки вёрстка становится нетривиальной задачей.
Помимо обычного JavaScript, виджеты могут пользоваться дополнительным возможностями: хранить данные в SQLite, легко изменять и получать настройки, работать с операционной системой (например, узнавать загрузку процессора или информацию о беспроводных сетях)…
У виджетов есть режим отладки, в котором, кроме самого виджета, показывается консоль отладчика, где можно просматривать служебные сообщения и выполнять JavaScript-код.
Готовое приложение уваковывается в файл с расширением .widget. Есть два способа упаковки: zip (просто архивируете каталог с виджетом, после чего меняете расширение) и «однородный файл» (flat file), который создаётся с помощью виджета «Widget Converter», входящего в SDK. ZIP считается устаревшим методом упаковки и не рекомендуются к использованию из-за проблем с производительностью.
Когда ваш виджет готов, вы можете попросить других разработчиков потестирвоать его на форуме, в специальном разделе Widget Test Ground. Более того, Yahoo! настоятельно рекомендует это делать, особенно, для первой версии программы. Правда, я, например, комментариев к своему «Last.fm recent track» так и не дождался: наверное, он оказался слишком специфическим и пользователей Last.fm на форуме не было.
Теперь вы можете отправить ваш виджет в галерею виджетов Yahoo!. По идее, после этого он попадёт в очередь на утверждение, будет подвергнут автоматизированной проверке на безопасность (не спрашивайте меня, как они это делают) и просмотрен модератором, который сделает скриншот и напишет небольшой обзор. В моём случае скриншот они сделать не смогли, поэтому попросили его выслать, причём непременно с альфа-каналом (и то я просил опубликовать скриншот на тёмном фоне, а они сделали на светлом, из-за чего буквы на нём плохо читаются). Да и моё описание виджета оставили неизменным.
Кстати, будьте готовы к тому, что ваш виджет появится в галерее далеко не сразу. Мой, например, был отправлен на добавление в декабре, а появился в галерее только в первой половине февраля. Надеюсь, эти задержки с рассмотрением были временными.
Наконец-то! Мы подошли к финальной части: наш виджет опубликован и теперь его пора распространять. Делать это можно двумя способами: просто давать ссылку на его страницу в галерее (но это не очень удобно) и сделать бэдж для установки виджета прямо с вашего сайта. Если сразу после попадания виджета в галерею бэдж не создаётся (возникает ошибка вроде «Виджет не найден»), подождите день-другой и попробуйте ещё раз: похоже, там есть какая-то задержка. Ваше терпение будет вознаграждено вот таким красивым инсталлятором:
А в следующей заметке я хочу рассказать об использовании виджетов Yahoo! для бизнеса.

Перейдём к динамическим виджетам и рассмотрим ещё пару технологий.
HTML+JavaScript (формируются статически)
Статически — в смысле, каждый пользователь виджета получает один и тот же код, и его содержимое впоследствии не меняется.
Тут, на мой взгляд, ничего особо интересного нет: добавляя JS, мы придаём немного больше интерактивности нашему виджету (переключение закладок, всяческие таймеры и всплывающие окошки), но при этом сильно ограничиваем его распространение. Дело в том, что многие сервисы хостинга блогов, и уж тем более форумы, в целях безопасности не разрешают пользователям вставлять JavaScript. Поэтому такие виджеты будут работать, в основном, на автономных блогах, личных сайтах или на каких-то определённых страницах (например, в профиле пользователя LiveJournal, но не в его постах). Да и чтобы сделать что-то завлекательное на одном только JavaScript и HTML, надо постараться.
У меня пока есть только одна идея, как это можно использовать: счётчики. Например, организуете вы конкурс, который должен начаться через 14 дней. Делаете виджет с надписью «До начала мегаконкурса осталось: столько-то часов-минут-секунд», на котором тикает время в обратную сторону, вешаете у себя в блоге и предлагаете посетителям тоже повесить на своих блогах. Постоянно тикающий таймер будет подогревать аудиторию ничуть не хуже зажигательных постов, и вам для этого ничего не надо будет делать.
Микросайтинг
Очень интересная технология, которую нельзя не упомянуть. Интересная своей простотой, изяществом и «живучестью».
Придумал её Дамир Ramainen ainu Фахрутдинов, и началось всё с этого поста (по крайней мере, это первое упоминание, которое мне известно).
В чём «фишка». Микросайт — это маленький самостоятельный сайт, встраиваемый в код другого, «большого» сайта. Код его представляет собой только ссылки и картинки, чем и объясняется «живучесть»: такой сайт-виджет можно разместить мало того что на любом блоге, но даже в подписи на форуме, где кроме BB-кодов вставлять ничего не разрешается.
Для разработчиков: исходники можно скачать по ссылке с приведённого выше поста на Хабре. Общий принцип работы: ссылки микросайта ведут на скрипты его родительского сайта-хостинга. Там, при клике, для пользователя стартуется сессия, в которой сохраняется его текущее положение на микросайте, и заново отрисовываются все картинки.
Плюсы:
- такой виджет может внедряться куда угодно, где можно вставлять картинки и ссылки
- контроль над виджетом в ваших руках: вы можете изменить дизайн или даже отключить показ виджета везде, где он уже установлен
Минусы:
- При клике по ссылке микросайта происходит перезагрузка страницы (есть варианты без перезагрузки, но они используют JavaScript)
- Улучшение дизайна — несколько более трудоёмкий процесс по сравнению с HTML
Где это можно использовать?
В первую очередь там, куда не доберутся другие динамические виджеты: на форумах, в комментариях, в постах на блогохостингах. Например, проявив немного фантазии, можно сделать интересную подпись для форума, голосование или даже вставку слайд-шоу!
У меня есть мысль на этой технологии построить игру для блоггеров. Например, крестики-нолики. Представьте: блоггер вставляет картинку с клеткми 3х3 в конец поста. Первый читатель, который видит эту картинку, кликает на клетку — там ставится крестик и его видят остальные читатели. Потом ходит автор поста, а все остальные ждут, пока он поставит свой нолик, после чего ходить уже может другой читатель, и так далее. Этакое интеллектуальное соревнование между автором и аудиторией. Как считаете, это было бы интересно?

Рассмотрим, какие бывают веб-виджеты с точки зрения технологий, какие у них есть плюсы и минусы, и для чего каждый вид можно применять. Сначала я думал описать все технологии в одном посте, но потом понял, что он получится слишком большим. Поэтому
Начнём со статического HTML.
Это просто HTML-код, который вставляется на страницу, и впоследствии уже не меняется. В таком виде, например, по блогам расходятся результаты тестов и анонсы новостей с новостных сайтов. Если вы видите на сайте текст «Код для вставки в блог», в 90% случаев это окажется статический HTML-виджет.
![]() |
![]() Дороги Москвы будут поливать горячими реагентами
|
Мэр Москвы Юрий Лужков предложил новое средство для борьбы с гололедицей на столичных магистралях. Как сообщил РБК заместитель руководителя Федеральной службы по надзору в сфере природопользования (Росприроднадзор) Олег Митволь, вопрос о применении антигололедных реагентов был рассмотрен на совещании в правительстве столицы. Ю.Лужков предложил применить в столице технологию подогрева жидких реагентов. По мнению градоначальника, эта технология гораздо действеннее и экономнее, чем традиционные средства. Для обработки магистралей…Читать далее > |
Плюсы:
- поддерживается всеми платформами: от сайтов до бесплатных блогохостингов и форумов;
- как правило, содержит прямо в коде ссылку на ваш сайт, что положительно сказывается с точки зрения SEO. Например, мой http://123lj.ru получил за 5 месяцев существования тИЦ 50 и PR 5 исключительно за счёт ссылок из виджетов в LiveJournal (причём, не все ссылки из виджетов ведут напрямую на этот домен: некоторые ведут на старый, где виджет жил вначале).
- самый «дешёвый» вариант с точки зрения разработки: на его реализацию требуется меньше всего времени.
Минусы:
- никакого интерактива
- контроль за виджетом полностью переходит в руки пользователя
Где можно применять:
- новостные сайты
- тесты и другие подобные сервисы, результатами работы которых пользователь может захотеть поделиться со знакомыми
- интернет-магазины
- любые другие сайты, предоставляющие информацию, которая со временем не перестаёт быть верной. Например, если у вас есть сайт о кино, можно сделать вставку кода с афишей и кратким обзором фильма: любители писать рецензии будут растаскивать их с удовольствием
Насчёт интернет-магазинов могу рассказать поучительный эпизод. Несколько лет назад, работая работая в одном из них, я предложил публиковать на сайте к каждому товару код для вставки в блог. Такого тогда никто на рынке не делал, руководство идею проигнорировало, коллеги только похихикали. А какое-то время спустя я обнаружил, что такая фишка появилась на Яндекс.Маркете (ссылка в правой колонке).
Sony-Ericsson XPERIA X1 — описание и цены на Яндекс.Маркете
Но интернет-магазины до сих пор не спешат внедрять эту возможность, так что если у вас есть магазин, поспешите: ещё остался шанс одним из первых начать пиариться в блогах с минимальными затратами. Согласитесь: если так делает Яндекс, значит в этом что-то есть.
И ещё небольшое замечание. При разработке cтатических виджетов с относительно сложным дизайном, необходимо обязательно проверять, насколько корректно они отображаются разных сервисах хостинга блогов: могут возникать проблемы с переводами строк и стилями. Впрочем, к остальным HTML-виджетам это тоже относится.
Продолжение следует.
