46
1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de [email protected] Version: Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015 1.0 Groovy und Grails – Quo vadis? © 2015 Orientation in Objects GmbH Über mich 2 Falk Sippach Trainer, Berater, Entwickler Schwerpunkte Architektur Agile Softwareentwicklung Codequalität

Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: [email protected] Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

1

Orientation in Objects GmbH

Weinheimer Str. 6868309 Mannheim

[email protected]:

Groovy und GrailsQuo vadis?

Berlin Expert Days 201517.09.2015

1.0

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Über mich

2

Falk Sippach

Trainer, Berater, Entwickler

SchwerpunkteArchitektur

Agile SoftwareentwicklungCodequalität

Page 2: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

2

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Java, XML und Open Source seit 1998

) Competence Center)) Object Rangers )

• Schulungen , Coaching , Weiterbildungsberatung , Train & Solve-Programme

• Methoden , Standards und Tools für die Entwicklung von offenen, unternehmens-weiten Systemen

• Unterstützung laufenderJava Projekte

• Perfect Match• Rent-a-team• Coaching on the project• Inhouse Outsourcing

• Schlüsselfertige Realisierungvon Java Software

• Individualsoftware• Pilot- und Migrationsprojekte• Sanierung von Software• Software Wartung

) Software Factory )

3

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Abstract

4

Das Jahr 2015 begann turbulent für die beiden bekanntestenProjekte aus dem Groovy Universum. Von der bisherigen"Mutter" Pivotal den Laufpass erhalten, musste sich Groovyauch noch auf die Suche nach einem neuen Zuhause begebenund ist letztlich bei Apache fündig geworden. All dieseUnsicherheiten haben die neuen Features der Releases 2.4(Groovy) bzw. 3.0 (Grails) ziemlich in den Hintergrundgedrängt. Dabei sind die Projekte lebendiger denn je und vorallem schon längst reif für den produktiven Einsatz.

Wir werden uns die wichtigsten und interessantestenNeuerungen der vergangenen Releases anschauen undnatürlich auch einen Ausblick auf die Zukunft und Roadmapswagen.

Page 3: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

3

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Gliederung

• Motivation + Politisches• Groovy

• Grails

• Ausblick

5

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Warum Groovy und Grails?

• Groovy-Fan seit 1.0 (2006)

• 5+ Jahre Projekterfahrung mit Grails

6

Foto von alankotok, available under a CC0 Public Domain license.

Page 4: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

4

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Aber es ist ruhig geworden …

7

Öffentliche Aufmerksamkeit tendiert gefühlt gegen Null !

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Zu alt?

8

Sind Groovy und Grailsnicht mehr hip genug?

Page 5: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

5

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Erklärungsversuch 1

9

Grafik von Idotter, available under aCreative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license.

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Erklärungsversuch 2

10

Who the fuck is Regina?

Regina – "Gut Ding will Weile haben"

Page 6: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

6

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Groovy in Action

Gehen wir zurück ins Jahr 2007

11

GinA

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Zwei Jahre später: viele Neuerungen mit 1.5 - 1.7

12

Planung einer zweiten Auflage von GinA:

ReGinA war geboren

Und eine lange "Leidensgeschichte"

begann …

Page 7: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

7

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Anfänglicher Optimismus

13

Hi all,announcing the start of MEAP for June (2009)…

Anyway, this summer is the time where we will do the majority of the work on the second edition and you can expect the MEAP progressing rather quickly. …

thanks for you understandingDierk

https://forums.manning.com/posts/list/18629.page

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH 14

Groovy in Action, 2. Auflage (ReGinA)

JUNI 2015!JUNI 2015!

Page 8: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

8

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH 15

Foto von StepanFoto, available under a CC0 Public Domain license.

Januar 2015

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Was war passiert? (19.01.2015)

16

http://blog.pivotal.io/pivotal/news-2/groovy-2-4-and-grails-3-0-to-be-last-major-releases-under-pivotal-sponsorship

Groovy 2.4 And Grails 3.0 To Be Last Major Releases Under Pivotal Sponsorship

The decision … is part of Pivotal’s larger strategy to concentrate resources on … its growing traction in

Platform-as-a-Service, Data, and Agile development .

