47
Grails Plugins verwenden und selber entwickeln Marc Guillemot | Freelancer

WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Embed Size (px)

Citation preview

Page 1: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Grails Plugins verwenden und selber entwickeln

Marc Guillemot | Freelancer

Page 2: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Herzlich Willkommen!

Marc Guillemot Freiberuflicher Softwareentwickler Java / Groovy / Grails Open Source:

– Hauptentwickler von HtmlUnit & WebTest

– Groovy Committer http://www.efficient-webtesting.com Blog: http://mguillem.wordpress.com

Page 3: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Agenda

Grails Plugins verwenden– Plugins Quelle

– Plugins installieren und verwenden

– Kurze Plugins Vorstellung Grails Plugins selber entwickeln

– Warum?

– Was kann man machen?

– Wie: Live Beispiel

Page 4: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Grails

Web Framework Groovy Open Source Konvention statt Konfiguration DRY ("Don't Repeat Yourself"). ... Plugins

Page 5: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Grails Plugin

Grails kann nicht alles enthalten Ein Plugin fügt neue Funktionalitäten ein Idealerweise:

– nicht intrusiv

– folgt Grails Prinzipien• Konvention statt Konfiguration• DRY

Page 6: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Grails Plugin Befehle

grails list-plugins grails plugin-info pluginName grails install-plugin pluginName [version]

grails create-plugin [pluginName] grails package-plugin grails release-plugin

Page 7: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Plugins Quelle

http://www.grails.org/Plugins

Page 8: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

http://www.grails.org/Plugins

Page 9: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

10.10.06 18.01.07 28.04.07 06.08.07 14.11.07 22.02.08 01.06.08 09.09.08 18.12.080

20

40

60

80

100

120

140

Immer mehr Plugins

Start vonhttp://www.grails.org/Plugins

Letzte Woche: 124 Plugins

Page 10: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

10.10.06 18.01.07 28.04.07 06.08.07 14.11.07 22.02.08 01.06.08 09.09.08 18.12.080

20

40

60

80

100

120

140

Immer mehr Plugins

Start vonhttp://www.grails.org/Plugins

Letzte Woche: 124 Plugins

Als Vergleich:über 1200 Ruby on Rails Pluginsauf http://agilewebdevelopment.com

Page 11: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Grosse Unterschiede in der Qualität

Veraltete Plugins– ex: Radeox plugin „requires grails 0.5.5”

Verdoppelungen– ex: FCK editor plugin <> FCKeditor plugin

“Brutkasten” für Grails– ex: Testing Plugin wird integriert in Grails 1.1

Page 12: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Zu viele Plugins für diese Präsentation!

Über 120 Plugins 30 Minuten

Page 13: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Zu viele Plugins für diese Präsentation!

Über 120 Plugins 30 Minuten

=> 15 Sek. / Plugin!!!

Page 14: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Eine kleine Plugins Auswahl

XFire Plugin Mail Plugin Quartz Plugin (natürlich) ClamAV Plugin FCKeditor plugin (natürlich) WebTest Plugin

Page 15: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Xfire Plugin

(demo)

Page 16: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Xfire Plugin

(demo)aber auch:● Remoting Plugin● XML-RPC Plugin● Apache Axis2 Plugin● Metro Plugin

Page 17: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Mail Plugin

Page 18: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Mail Plugin

Methode addiert beim Plugin zu allen Controllers

Page 19: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Quartz Plugin

Page 20: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Quartz Plugin

● Neue Artefakten:● Jobs in grails-app/jobs

● Neue Befehle:● grails create-job● grails install-quartz-config

Page 21: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

ClamAV Plugin

Page 22: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

ClamAV Plugin

Neue Constraint

Page 23: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

FCKeditor Plugin

Page 24: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

FCKeditor Plugin

Page 25: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

FCKeditor Plugin

Tag vom Plugin

Page 26: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

FCKeditor Plugin

Page 27: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Canoo WebTest Plugin

Page 28: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln
Page 29: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln
Page 30: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Persönliche Empfehlungen

Immer prüfen, ob ein Plugin für das aktuelle Vorhaben existiert

Wenn ja:– experimentieren

– Plugin erweitern wenn nötig

– oder Plugin als Basis für die eigene Entwicklung verwenden

Kontributionen sind immer Willkommen

Page 31: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Plugins selber entwickeln

Page 32: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Plugins selber entwickeln: warum?

Wiederverwendung vom Code– Beispiele:

• Anbindung an ein internes System• Einfache Verwendung von einem existierendem Tool

Trennung von Applikationsteilen=> reduziert Kompilationabhängikeiten

=> einfachere & wartbarere Code

Page 33: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Was kann ein Plugin tun?

Alles oder fast alles Typischerweise:

– neue Services, Views, Taglibs, ..

– neue dynamische Methoden

– eigene Artifakte

– neue Skripte

– ...

Page 34: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Plugin Idee

„Grails Log4J Output verbessern”

Page 35: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln
Page 36: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Log Level

Page 37: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Log Level

Klassen Namen

Page 38: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Log Level

Klassen Namen

die Meldungen

Page 39: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Log Level

Klassen Namen

die Meldungen

Ziemlich unlesbar!

Page 40: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln
Page 41: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln
Page 42: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Die Plugin Idee

?

Page 43: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

(demo)

Page 44: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Plugin Struktur

(demo)

Page 45: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

(erste Ergebnisse)

Page 46: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Persönliche Wunschliste

Support für Plugins Entwicklung innerhalb eines anderen Projekts

Besserer Testing Support Mehr Helfermethoden für die Installation

(source & lib Path erweitern, i18n Dateien kopieren, ...)

Page 47: WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln

Fragen?