Писать плагины проще простого!

Содержание

Слайд 2

О чем пойдет речь? Плаги́н (от англ. plug-in) — независимо компилируемый

О чем пойдет речь?

Плаги́н (от англ. plug-in) —
независимо компилируемый программный модуль,
динамически подключаемый к основной программе,

предназначенный для расширения ее возможностей.
Слайд 3

Системы, которые любят плагины Браузеры (Firefox, Chrome) Социальные сети и гаджеты

Системы, которые любят плагины

Браузеры (Firefox, Chrome)
Социальные сети и гаджеты (iGoogle, ВКонтакте)
Среды

разработки IDE (Eclipse, IntelliJ IDEA, VS)
Багтрекеры, корпоративные wiki (JIRA, Confluence)
CMS (WordPress, Joomla, Liferay)
Слайд 4

Зачем нужны плагины? Плюсы система легко расширяема плагины относительно безопасны (робастность)

Зачем нужны плагины?

Плюсы
система легко расширяема
плагины относительно безопасны (робастность)
плагины легко разрабатывать и

настраивать
рост комьюнити вокруг платформы
Минусы
зависимость от поставщиков при обновлениях платформы
возможны конфликты плагинов
Слайд 5

Когда нужно делать плагин? Нужно расширить функционал платформы Нужно внедрить сторонние

Когда нужно делать плагин?

Нужно расширить функционал платформы
Нужно внедрить сторонние наработки
Нужны деньги

☺ (Социальные «фермеры») (Balsamiq Mockups)
Просто интересно
Слайд 6

http://www.flickr.com/photos/lofink/4501610335/ Как это работает

http://www.flickr.com/photos/lofink/4501610335/

Как это работает

Слайд 7

http://www.flickr.com/photos/rufo_83/3154516530/ Дополняем Atlassian JIRA

http://www.flickr.com/photos/rufo_83/3154516530/

Дополняем Atlassian JIRA

Слайд 8

Как добиться такого эффекта?

Как добиться такого эффекта?

Слайд 9

Немного о терминологии Тэг web-item - новый URL в веб-интерфейсе основной

Немного о терминологии

Тэг web-item - новый URL в веб-интерфейсе основной системы
Тэг

web-section - новый раздел в веб-интерфейсе основной системы
Тэг servlet - стандартный Java сервлет
Тэг gadget - новый гаджет
Тэг rest - опубликовать REST API сервис
И немало других тэгов
Слайд 10

Усложним задачу

Усложним задачу

Слайд 11

Что нового в конфигурации?

Что нового в конфигурации?

Слайд 12

Сборка, зависимости

Сборка, зависимости

Слайд 13

Добавим немного Velocity

Добавим немного Velocity

Слайд 14

Open Social гаджеты от Atlassian

Open Social гаджеты от Atlassian

Слайд 15

Как выглядит гаджет

Как выглядит гаджет

Слайд 16

Гаджет изнутри

Гаджет изнутри

Слайд 17

Добавим REST

Добавим REST

Слайд 18

Гаджет Atlassian – это плагин Atlassian

Гаджет Atlassian – это плагин Atlassian

Слайд 19

Добавим гаджет в репозитарий Atlassian

Добавим гаджет в репозитарий Atlassian

Слайд 20

Где публиковать плагины? App Store Atlassian Plugin Exchange Google Chrome Extensions …

Где публиковать плагины?

App Store
Atlassian Plugin Exchange
Google Chrome Extensions

Слайд 21

В заключение… Плагины очень популярны и столкнуться с ними все равно

В заключение…

Плагины очень популярны и столкнуться с ними все равно придется
Писать

OSGi плагины и гаджеты в действительности не очень сложно
У Atlassian накоплен богатый опыт и очень хорошая документация по плагинописанию и плагиновнедрению (http://confluence.atlassian.com)
Многие плагины с исходными кодами доступны в репозитории Atlassian (https://plugins.atlassian.com)
Русифицированные плагины (http://www.teamlead.ru/display/JIRA/JIRA+plugins)