Pivotal has determined that the time is right to let further development …be led by other interested

parties … who can best serve the goals ...

Page 9: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

9

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Historie

Groovy Grails

2003 Projektstart

2005 Projektstart

2006 1.0

2007 G2One

2008 1.0

2008 SpringSource

2009 VMware

2013 Pivotal

2015 ??? ???

17

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Zeitliche Einordnung Groovy/Grails

18

Grafik von Idotter, available under aCreative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license.

2007

2009

2011 2015

1

2

Page 10: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

10

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Pivotal versucht gut aus der Sache rauszukommen

19

Folge des Vert.x Desasters?

Schonfrist von knapp 3 Monaten

Unterstützung bei Sponsorsuche

Hosting von grails.org auch nach 31.03.

http://www.heise.de/developer/meldung/VMware-beansprucht-Copyright-an-Vert-x-Projekt-1779511.html

Frist bis

31.03.2015

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Rückzug von Pivotal: Auswirkungen auf Tools

20

Gradle entwickelt jetzt eigenes Eclipse-Plugin

Groovy/Grails Toolsuite (Eclipse) eingestelltaber weiterhin https://github.com/groovy/groovy-eclipseGrails 3.0 benötigt kein spezielles Eclipse-Plugin mehr

Page 11: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

11

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Wenn man sowieso am Boden liegt …

• Codehaus schließt

• gestartet 2003

• 2015 der Übermacht von Github und Co. gebeugt– http://www.codehaus.org/history/

• Groovy braucht einen neuen Hosting Service– Source-Repo sowieso schon bei Github– aber Jira, Homepage, Wiki, ...

21

CODEHAUSCODEHAUSCODEHAUSCODEHAUS

Foto von OpenClipartVectors, available under a CC0 Public Domain license.

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Groovy goes Apache

22

Aufnahme im Inkubator

24.03.2015

• 5 Mentoren• 5 initiale Committer• neue Mailinglisten• Jira-Tickets verschoben• neues Git-Repo• weitere Committer

By kOchstudiO [Public domain], via Wikimedia Commons

Page 12: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

12

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Historie

Groovy Grails

2003 Projektstart

2005 Projektstart

2006 1.0

2007 G2One

2008 1.0

2008 SpringSource

2009 VMware

2013 Pivotal

2015 2.4 (Apache) ???

23

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Grails has a New Home at OCI

24

Object Computing, Inc.

St. Louis, MO

http://www.ociweb.com

Page 13: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

13

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Historie

Groovy Grails

2003 Projektstart

2005 Projektstart

2006 1.0

2007 G2One

2008 1.0

2008 SpringSource

2009 VMware

2013 Pivotal

2015 2.4 (Apache) 3.0 (OCI)

25

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Jeweils 3 Core Committer waren bei Pivotal

26

Grafik von ClkerFreeVectorImages, available under a CC0 Public Domain license.

Page 14: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

14

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Who is Groovy?

• interessante Statistik der Committer

• insgesamt 100+ Committer seit 2003

• Sieger: Paul King (nicht bezahlt)

27

http://melix.github.io/blog/2015/02/who-is-groovy.html

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Gliederung

• Motivation + Politisches

• Groovy• Grails

• Ausblick

28

Page 15: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

15

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Glück gehabt …

29

"I can honestly say if someone had shown

me the Programming in Scala book by

Martin Odersky, Lex Spoon & Bill Venners

back in 2003 I'd probably have never

created Groovy."James Strachan

http://macstrac.blogspot.de/2009/04/scala-as-long-term-replacement-for.html

2003 Projektstart Scala

2008 Programming in Scala

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Dynamische Skriptsprache

30

ausdrucksstarke Syntax

mächtige Bibliotheken

Meta-Programmierung

=

+

+

Page 16: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

16

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Hauptprinzipien von Groovy

31

Featurereich

Java-freundlich

Dynamisch

Robuste Plattform

1

2

3

4

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Kritik an Groovy

32

Foto von ashishacoway, available under a CC0 Public Domain license.

schwache dynamische Typisierung

fehlende Tool-Unterstützung (Refactoring)

Fehler erst zur Laufzeit

Ignorieren der Kapselung

Performance

Page 17: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

