Слайд 1Писать плагины проще простого!
@teamlead_spb
на примере продуктов Atlassian
Владимир Николаев
Компания Teamlead
Слайд 2О чем пойдет речь?
Плаги́н (от англ. plug-in) —
независимо компилируемый программный модуль,
динамически подключаемый к основной программе,
предназначенный для расширения ее возможностей.
Слайд 3Системы, которые любят плагины
Браузеры (Firefox, Chrome)
Социальные сети и гаджеты (iGoogle, ВКонтакте)
Среды
разработки IDE (Eclipse, IntelliJ IDEA, VS)
Багтрекеры, корпоративные wiki (JIRA, Confluence)
CMS (WordPress, Joomla, Liferay)
Слайд 4Зачем нужны плагины?
Плюсы
система легко расширяема
плагины относительно безопасны (робастность)
плагины легко разрабатывать и
настраивать
рост комьюнити вокруг платформы
Минусы
зависимость от поставщиков при обновлениях платформы
возможны конфликты плагинов
Слайд 5Когда нужно делать плагин?
Нужно расширить функционал платформы
Нужно внедрить сторонние наработки
Нужны деньги
☺ (Социальные «фермеры») (Balsamiq Mockups)
Просто интересно
Слайд 6http://www.flickr.com/photos/lofink/4501610335/
Как это работает
Слайд 7http://www.flickr.com/photos/rufo_83/3154516530/
Дополняем Atlassian JIRA
Слайд 8Как добиться такого эффекта?
Слайд 9Немного о терминологии
Тэг web-item - новый URL в веб-интерфейсе основной системы
Тэг
web-section - новый раздел в веб-интерфейсе основной системы
Тэг servlet - стандартный Java сервлет
Тэг gadget - новый гаджет
Тэг rest - опубликовать REST API сервис
И немало других тэгов
Слайд 14Open Social гаджеты от Atlassian
Слайд 18Гаджет Atlassian – это плагин Atlassian
Слайд 19Добавим гаджет в репозитарий Atlassian
Слайд 20Где публиковать плагины?
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)
Слайд 222
Вопросы?
Владимир Николаев
Разработчик
Компания Teamlead
vladimir@teamlead.ru
www.teamlead.ru | info@teamlead.ru | @teamlead_spb