Евгений Бордунов "Веб-виджеты Яндекса и с чем их...

31
Я.Субботник, Алматы, 15 октября 2011 года Разработчик интерфейсов Евгений Бордунов Вебвиджеты и с чем их едят

Upload: yandex

Post on 25-Jun-2015

496 views

Category:

Technology


1 download

DESCRIPTION

15 октября 2011, Я.Субботник в Алматы Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят" О докладе: Виджет – это информационный блок, который содержит фрагмент сайта. Виджеты могут быть различной сложности, создаваться с различными целями. В этом докладе пойдет речь о том, как правильно создавать виджеты, как их локализировать и как поддерживать.

TRANSCRIPT

Page 1: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

Я.Субботник,  Алматы,  15  октября  2011  года

Разработчик  интерфейсовЕвгений  Бордунов

Веб-­‐виджеты  и  с  чем  их  едят

Page 2: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

Аперитив:  о  виджетах

2

Page 3: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

Немного  теории— Точного  определения  нет

— (Веб-­‐)виджет  –  недо(веб-­‐)приложение

— Виджет  –  для  расширения  возможностей

— Первый  веб-­‐виджет  –  1997  год,  игрушка  Trivia  Blitz  

3

Page 4: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

Кто  использует?— Яндекс

— Google

— Facebook

— etc.

4

Page 5: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

Первое:  Веб-­‐виджеты  Яндекса

5

Page 6: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

Виджетная  платформа:

— Относительно  молодая  (с  2008)

— Достаточно  популярная  (около  1  млн  пользователей)

— Безопасная

6

Page 7: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

RSS-­‐виджетВиджеты  бывают:

7

Page 8: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

ФотовиджетВиджеты  бывают:

8

Page 9: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

iFrame  и  Быстрый  стартВиджеты  бывают:

9

Page 10: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

XHTML  виджетВиджеты  бывают:

10

Page 11: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

А  если  честно,  то

— XHTML-­‐виджет

— IFrame-­‐виджет

— Быстрый  старт

технологически  -­‐  одно  и  тоже

11

Page 12: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

Какой  виджет  делать?

— Понять,  что  виджет  будет  делать

— Понять,  для  кого  будет  делается

— Понять,  откуда  будут  браться  данные

— Понять,  как  данные  будут  отображаться

12

Page 13: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

Второе:  технологии

13

Page 14: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

XHTML-­‐виджеты

— Грузятся  в  создаваемый  iframe

— Надо  писать  код

— Свой  код  -­‐  свои  правила

14

Page 15: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

XHTML-­‐виджетыМогут  загружаться  с  Яндекса  (автономные  виджеты)

15

Page 16: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

XHTML-­‐виджетыМогут  загружаться  со  стороннего  сайта  (серверные  виджеты)

16

Page 17: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

XHTML-­‐виджетыМожно  локализировать

— Яндекс  локализирует  только  загловок  виджета,  описание  и  форму  настроек

— Для  помощи  в  локализации  контента  текущая  локаль  передается  в  GET  параметре  и  доступна  из  js

— Поддерживаются  языки:  be,  en,  ru,  uk,  kk,  {

17

Page 18: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

XHTML-­‐виджетыjs  api  для  облегчения  жизни

— Позволяет  получать  настройки  виджета,  некоторые  свойства  (локаль,  домен,  etc)

— Определяет  методы-­‐хелперы,  например  для  установки  высоты  виджета

— Событие  о  загрузке  виджета

18

Page 19: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

Десерт:  о  XHTML-­‐виджете

19

Page 20: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

С  чего  начать?

— Понять,  что  виджет  будет  делать

— Понять,  для  кого  будет  делается

— Понять,  откуда  будут  браться  данные

— Понять,  как  данные  будут  отображаться

Выбрать  тип  виджета

20

Page 21: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xmlns:widget="http://wdgt.yandex.ru/ns/"> <head> <meta name="title" content="Hello, World"/> <meta name="description" content="Показывает строку Hello, world!"/> </head> <body style="background: transparent; margin: 0px;"> Hello, world! </body></html>

Как  устроен  XHTML-­‐виджет?Который  так  же  называется  XHTML-­‐виджет

21

Page 22: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xmlns:widget="http://wdgt.yandex.ru/ns/">

Как  устроен  XHTML-­‐виджет?

Эти  три  (четыре)  строчки  желательны  для  каждого  виджета

22

Page 23: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

<meta name="title" content="Hello, World"/>

<meta name="description" content="Показывает строку Hello, world!"/>

<meta name="titleURL" content="example.com"/>

<meta name="src" content="example.com/widget"/>

Как  устроен  XHTML-­‐виджет?

и  еще  несколько...

Свойства

23

Page 24: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

<widget:preferences><preference name=”myPef_text” type=”text” defaultValue=”myPef_text”/>

<preference name=” myPef_boolean” type=”boolean” defaultValue=”true”/>

</widget:preferences>

Как  устроен  XHTML-­‐виджет?

и  еще  несколько...

Настройки

24

Page 25: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

<meta name="title" content_{локаль}="..." />

Как  устроен  XHTML-­‐виджет?

Свойства  виджета:

<preference label_{локаль}="..." />

Настройки  виджета:

Локализация

25

Page 26: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

widget.adjustIFrameHeight()

js  api  для  XHTML-­‐виджетовПозволяет  делать  некоторые  вкусности,  например:

Автоподгон  высоты:

26

Page 27: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

widget.setIFrameHeight(25)

Позволяет  делать  некоторые  вкусности,  например:

Выставление  высоты:

js  api  для  XHTML-­‐виджетов

27

Page 28: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

Документация,  примерыи  еще  много  чего:

http://clck.ru/BkfG

28

Page 29: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

Дижестив:  пример

29

Page 30: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

Пример  виджета

http://clck.ru/MRCjКод Сам  виджет

http://clck.ru/MRDv

30

Page 31: Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"

разработчик  интерфейсов

feugenix@yandex-­‐team.ru

Евгений  Бордунов