17

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH 33

Foto von Unsplash, available under a CC0 Public Domain license.

ermöglicht Runtime-Metaprogrammierung

Dynamische Typisierung ist ein Feature

AlternativenAlternativen@TypeChecked und @CompileStatic

AST-Transformation

Traits

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Weakly != Dynamic Typing

34

Venkat Subramaniam: "Programming Groovy" (Pragmatic Programmers)

Strong

Weak

Dynamic Static

Ruby

Javascript

Perl

Java

C#

C/C++

Groovy

Scala

"gar keine"Prüfung

Page 18: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

18

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

An die Kette nehmen - Statische Typüberprüfung

35

@TypeChecked

class MeineKlasse {

def meineMethode1() {

// nur statisch getypter Code erlaubt

}

@TypeChecked(TypeCheckingMode.SKIP)

def meineMethode2() {

// dynamisch getypter Code möglich

}

}

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Fehler erst zur Laufzeit

36

ChancenChancenSyntax wunderbar geeignet

Mocking-Framework eingebaut

DSLs: Spock, Geb, …

Foto von carloscuellito87, available under a CC0 Public Domain license.

Sicherheitsnetz durch Tests

Page 19: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

19

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Performance: stetige Verbesserungen

37

@TypeChecked

@CompileStatic

class MeineKlasse {

[..]

}

Fibonacci Pi quadrature Binary trees

Java 191 ms 97 ms 3.6 s

Groovy 2.x: StaticCompilation

197 ms 101 ms 4.3 s

Groovy 1.8: Primitive optimizations

360 ms 111 ms 23,7 s

Groovy 1.7: No primitive optimizations

2590 ms 3220 ms 50 s

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Coole Groovy Features - Top 5

38

Konzentration auf kleine, nützliche Funktionen

Rein subjektiv

Warum nur 5?

Keine Reihenfolge

Foto von Ben_Kerckx, available under a CC0 Public Domain license.

Page 20: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

20

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Meine Top 5 Groovy Features

39

XyzSlurper/Parser4

Foto von Ben_Kerckx, available under a CC0 Public Domain license.

Multiline Strings/GStrings1

Elvis Operator2

Objektnavigation/Dereferenzieren3

Power Asserts5

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Releases Groovy

40

Januar 2013

November 2013

Mai 2014

Februar 2015

???

2.1

2.2

2.3

2.4

3.0

Page 21: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

21

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Groovy Neuerungen

41

neue AST-Transformationen 2.x

Traits 2.3

Android Support 2.4

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

AST Transformationen

42

2.x

"Built-in" Lombok (schon seit 1.6)

viele fertige

selbst erweiterbar

@Singleton @Immutable @Lazy

@TypeChecked @Compilestatic @Immutable

@Grab @Synchronized …

Page 22: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

22

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Beispiel: @Builder

@Builder

class Person {

String firstName, lastName

int age

}

def person = Person.builder()

.firstName("Dieter")

.lastName("Develop")

.age(21)

. build()

assert person.firstName == "Dieter"

assert person.lastName == "Develop"

43

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Traits

trait Fahrbar {

int geschwindigkeit

void fahren() {

println "Fahren mit " +

"${geschwindigkeit} km/h!"

}

}

class Bobbycar implements Fahrbar {}

// 100 km/h

new Bobbycar(geschwindigkeit:100).fahren()

44

2.3

Java 8

Java 8

Page 23: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

23

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Konflikte bei Mehrfachvererbung

trait A {String exec() { 'A' }

}

trait B extends A {String exec() { 'B' }

}

trait C extends A {String exec() { 'C' }

}

class D implements B, C {}

def d = new D() assert d.exec() == ' C'

45

Last wins!

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Manuelles Auflösen Mehrfachvererbung

class D implements B, C {

String exec() { B.super.exec() }

}

def d = new D()

assert d.exec() == ' B'

46

Page 24: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

24

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Bauen von Android Apps mit Groovy

47

prägnantere Syntax als Java

2.4

schlanker weniger Boilerplate-Code als mit Java

SwissKnife-Bibliothek (AST-Transformationen)

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Gliederung

• Motivation + Politisches

• Groovy

• Grails• Ausblick

48

Page 25: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

