Tomas Grails

Post on 10-May-2015

1.566 views 5 download

Tags:

Transcript of Tomas Grails

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

Life is too short for XML

Wednesday, 16 June 2010

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

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

Blue Ember Grills

Flex 3 &Grails

Wednesday, 16 June 2010

Suzuki Canada Flex 3 & Grails

Wednesday, 16 June 2010

Dan Aykroyd Wines HTML, CSS, Flex 3, Grails

Wednesday, 16 June 2010

Empora.com Content Management System Adobe AIRWednesday, 16 June 2010

Grails• An open source web framework inspired

by Rails and Django.

• http://www.grails.org

• Supported by VMWare / SpringSource

Wednesday, 16 June 2010

• Sky.com

• Walmart

• Wired

• LinkedIn

• Businessweek.in

• Suzuki.ca

• Tacobell.ca

• Deutsche Bank

Grails

Wednesday, 16 June 2010

4 cool things aboutGrails

Wednesday, 16 June 2010

Cool Thing #1: Ready to GoSpring Framework

Hibernate ( GORM )Quartz ( jobs )

Sitemesh ( layouts )Spring MVC ( webflow )Prototype / Scriptaculous

AntIvy

HSQLDBTomcat

Wednesday, 16 June 2010

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

original author of this slide is Marcel Overdijk -

TextText

Java . But also Groovy .

Wednesday, 16 June 2010

• Dynamic types using the def keyword

• Optional return types

• Everything is public by default

• Optional semicolons, parentheses

• Variable interpolation via GStrings

• Automatic setters and gettersoriginal author of this slide is Marcel Overdijk -

Wednesday, 16 June 2010

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

Cool Thing #3 : 426 Plugins

Wednesday, 16 June 2010

Cool Thing #4: Flex + Flash Integration

BlazeDSGraniteDS

Grails Flex ScaffoldOpenlaszlo

JW FLV Media LibrarysIFRRed5Video

Wednesday, 16 June 2010

Building a Grails application

( woohoo! )

Wednesday, 16 June 2010

Wednesday, 16 June 2010

Wednesday, 16 June 2010

Wednesday, 16 June 2010

Grails Flex Scaffold

• Developed by Cubika in Argentina

• Flex 3, Cairngorm, Stark Security

@eapfel

Wednesday, 16 June 2010

Wednesday, 16 June 2010

BlazeDS plugin

• Developed by Sébastien Arbogast

• BlazeDS, Spring-Flex Integration

• Spring Security

@ sarbogast

Wednesday, 16 June 2010

Wednesday, 16 June 2010

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

Wednesday, 16 June 2010

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

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

Wednesday, 16 June 2010

• 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.

Flex / Grails Wish List

Wednesday, 16 June 2010

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

Learn More!

grails.org/booksWednesday, 16 June 2010

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

Questions?

Wednesday, 16 June 2010