SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
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 AIR
Wednesday, 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
Grails
                          • Sky.com
                          • Walmart
                          • Wired
                          • LinkedIn
                          • Businessweek.in
                          • Suzuki.ca
                          • Tacobell.ca
                          • Deutsche Bank
Wednesday, 16 June 2010
4 cool things about
                                 Grails



Wednesday, 16 June 2010
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
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
Text
                                   Text




                          Java . But also Groovy .
                                              original author of this slide is Marcel Overdijk -
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 getters
                                                    original 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
                                     BlazeDS
                                   GraniteDS
                               Grails Flex Scaffold
                                  Openlaszlo
                              JW FLV Media Library
                                       sIFR
                                      Red5
                                      Video
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
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
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!




Wednesday, 16 June 2010
                          grails.org/books
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

Contenu connexe

Similaire à Tomas Grails

Mobile Development with uPortal and Infusion
Mobile Development with uPortal and InfusionMobile Development with uPortal and Infusion
Mobile Development with uPortal and Infusioncolinbdclark
 
iBizLog. Smalltalking the Web
iBizLog. Smalltalking the WebiBizLog. Smalltalking the Web
iBizLog. Smalltalking the WebESUG
 
Building Apps with PhoneGap
Building Apps with PhoneGap Building Apps with PhoneGap
Building Apps with PhoneGap alunny
 
Gaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume LaforgeGaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume LaforgeGuillaume Laforge
 
Realtime Apps with Django
Realtime Apps with DjangoRealtime Apps with Django
Realtime Apps with DjangoRenyi Khor
 
Red Dirt Ruby Conference
Red Dirt Ruby ConferenceRed Dirt Ruby Conference
Red Dirt Ruby ConferenceJohn Woodell
 
Introduction to go lang
Introduction to go langIntroduction to go lang
Introduction to go langAmal Mohan N
 
Breaking out of the endless callback look - #jsday Italy keynote
Breaking out of the endless callback look - #jsday Italy keynoteBreaking out of the endless callback look - #jsday Italy keynote
Breaking out of the endless callback look - #jsday Italy keynoteChristian Heilmann
 
BRAINREPUBLIC - Powered by no-SQL
BRAINREPUBLIC - Powered by no-SQLBRAINREPUBLIC - Powered by no-SQL
BRAINREPUBLIC - Powered by no-SQLAndreas Jung
 
Groovy 1 7 Update, past, present, future - S2G Forum 2010
Groovy 1 7 Update, past, present, future - S2G Forum 2010Groovy 1 7 Update, past, present, future - S2G Forum 2010
Groovy 1 7 Update, past, present, future - S2G Forum 2010Guillaume Laforge
 
jQuery Comes to XPages
jQuery Comes to XPagesjQuery Comes to XPages
jQuery Comes to XPagesTeamstudio
 
The State of WebSockets in Django
The State of WebSockets in DjangoThe State of WebSockets in Django
The State of WebSockets in DjangoRami Sayar
 
Go, Docker & Kubernetes
Go, Docker &  KubernetesGo, Docker &  Kubernetes
Go, Docker & KubernetesGlobant
 
02 Objective C
02 Objective C02 Objective C
02 Objective CMahmoud
 

Similaire à Tomas Grails (20)

Mobile Development with uPortal and Infusion
Mobile Development with uPortal and InfusionMobile Development with uPortal and Infusion
Mobile Development with uPortal and Infusion
 
iBizLog. Smalltalking the Web
iBizLog. Smalltalking the WebiBizLog. Smalltalking the Web
iBizLog. Smalltalking the Web
 
Acronym Soup
Acronym SoupAcronym Soup
Acronym Soup
 
Java to scala
Java to scalaJava to scala
Java to scala
 
Building Apps with PhoneGap
Building Apps with PhoneGap Building Apps with PhoneGap
Building Apps with PhoneGap
 
Gaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume LaforgeGaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume Laforge
 
Realtime Apps with Django
Realtime Apps with DjangoRealtime Apps with Django
Realtime Apps with Django
 
Red Dirt Ruby Conference
Red Dirt Ruby ConferenceRed Dirt Ruby Conference
Red Dirt Ruby Conference
 
Introduction to go lang
Introduction to go langIntroduction to go lang
Introduction to go lang
 