25

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Groovy auf Schienen

49

Inspiriert durch Ruby on Rails

Aber mittlerweile eigenständiges,

gestandenesFramework!

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Schmerzen klassische Java (Web) Frameworks

Editieren von Konfigurations-

dateien

Anpassen der web.xml

Konfiguration Dependency

Injection

frickeligeBuildskripte

Änderungen an den Seitenlayouts

Neustarts nach Änderungen

50

Page 26: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

26

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Hauptprinzipien von Grails

51

Produktivität

Einfachheit

Erweiterbarkeit

Stabile Basis

1

2

3

4

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Grails Schichtenmodell

52

Domänenmodell

Services

Controller / Views

DB

Fullstack

austauschbar (NoSQL, …)

Page 27: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

27

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Technologien in Grails

53

Spring Hibernate Sitemesh

Grails

Java Virtual Machine

Java

Anwendung

Groovy

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Kritik an Grails

54

Stacktraces

Aktualität der Plugins

Abwärtskompatibilität/Upgrades

Problematisch in großen Projekten

Page 28: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

28

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Große Projekte

55

schwierig bei Misch-Maschvon Java und Groovy- Entwicklern

Festlegen projektübergreifender Code-Conventions

hohe Testabdeckung

80/20 Regel 80 % funktionieren in Grails super (CRUD, ...)

20 % sind umständlicher, aber nicht unlösbar

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Aufwand bei Upgrades

56

leider ja

Aber es gibt einen Migrationsguide!

Möglichst frühzeitig upgraden!

Page 29: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

29

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Aktualität der Plugins

57

Plugins der Core-Entwickler sind gut• werden gewartet• schnelle Upgrades bei neuen Grails-Versionen

Hände weg von 3rd-Party-Plugins …• mit vielen offenen Bugs• ohne nennenswerte Aktivitäten

Grails 3 macht einige Plugins obsolet

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH 58

Stacktraces

Page 30: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

30

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Meine Top 5 Grails Features

59

Automatische DI1

Validation2

Tag Libs3

CRUD-Methoden4

Where Queries5

Foto von geralt, available under a CC0 Public Domain license.

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Releases Grails

60

Dezember 2012

September 2013

Mai 2014

März 2015

Herbst 2015

2.2

2.3

2.4

3.0

3.1

2.5

Page 31: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

31

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Grails Neuerungen

61

Basis Spring Boot 3.0

Interceptor API 3.0

Gradle als Buildsystem 3.0

API Redesign mit Traits 3.0

Anwendungsprofile 3.0

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Basis Spring Boot

• Spring 4.1 + Spring Boot 1.2

62

keine IDE-Unterstützung notwendig

ohne Container start- und debugbar

lauffähige JAR (Container eingebettet)

Page 32: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

32

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Interceptor API löst Grails Filter ab

• Eigener Interceptor implementiert Interceptor Trait

• 3 Methoden: before, after, afterView– vor der Controller-Action– nach Aufruf der Action– nach dem die View gerendert wurde

• Convention over Configuration: Namenskonvention– BookInterceptor für BookController

63

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Applikationsprofile

• ähnlich Java EE Profilen (Web, Full, ...)

• Profil kapselt die Anwendungsstruktur– Kommandos– Plugins– Skeletons, Templates– Ressourcen

grails create-app myapp --profile=web-plugin

• Default: Web-Profil– Projektstruktur für Webanwendung

64

Page 33: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

33

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Applikationsprofile

• Verwaltung in einem Repository (USER_HOME/.grails/repository)

• Profil = Verzeichnis mit folgender Struktur

65

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Gradle als Build-System

• Build-Management-Integration eines Grails-Projekts in eine Projektlandschaft war ziemliche Qual

• properitäres und fehleranfälliges Gant ist Geschichte

• Ivy ist Geschichte (eigener Dependency Resolver)

• keine IDE mit speziellen Grails-Plugins mehr nötig– nur Gradle-Support notwendig– theoretisch reichen die Commandline + Sublime/Atom/Vi/Emacs/...

66

Page 34: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

34

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

API-Redesign mit Traits

67

Compiletime-Metaprogrammierung

Stabilität

weiterhin Flexibiltät

