Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Tomas Grails
1. What can Grails do for me?
An intro to Grails for Flex and Java
developers
Flex on Java Exchange, London, June, 2010
Tomas Lin ( @tomaslin )
Wednesday, 16 June 2010
2. Life is too short for
XML
Wednesday, 16 June 2010
3. Agenda
• Who is this guy?
• 4 Cool Things About Grails.
• Building a Grails app.
• Flex and Grails - grails flex scaffold demo.
• Flex and Grails - blazeds4 plugin demo
• Questions?
Wednesday, 16 June 2010
4. Who is this guy?
• Don’t worry, I’m not trying to sell you anything.
• Currently a senior developer at DMC digital
• Java / UI Developer since 2000.
• Worked with Grails and Flex for about 2.5 years.
• Canadian citizen born in Taiwan, raised in
Guatemala and working in the UK.
Wednesday, 16 June 2010
5. Blue
Ember
Grills
Flex 3 &
Grails
Wednesday, 16 June 2010
9. Grails
• An open source web framework inspired
by Rails and Django.
• http://www.grails.org
• Supported by VMWare / SpringSource
Wednesday, 16 June 2010
10. Grails
• Sky.com
• Walmart
• Wired
• LinkedIn
• Businessweek.in
• Suzuki.ca
• Tacobell.ca
• Deutsche Bank
Wednesday, 16 June 2010
12. Cool Thing #1: Ready to Go
Spring Framework
Hibernate ( GORM )
Quartz ( jobs )
Sitemesh ( layouts )
Spring MVC ( webflow )
Prototype / Scriptaculous
Ant
Ivy
HSQLDB
Tomcat
Wednesday, 16 June 2010
13. Cool Thing #2 : Groovy
• Java’s best friend
• Dynamic JVM language with full support for
Java objects and libraries.
• Compiles to Java Bytecode.
• Closures, builders, dynamic typing, etc...
• More relaxed, script-like syntax
• Features of Smalltalk, Python, Ruby
Wednesday, 16 June 2010
14. Text
Text
Java . But also Groovy .
original author of this slide is Marcel Overdijk -
Wednesday, 16 June 2010
15. • Dynamic types using the def keyword
• Optional return types
• Everything is public by default
• Optional semicolons, parentheses
• Variable interpolation via GStrings
• Automatic setters and getters
original author of this slide is Marcel Overdijk -
Wednesday, 16 June 2010
16. Healthy ecosystem
• gPars - parallel processing
• Groovy++ - static typing
• Spock - data / behaviour driven testing and
specifications framework
• Gaelyk - lightweight web framework for the
Google App Engine
• Tellurium - automatic UI based testing
framework based on Selenium.
• Griffon - Swing / Desktop applications.
Wednesday, 16 June 2010
27. Web Services
• Sometimes we can’t use BlazeDS / AMF
• REST - built in content negotiation
• SOAP / WSDL - via plugins like XFire, CXF
or Spring WS
Wednesday, 16 June 2010
29. Notes
• The Java introspector in Flash Builder 4
does not work with Groovy classes, but
you can use the DTO plugin to
automatically generate Java DTOs and cast
between Java / Groovy.
• There are a few plugins that aid with
Hibernate LazyInitialization issues. Gorm
Labs, for example, dehydrates Hibernate
sessions before being sent across the wire.
• IDE Support is actually quite good. My
IntelliJ trial expired yesterday. STS and
Netbeans also do Grails.
Wednesday, 16 June 2010
30. Other uses.
• Tag libraries for embedding SWFs, providing
alternative content for SEO.
• Adding server side search via Lucene or Solr.
• Deployment platform for Amazon / App Engine.
• A nice proxy to bypass Flash Security restrictions.
• Backend glue to PHP / Clojure.
• Data import / massaging.
Wednesday, 16 June 2010
32. Flex / Grails Wish List
• Flash Builder extension for Grails
• UI Testing automation
• Integration with Model Driven
Development / LiveCycle services.
• A clear way to deal with Hibernate sessions.
• A way to template frameworks like Parsley,
Robotlegs or PureMVC
• Better integration with messaging options.
Wednesday, 16 June 2010
33. Why do I like Grails?
• Allows me to build backends to my Flex
applications quickly and effectively.
• Integrates well with existing Java libraries.
• Lets me try new things fairly risk free.
• Encourages modular development / re-use.
• Constantly getting better.
• Makes writing web applications fun.
Wednesday, 16 June 2010
35. Learn More!
• http://www.grails.org
• Come to the user group meetings.
• Third Monday every month. Here.
• Grails mailing list.
• twitter: @tomaslin
• email: tomaslin@gmail.com
Wednesday, 16 June 2010