Jfokus - Rocket Propelled Java

766 views
671 views

Published on

Jfokus - Rocket Propelled Java

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
766
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Jfokus - Rocket Propelled Java

  1. 1. ROCKETPROPELLEDJAVAANDRES ALMIRAYCANOO ENGINEERING A.G.@AALMIRAY
  2. 2. ABOUT THE SPEAKERJava developer since the beginningTrue believer in open sourceGroovy committer since 2007Project lead of the Griffon frameworkCurrently working for
  3. 3. PROJECT LOMBOK Where, Who, How? Why? ■  http://projectlombok.org/ ■  Get rid of boiler plate code ■  Reinier Zwitserloot ■  Compiler does the heavy @surial lifting ■  Roel Spilker @rspilker ■  Developers just have to write the essentials ■  Relies on JDK6’s Annotation Processor ■  Modifies Bytecode at compile time 3
  4. 4. HOW DOES IT LOOK? 4
  5. 5. ANNOTATIONS ■  @Getter / @Setter ■  @Cleanup ■  @ToString ■  @Synchronized ■  @EqualsAndHashCode ■  @SneakyThrows ■  @Log ■  @NoArgsConstructor ■  @Delegate ■  @AllArgsConstructor ■  @Data ■  @RequiredArgsConstruct or 5
  6. 6. LOMBOK-PG Where, Who, How Why? ■  https://github.com/ ■  Extends Lombok with peichhorn/lombok-pg/ additional annotations such ■  Philipp Eichhorn as: ■  peichhorn @ github ■  @Singleton ■  @FluentSetter ■  Delivers its own common ■  @Builder AST API ■  and more! ■  Easier to write cross compiler AST 6
  7. 7. GROOVY AST TRANSFORMATIONS Where, Who, How Why? ■  https:// ■  Groovy plays nicely with groovy.codehaus.org Java ■  The Groovy Team ■  Compile time metaprogramming executes faster than ■  Compile time runtime metaprogramming ■  Changes visible to other ■  Changes registered in the JVM languages bytecode 7
  8. 8. HOW DOES IT LOOK?The @Immutable AST transformation makes writingimmutable classes trivial
  9. 9. SOME ANNOTATIONS ■  @Bindable / @Vetoable ■  @Delegate ■  @Grab ■  @Log ■  @Immutable ■  @Synchronized ■  @AutoClone ■  @Singleton ■  @AutoExternalize ■  @ToString ■  @EqualsAndHashCode ■  @TypeChecked ■  @TupleConstructor ■  @CompileStatic ■  @Canonical ■  Plus many more! 9
  10. 10. THANKYOU!@AALMIRAYHTTP://PEOPLE.CANOO.COM/SHARE/

×