Schnittstellen aufgeräumt (grails.* vs. org.grails.*)

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Gliederung

• Motivation + Politisches

• Groovy

• Grails

• Ausblick

68

Page 35: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

35

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH 69

Foto von PublicDomainPictures, available under a CC0 Public Domain license.

Schon reif für den Java Framework Friedhof?

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH 70

https://speakerdeck.com/glaforge/groovy-state-of-the-union-gr8conf-europe-2015

Aussage vom Groovy-Projektleiter

Page 36: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

36

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH 71

Foto von Efraimstochter, available under a CC0 Public Domain license.

Stärken und Grenzen von Groovy und Grails kennen

Wahl haben – bewusst entscheiden

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Szenarien Groovy

72

Scripting

Testen (Spock, Geb, …)

DSLs (Gradle, …)

Admin-Konsole (Java EE Apps)

Grails

Page 37: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

37

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Szenarien Grails

73

Prototyping

(kleine) Intranetanwendungen

Microservices

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Großes Ökosystem

74

Page 38: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

38

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Große Community

Konferenzen

• GR8Conf Europe (Kopenhagen ) + GR8Conf US

• Greach (Spanien)

Podcasts

• http://groovypodcast.podbean.com/

Weekly Newsletter

• http://www.groovy-lang.org/groovy-weekly.html

Stackoverflow und aktive Mailinglisten

75

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Roadmap Grails

76

Foto von Unsplash, available under a CC0 Public Domain license.

eigentlich angekündigt für Juni 2015

Page 39: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

39

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Roadmap Grails - Last update

77

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Roadmap nun offiziell

78

Profile-Support ausbauen Repos, AngularJS-Profil

REST-Support ausbauen REST-Profil, JSON-Erweiterungen

Hibernate 5 und MongoDB 3.0 in GORM

3.1

3.2

Non Blocking IO

Non Blocking GORM

3.3

Hadoop YARN Profil

HBase, Cassandra

Page 40: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

40

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

OCI gibt Gas

79

Sponsor und Auftritteauf Konferenzen

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Ab auf die Überholspur …

80

Page 41: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

41

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Roadmap Groovy

• neues Meta-Object Protokoll

• Laufzeit auf Basis von Invoke Dynamic

• Sprachgrammatik neu in Antlr v4

81

http://de.slideshare.net/SpringCentral/groovy-in-2014andbeyond

Plan vor Abschied von Pivotal (2014)

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Prioritäten haben sich geändert

82

erstes Release nach Apache Richtlinien

• 2.4.4 vom 16.07.2015

(enthält wichtiges Sicherheitsupdate)

kleinere Änderungen für 2.5 geplant • AST-Transformationen• GDK-Verbesserungen

Page 42: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

42

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Was passiert mit größeren Vorhaben?

83

Rewrite MOP in 3.0

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Können sich diese Firmen irren?

84

http://groovy-lang.org/

Page 43: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

43

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

And the winner is Grails …

85

http://de.slideshare.net/hamedhatami2012/curious-coders-java-web-frameworks-comparison

Studie von ZeroTurnaround/RebelLabsvon 2013/2014 ?

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

Zudem steigende ...

86

https://speakerdeck.com/glaforge/groovys-history-and-current-status

Page 44: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

44

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

... Downloadzahlen

87

https://speakerdeck.com/glaforge/groovys-history-and-current-status

• nur Maven Central• es fehlen Codehaus + Bintray

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH

JULI

20154,5

MILLIONEN

DOWNLOADS

Explodierende Downloadzahlen

88

Page 45: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

45

Groovy und Grails – Quo vadis?© 2015 Orientation in Objects GmbH 89

Foto von tpsdave, available under a CC0 Public Domain license.

still rock!still rock!&&

Orientation in Objects GmbH

Weinheimer Str. 6868309 Mannheim

[email protected]

??

? ?

????

Fragen ?

90

Page 46: Groovy und Grails Quo vadis? · 1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: info@oio.de Groovy und Grails Quo vadis? Berlin Expert Days 2015 17.09.2015

46

Orientation in Objects GmbH

Weinheimer Str. 6868309 Mannheim

[email protected]

Vielen Dank für ihre Aufmerksamkeit !