Railsconf 2010
Railsconf 2010Railsconf 2010
Railsconf 2010
 
Breaking out of the endless callback look - #jsday Italy keynote
Breaking out of the endless callback look - #jsday Italy keynoteBreaking out of the endless callback look - #jsday Italy keynote
Breaking out of the endless callback look - #jsday Italy keynote
 
Jsday
JsdayJsday
Jsday
 
BRAINREPUBLIC - Powered by no-SQL
BRAINREPUBLIC - Powered by no-SQLBRAINREPUBLIC - Powered by no-SQL
BRAINREPUBLIC - Powered by no-SQL
 
Groovy 1 7 Update, past, present, future - S2G Forum 2010
Groovy 1 7 Update, past, present, future - S2G Forum 2010Groovy 1 7 Update, past, present, future - S2G Forum 2010
Groovy 1 7 Update, past, present, future - S2G Forum 2010
 
App Engine Meetup
App Engine MeetupApp Engine Meetup
App Engine Meetup
 
jQuery Comes to XPages
jQuery Comes to XPagesjQuery Comes to XPages
jQuery Comes to XPages
 
HTML 5 - The Future is Now
HTML 5 - The Future is NowHTML 5 - The Future is Now
HTML 5 - The Future is Now
 
The State of WebSockets in Django
The State of WebSockets in DjangoThe State of WebSockets in Django
The State of WebSockets in Django
 
Go, Docker & Kubernetes
Go, Docker &  KubernetesGo, Docker &  Kubernetes
Go, Docker & Kubernetes
 
02 Objective C
02 Objective C02 Objective C
02 Objective C
 

Plus de Skills Matter

5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard Lawrence5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard LawrenceSkills Matter
 
Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applicationsSkills Matter
 
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmScala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmSkills Matter
 
Oscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimOscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimSkills Matter
 
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Skills Matter
 
Cukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberlCukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberlSkills Matter
 
Cukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.jsCukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.jsSkills Matter
 
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Skills Matter
 
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...Skills Matter
 
Progressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldProgressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldSkills Matter
 
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...Skills Matter
 
Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Skills Matter
 
A poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testingA poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testingSkills Matter
 
Russ miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveRuss miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveSkills Matter
 
Simon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSimon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSkills Matter
 
I went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tI went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tSkills Matter
 

Plus de Skills Matter (20)

5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard Lawrence5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard Lawrence
 
Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applications
 
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmScala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
 
Oscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimOscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheim
 
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
 
Cukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberlCukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberl
 
Cukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.jsCukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.js
 
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
 
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
 
Progressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldProgressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source world
 
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
 
Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#
 
A poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testingA poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testing
 
Russ miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveRuss miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-dive
 
Serendipity-neo4j
Serendipity-neo4jSerendipity-neo4j
Serendipity-neo4j
 
Simon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSimon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelism
 
Plug 20110217
Plug   20110217Plug   20110217
Plug 20110217
 
Lug presentation
Lug presentationLug presentation
Lug presentation
 
I went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tI went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_t
 
Plug saiku
Plug   saikuPlug   saiku
Plug saiku
 

Dernier

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 

Dernier (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

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
  • 6. Suzuki Canada Flex 3 & Grails Wednesday, 16 June 2010
  • 7. Dan Aykroyd Wines HTML, CSS, Flex 3, Grails Wednesday, 16 June 2010
  • 8. Empora.com Content Management System Adobe AIR 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
  • 11. 4 cool things about Grails 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
  • 17. Cool Thing #3 : 426 Plugins Wednesday, 16 June 2010
  • 18. Cool Thing #4: Flex + Flash Integration BlazeDS GraniteDS Grails Flex Scaffold Openlaszlo JW FLV Media Library sIFR Red5 Video Wednesday, 16 June 2010
  • 19. Building a Grails application ( woohoo! ) Wednesday, 16 June 2010
  • 23. Grails Flex Scaffold • Developed by Cubika in Argentina • Flex 3, Cairngorm, Stark Security @eapfel Wednesday, 16 June 2010
  • 25. BlazeDS plugin • Developed by Sébastien Arbogast • BlazeDS, Spring-Flex Integration • Spring Security @ sarbogast 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
  • 34. Learn More! Wednesday, 16 June 2010 grails.org/books
  • 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