SlideShare a Scribd company logo
Building Killer
                 RIAs
          with Flex & Grails
                                          Tomas Lin
                                     tomaslin@gmail.com
                                 http://www.flexongrails.com
                             Groovy Grails Exchange, London 2009
                                           London


Thursday, 10 December 2009
Tomas Lin
         • 2 years experience w/ Flex, Air and Grails
         • Senior Web Developer at fashion search portal
           http://www.empora.com
         • Twitter: tomaslin
         • Email: tomaslin@gmail.com
         • Blog : http://fbflex.wordpress.com




Thursday, 10 December 2009
Tomas Lin
                   • born in Taiwan
                   • grew up in Guatemala
                   • studied in the US
                   • Canadian citizen
                   • living in London




Thursday, 10 December 2009
Some Projects in Flex
                            and Grails




Thursday, 10 December 2009
Blue
      Ember
      Grills

Thursday, 10 December 2009

http://www.blueembergrills.com
Suzuki.ca
Thursday, 10 December 2009

http://www.suzuki.ca
Dan
                                 Aykroyd
                                 Wines




Thursday, 10 December 2009
http://www.danaykroydwines.com
Agenda
                 • What is Flex?
                 • Why use Flex?
                 • Flex and Grails
                 • Fun + Exciting Demo
                 • Questions




Thursday, 10 December 2009
Rich Internet
                              Application
                   • Marketing term by Macromedia
                   • Program that lives on the browser but
                     behaves like a desktop app.
                   • Rich client, web application, etc...




Thursday, 10 December 2009
This is Flex.
                                                             Flex:




Thursday, 10 December 2009
Flex is a product by Adobe. It is based on Flash platform technology.

Originally, it was intended to build Rich Internet Applications ---- programs that live on a web browser but behave like they do on a desktop.

But it has been extended beyond that.
UX / Graphic Designer
                                                                                                                            User Interface Designer




                  Flex / Front-End Developer                                                                               Backend/Grails Developer



                                       Tools & workflow
Thursday, 10 December 2009
Flex provides tools to marry the pretty pictures created by UX / Graphic designers with the services built by back end developers.

It sits between all the server side code and what an end user sees.

Tools it provides are branded under Flash - Flash Catalyst and Flash Builder.

In a typical flow,
   the graphic designer builds a pretty picture,
   the front end designer converts this pretty pictures into components via Flash Catalyst
   the front end developer binds these components to backend data
Flex Components
Thursday, 10 December 2009
At the core, Flex is about developing programs in the form of interrelated components.

Flex core provides tables, layoutmanagers, datagrids and chart similar to what you would find on YUI and jQuery.

These components are data-driven and can be highly interactive and graphic.
Programming Languages
                           MXML                                                                                 HTML
                         ActionScript                                                                         JavaScript
                             CSS                                                                                 CSS
                             FXG                                                                                 SVG
   Flex                                                                                                               Web
 Developer                                                                                                          Developer




Thursday, 10 December 2009
Despite the Flash branding, Flex is a lot closer to JavaScript and HTML than traditional Flash dev.

There is no Flash movie clips or timelines.

MXML / ActionScript are core languages.

FXG is a SVG-like language introduced in Flex 4 that letʼs you use the output of graphic programs as skins.
Runtimes
       Code                                                                        Flash

                                           .swf

                                                          .air
                                                                                                           AIR


       SDK
                                                           .???


                                                                                                               Slider



Thursday, 10 December 2009
The most powerful feature of Flex is that you can take the HTML/Javascript code you wrote and deploy it into multiple runtimes via the Flex SDK.

Flash ( Window Browser )
AIR ( Desktop )
Slider ( iPhone and Mobile - coming next year )
Data Services ( Choices )
                        • BlazeDS
                        • Adobe Livecycle DS
                        • GraniteDS
                        • SOAP, REST, XML, JSON
                        • RubyAMF, PhpAMF

                                                            PROTOCOLS
                        • AMF
                        • RTMP
Thursday, 10 December 2009
Flex provides ways to connect to different web services.

The key here is choice. For some deployments like GAE BlazeDS wonʼt work. Integration / Tooling.

                    • AMF
BlazeDS and LiveCycle are both from Adobe. It allows you to connect a J2EE stack. Remote procedure calls, messaging and now modelling.

GraniteDS is open source alternative. But also does SOAP, REST, etc.

2 Protocols by Adobe:

AMF - messaging and RPC format
RTMP - streaming and peer to peer
Agenda

                   • What is Flex?
                   • Why use Flex?
                   • Flex and Grails
                   • Fun + Exciting Demo.
                   • Questions?




Thursday, 10 December 2009
Hit a lot of screens




Thursday, 10 December 2009
In the corporate world, 50% of users are still on internet explorer 6.

Flex letʼs you build a user experience using similar technologies but runs like the JVM.

Piggibacks the popularity of Flash video streaming.
Thursday, 10 December 2009
Do Cool Stuff ( no ie6 )




                                                                         http://ge.ecomagination.com/smartgrid/

Thursday, 10 December 2009
Also allows access for more sophisticated graphics and device support.

Example is augmented reality -> using microphone and webcam.

More recently added multi-touch support and basic 3D.
Multi-platform
                                                development
                      tweetdeck




                                                                                                                                                            Balsamiq Mockup




                                                                       Ebay Desktop
Thursday, 10 December 2009
As mentioned before, you write your code once and can share these components across desktop, browser and mobile.

Some examples of desktop applications

With Air 2.0 beta, you can call native methods. There is a demo out there embedding tomcat into an air app. Instead of Grails.exe and Grails.app, you can write Grails.air and be done with .
A lot of components




                                                                                             > TOUR DE FLEX



Thursday, 10 December 2009
Because Flash has been around for so long, there is extensive support for itʼs components.

Flex can use and embed Flash components and communicate with it ( AS 2 / AS 3 ).

Somethings easier to do in Flash / Flex -> Google image swirl, Street view.
Many Libraries




                                                                                         pixel bender
                     degrafa

                                                  box2d
Thursday, 10 December 2009
There is a really healthy and big open source community for flex / flash. Itʼs used by the big media companies and digital agencies.

3D engines - papervision / away3d
physics engines - box2d
image - degrafa / pixel bender
mvc frameworks - mate / puremvc
DI - Swiz
flexMonkey
                                                                         UI-testing



                                                                       Selenium-Flex
                                                                          FlexUnit

  fxSpy
 Firebug




                                                       De Monster Debugger
Thursday, 10 December 2009

There are also a large amount of open source tools including IDEs, profilers, Test Automation
tools and things like Selenium-Flex that let you integrate Flex.

Books, user groups, etc. There are 3 user groups in London for Flex, one for Grails.

It’s a very well known, viable technology that can be used to enrich any architecture and help
build high quality products quickly.

Free videos and books from Adobe. Adobe TV. Not a fringe technology. Used by many banks
and financial institutions.
Agenda

                  • What is Flex?
                  • Why use Flex?
                  • Flex and Grails
                  • Fun + Exciting Demo.
                  • Questions?




Thursday, 10 December 2009
Grails + Flex = Voltron.
Gaps in Flex
                   • What do we use for the server?
                   • Horrendous HTML support for Flash.
                     ( Air embeds Webkit - HTML5 )
                   • Not SEO/iphone friendly.
                   • Crippled and complex security model.
                   • Gigantic files




Thursday, 10 December 2009
HTML Integration
                                                                                                                               Flex
                                                                                            HTML /gsp

                                                                                                                               Flex

                                                                                                        Flex

                                                                                            HTML /gsp




Thursday, 10 December 2009
Overcomes some of the limitations of pure flex on the browser -

limited HTML renderer ( AIR has Webkit ) -> Grails and simple layouts / gsps makes it easy to embed and make into templates.

Also helps overcome many security issues via groovy proxy.
Graceful Degradation
       <ak:wineSelector model=”${wineList}”/>




                                                                                                                                    Flex         html


                                                                                                                                         Alt. Content


                                                                                                                                          Data

Thursday, 10 December 2009
Letʼs you take components further.

Flex components can be visually stunning but functionally stunted. Grails can help aggregate web functionality into Flex applications.

Example here is SEO.
The Server Gap

                    • Flex ( BlazeDS )
                    • GraniteDS
                    • Flex Grails Scaffold
                    • Flash Player
                    • OpenLaszlo


                               • Searchable, Selenium RC, Build Test
                                 Data, Datasources, Tomcat, etc...
Thursday, 10 December 2009
Easy plugin integration - Convention over Configuration. BlazeDS is ridiculously difficult to set up properly.

Also provides good server side services not available to Flex -> Search, PDF generation, reports, data export, testing, etc.
Deployment Platform




              • Google App Engine + Google Wave + waveas3
Thursday, 10 December 2009

It’s an awesome deployment platform.

Google App Engine + Wave example. Gadget + Robot.
Agenda

                  • What is Flex?
                  • Why use Flex?
                  • Flex and Grails
                  • Fun + Exciting Demo.
                  • Questions?




Thursday, 10 December 2009
Iʼve talked a bunch about Flex, letʼs look at how the workflow that I talked about before actually works in practice and build a simple application.
Thursday, 10 December 2009
More Neat Stuff
               • BlazeDS, AMF and Channel Pub/Sub
               • Spring-Flex Integration
               • Java Instrospection via BlazeDS
               • Model Driven Development with Adobe
                 Fiber




Thursday, 10 December 2009
Questions?




Thursday, 10 December 2009
Muchas Gracias
                   • twitter: tomaslin
                   • tomaslin@gmail.com
                   • http://www.flexongrails.com




Thursday, 10 December 2009
Ad

More Related Content

What's hot (16)

Html5 Taller Campus Party Vfinal2l
Html5 Taller Campus Party Vfinal2lHtml5 Taller Campus Party Vfinal2l
Html5 Taller Campus Party Vfinal2l
José Manuel Cantera Fonseca
 
“Kum Bah Yah” meets “Lets Kick Butt” : The Integration of IBM Lotus Notes and...
“Kum Bah Yah” meets “Lets Kick Butt” : The Integration of IBM Lotus Notes and...“Kum Bah Yah” meets “Lets Kick Butt” : The Integration of IBM Lotus Notes and...
“Kum Bah Yah” meets “Lets Kick Butt” : The Integration of IBM Lotus Notes and...
John Head
 
John David Head - Bio
John David Head - BioJohn David Head - Bio
John David Head - Bio
John Head
 
Domino app dev competitive advantage final
Domino app dev competitive advantage finalDomino app dev competitive advantage final
Domino app dev competitive advantage final
John Head
 
MWLUG 2011: Notes/Domino Application Development Competitive Advantage
MWLUG 2011: Notes/Domino Application Development Competitive AdvantageMWLUG 2011: Notes/Domino Application Development Competitive Advantage
MWLUG 2011: Notes/Domino Application Development Competitive Advantage
John Head
 
Michael Adobe Flex Java 1 London
Michael Adobe Flex Java 1 LondonMichael Adobe Flex Java 1 London
Michael Adobe Flex Java 1 London
Skills Matter
 
AD111 - The X Path: Practical guide to taking your IBM Lotus Notes applicatio...
AD111 - The X Path: Practical guide to taking your IBM Lotus Notes applicatio...AD111 - The X Path: Practical guide to taking your IBM Lotus Notes applicatio...
AD111 - The X Path: Practical guide to taking your IBM Lotus Notes applicatio...
Stephan H. Wissel
 
AD114 - Don't be afraid of curly brackets reloaded - even more JavaScript for...
AD114 - Don't be afraid of curly brackets reloaded - even more JavaScript for...AD114 - Don't be afraid of curly brackets reloaded - even more JavaScript for...
AD114 - Don't be afraid of curly brackets reloaded - even more JavaScript for...
Stephan H. Wissel
 
Domino app dev competitive advantage for blug
Domino app dev competitive advantage for blugDomino app dev competitive advantage for blug
Domino app dev competitive advantage for blug
John Head
 
Html5
Html5Html5
Html5
uutttlan
 
Google html5 Tutorial
Google html5 TutorialGoogle html5 Tutorial
Google html5 Tutorial
jobfan
 
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
John Head
 
AD107 Microsoft SharePoint meets IBM Lotus Domino
AD107 Microsoft SharePoint meets IBM Lotus DominoAD107 Microsoft SharePoint meets IBM Lotus Domino
AD107 Microsoft SharePoint meets IBM Lotus Domino
Stephan H. Wissel
 
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
John Head
 
Social connections - content management for ibm connections
Social connections - content management for ibm connectionsSocial connections - content management for ibm connections
Social connections - content management for ibm connections
LetsConnect
 
AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere
AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them EverywhereAD106 - IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere
AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere
Stephan H. Wissel
 
“Kum Bah Yah” meets “Lets Kick Butt” : The Integration of IBM Lotus Notes and...
“Kum Bah Yah” meets “Lets Kick Butt” : The Integration of IBM Lotus Notes and...“Kum Bah Yah” meets “Lets Kick Butt” : The Integration of IBM Lotus Notes and...
“Kum Bah Yah” meets “Lets Kick Butt” : The Integration of IBM Lotus Notes and...
John Head
 
John David Head - Bio
John David Head - BioJohn David Head - Bio
John David Head - Bio
John Head
 
Domino app dev competitive advantage final
Domino app dev competitive advantage finalDomino app dev competitive advantage final
Domino app dev competitive advantage final
John Head
 
MWLUG 2011: Notes/Domino Application Development Competitive Advantage
MWLUG 2011: Notes/Domino Application Development Competitive AdvantageMWLUG 2011: Notes/Domino Application Development Competitive Advantage
MWLUG 2011: Notes/Domino Application Development Competitive Advantage
John Head
 
Michael Adobe Flex Java 1 London
Michael Adobe Flex Java 1 LondonMichael Adobe Flex Java 1 London
Michael Adobe Flex Java 1 London
Skills Matter
 
AD111 - The X Path: Practical guide to taking your IBM Lotus Notes applicatio...
AD111 - The X Path: Practical guide to taking your IBM Lotus Notes applicatio...AD111 - The X Path: Practical guide to taking your IBM Lotus Notes applicatio...
AD111 - The X Path: Practical guide to taking your IBM Lotus Notes applicatio...
Stephan H. Wissel
 
AD114 - Don't be afraid of curly brackets reloaded - even more JavaScript for...
AD114 - Don't be afraid of curly brackets reloaded - even more JavaScript for...AD114 - Don't be afraid of curly brackets reloaded - even more JavaScript for...
AD114 - Don't be afraid of curly brackets reloaded - even more JavaScript for...
Stephan H. Wissel
 
Domino app dev competitive advantage for blug
Domino app dev competitive advantage for blugDomino app dev competitive advantage for blug
Domino app dev competitive advantage for blug
John Head
 
Google html5 Tutorial
Google html5 TutorialGoogle html5 Tutorial
Google html5 Tutorial
jobfan
 
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
John Head
 
AD107 Microsoft SharePoint meets IBM Lotus Domino
AD107 Microsoft SharePoint meets IBM Lotus DominoAD107 Microsoft SharePoint meets IBM Lotus Domino
AD107 Microsoft SharePoint meets IBM Lotus Domino
Stephan H. Wissel
 
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
John Head
 
Social connections - content management for ibm connections
Social connections - content management for ibm connectionsSocial connections - content management for ibm connections
Social connections - content management for ibm connections
LetsConnect
 
AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere
AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them EverywhereAD106 - IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere
AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere
Stephan H. Wissel
 

Similar to Talk by Tomas Lin on Building Killer RIAs with Flex and Grails at the Groovy & Grails eXchange 2009 (20)

Introduction to Flex
Introduction to FlexIntroduction to Flex
Introduction to Flex
namero999
 
Download full ebook of Flex on Java Bernerd Allmon instant download pdf
Download full ebook of Flex on Java Bernerd Allmon instant download pdfDownload full ebook of Flex on Java Bernerd Allmon instant download pdf
Download full ebook of Flex on Java Bernerd Allmon instant download pdf
chauvyzhugli
 
Introduction to Microsoft Silverlight
Introduction to Microsoft SilverlightIntroduction to Microsoft Silverlight
Introduction to Microsoft Silverlight
Glen Gordon
 
Download full ebook of Flex on Java Bernerd Allmon instant download pdf
Download full ebook of Flex on Java Bernerd Allmon instant download pdfDownload full ebook of Flex on Java Bernerd Allmon instant download pdf
Download full ebook of Flex on Java Bernerd Allmon instant download pdf
bzuraklaasoq
 
Adobe's RIA Technologies (non technical)
Adobe's RIA Technologies (non technical)Adobe's RIA Technologies (non technical)
Adobe's RIA Technologies (non technical)
Cyril Hanquez
 
Adobe flex an overview
Adobe flex  an overviewAdobe flex  an overview
Adobe flex an overview
Subin Sugunan
 
The Evolution of the Flash Platform
The Evolution of the Flash PlatformThe Evolution of the Flash Platform
The Evolution of the Flash Platform
Peter Elst
 
Flex and Java
Flex and JavaFlex and Java
Flex and Java
gueste65db38
 
Adobe Flex builder by elmagnif
Adobe Flex builder  by elmagnifAdobe Flex builder  by elmagnif
Adobe Flex builder by elmagnif
mbaye camara
 
Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe Flex
Matthias Zeller
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client Roundup
Murat Yener
 
Flex in portal
Flex in portalFlex in portal
Flex in portal
Sunil Patil
 
Adobe Flex: Creating Widgets for the Desktop and Web
Adobe Flex: Creating Widgets for the Desktop and WebAdobe Flex: Creating Widgets for the Desktop and Web
Adobe Flex: Creating Widgets for the Desktop and Web
Colin Loretz
 
Afik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex IntroAfik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex Intro
Alphageeks
 
Lightning In The Clouds
Lightning In The CloudsLightning In The Clouds
Lightning In The Clouds
george.james
 
Osvrt Na Adobe Max 2009
Osvrt Na Adobe Max 2009Osvrt Na Adobe Max 2009
Osvrt Na Adobe Max 2009
Ivan Ilijasic
 
Adobe Flex
Adobe FlexAdobe Flex
Adobe Flex
Mullaikani Karthikeyan
 
Widget Workshop Advanced Development
Widget Workshop Advanced DevelopmentWidget Workshop Advanced Development
Widget Workshop Advanced Development
Dominik Helleberg
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
masuland
 
Adobe Flex
Adobe FlexAdobe Flex
Adobe Flex
Momentum Design Lab
 
Introduction to Flex
Introduction to FlexIntroduction to Flex
Introduction to Flex
namero999
 
Download full ebook of Flex on Java Bernerd Allmon instant download pdf
Download full ebook of Flex on Java Bernerd Allmon instant download pdfDownload full ebook of Flex on Java Bernerd Allmon instant download pdf
Download full ebook of Flex on Java Bernerd Allmon instant download pdf
chauvyzhugli
 
Introduction to Microsoft Silverlight
Introduction to Microsoft SilverlightIntroduction to Microsoft Silverlight
Introduction to Microsoft Silverlight
Glen Gordon
 
Download full ebook of Flex on Java Bernerd Allmon instant download pdf
Download full ebook of Flex on Java Bernerd Allmon instant download pdfDownload full ebook of Flex on Java Bernerd Allmon instant download pdf
Download full ebook of Flex on Java Bernerd Allmon instant download pdf
bzuraklaasoq
 
Adobe's RIA Technologies (non technical)
Adobe's RIA Technologies (non technical)Adobe's RIA Technologies (non technical)
Adobe's RIA Technologies (non technical)
Cyril Hanquez
 
Adobe flex an overview
Adobe flex  an overviewAdobe flex  an overview
Adobe flex an overview
Subin Sugunan
 
The Evolution of the Flash Platform
The Evolution of the Flash PlatformThe Evolution of the Flash Platform
The Evolution of the Flash Platform
Peter Elst
 
Adobe Flex builder by elmagnif
Adobe Flex builder  by elmagnifAdobe Flex builder  by elmagnif
Adobe Flex builder by elmagnif
mbaye camara
 
Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe Flex
Matthias Zeller
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client Roundup
Murat Yener
 
Adobe Flex: Creating Widgets for the Desktop and Web
Adobe Flex: Creating Widgets for the Desktop and WebAdobe Flex: Creating Widgets for the Desktop and Web
Adobe Flex: Creating Widgets for the Desktop and Web
Colin Loretz
 
Afik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex IntroAfik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex Intro
Alphageeks
 
Lightning In The Clouds
Lightning In The CloudsLightning In The Clouds
Lightning In The Clouds
george.james
 
Osvrt Na Adobe Max 2009
Osvrt Na Adobe Max 2009Osvrt Na Adobe Max 2009
Osvrt Na Adobe Max 2009
Ivan Ilijasic
 
Widget Workshop Advanced Development
Widget Workshop Advanced DevelopmentWidget Workshop Advanced Development
Widget Workshop Advanced Development
Dominik Helleberg
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
masuland
 
Ad

More from 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
Skills Matter
 
Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applications
Skills 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 jvm
Skills 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 manheim
Skills 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 cucumberl
Skills 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.js
Skills 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 world
Skills 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_testing
Skills Matter
 
Russ miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveRuss miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-dive
Skills Matter
 
Serendipity-neo4j
Serendipity-neo4jSerendipity-neo4j
Serendipity-neo4j
Skills Matter
 
Simon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSimon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelism
Skills Matter
 
Plug 20110217
Plug   20110217Plug   20110217
Plug 20110217
Skills Matter
 
Lug presentation
Lug presentationLug presentation
Lug presentation
Skills 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_t
Skills Matter
 
Plug saiku
Plug   saikuPlug   saiku
Plug saiku
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 Lawrence
Skills Matter
 
Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applications
Skills 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 jvm
Skills 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 manheim
Skills 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 cucumberl
Skills 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.js
Skills 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 world
Skills 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_testing
Skills Matter
 
Russ miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveRuss miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-dive
Skills Matter
 
Simon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSimon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelism
Skills 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_t
Skills Matter
 
Ad

Recently uploaded (20)

"PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System""PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System"
Jainul Musani
 
"Rebranding for Growth", Anna Velykoivanenko
"Rebranding for Growth", Anna Velykoivanenko"Rebranding for Growth", Anna Velykoivanenko
"Rebranding for Growth", Anna Velykoivanenko
Fwdays
 
Automation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From AnywhereAutomation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From Anywhere
Lynda Kane
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
Lynda Kane
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Buckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug LogsBuckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug Logs
Lynda Kane
 
Hands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordDataHands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordData
Lynda Kane
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Asthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdfAsthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdf
VanessaRaudez
 
"PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System""PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System"
Jainul Musani
 
"Rebranding for Growth", Anna Velykoivanenko
"Rebranding for Growth", Anna Velykoivanenko"Rebranding for Growth", Anna Velykoivanenko
"Rebranding for Growth", Anna Velykoivanenko
Fwdays
 
Automation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From AnywhereAutomation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From Anywhere
Lynda Kane
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
Lynda Kane
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Buckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug LogsBuckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug Logs
Lynda Kane
 
Hands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordDataHands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordData
Lynda Kane
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Asthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdfAsthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdf
VanessaRaudez
 

Talk by Tomas Lin on Building Killer RIAs with Flex and Grails at the Groovy & Grails eXchange 2009

  • 1. Building Killer RIAs with Flex & Grails Tomas Lin [email protected] http://www.flexongrails.com Groovy Grails Exchange, London 2009 London Thursday, 10 December 2009
  • 2. Tomas Lin • 2 years experience w/ Flex, Air and Grails • Senior Web Developer at fashion search portal http://www.empora.com • Twitter: tomaslin • Email: [email protected] • Blog : http://fbflex.wordpress.com Thursday, 10 December 2009
  • 3. Tomas Lin • born in Taiwan • grew up in Guatemala • studied in the US • Canadian citizen • living in London Thursday, 10 December 2009
  • 4. Some Projects in Flex and Grails Thursday, 10 December 2009
  • 5. Blue Ember Grills Thursday, 10 December 2009 http://www.blueembergrills.com
  • 6. Suzuki.ca Thursday, 10 December 2009 http://www.suzuki.ca
  • 7. Dan Aykroyd Wines Thursday, 10 December 2009 http://www.danaykroydwines.com
  • 8. Agenda • What is Flex? • Why use Flex? • Flex and Grails • Fun + Exciting Demo • Questions Thursday, 10 December 2009
  • 9. Rich Internet Application • Marketing term by Macromedia • Program that lives on the browser but behaves like a desktop app. • Rich client, web application, etc... Thursday, 10 December 2009
  • 10. This is Flex. Flex: Thursday, 10 December 2009 Flex is a product by Adobe. It is based on Flash platform technology. Originally, it was intended to build Rich Internet Applications ---- programs that live on a web browser but behave like they do on a desktop. But it has been extended beyond that.
  • 11. UX / Graphic Designer User Interface Designer Flex / Front-End Developer Backend/Grails Developer Tools & workflow Thursday, 10 December 2009 Flex provides tools to marry the pretty pictures created by UX / Graphic designers with the services built by back end developers. It sits between all the server side code and what an end user sees. Tools it provides are branded under Flash - Flash Catalyst and Flash Builder. In a typical flow, the graphic designer builds a pretty picture, the front end designer converts this pretty pictures into components via Flash Catalyst the front end developer binds these components to backend data
  • 12. Flex Components Thursday, 10 December 2009 At the core, Flex is about developing programs in the form of interrelated components. Flex core provides tables, layoutmanagers, datagrids and chart similar to what you would find on YUI and jQuery. These components are data-driven and can be highly interactive and graphic.
  • 13. Programming Languages MXML HTML ActionScript JavaScript CSS CSS FXG SVG Flex Web Developer Developer Thursday, 10 December 2009 Despite the Flash branding, Flex is a lot closer to JavaScript and HTML than traditional Flash dev. There is no Flash movie clips or timelines. MXML / ActionScript are core languages. FXG is a SVG-like language introduced in Flex 4 that letʼs you use the output of graphic programs as skins.
  • 14. Runtimes Code Flash .swf .air AIR SDK .??? Slider Thursday, 10 December 2009 The most powerful feature of Flex is that you can take the HTML/Javascript code you wrote and deploy it into multiple runtimes via the Flex SDK. Flash ( Window Browser ) AIR ( Desktop ) Slider ( iPhone and Mobile - coming next year )
  • 15. Data Services ( Choices ) • BlazeDS • Adobe Livecycle DS • GraniteDS • SOAP, REST, XML, JSON • RubyAMF, PhpAMF PROTOCOLS • AMF • RTMP Thursday, 10 December 2009 Flex provides ways to connect to different web services. The key here is choice. For some deployments like GAE BlazeDS wonʼt work. Integration / Tooling. • AMF BlazeDS and LiveCycle are both from Adobe. It allows you to connect a J2EE stack. Remote procedure calls, messaging and now modelling. GraniteDS is open source alternative. But also does SOAP, REST, etc. 2 Protocols by Adobe: AMF - messaging and RPC format RTMP - streaming and peer to peer
  • 16. Agenda • What is Flex? • Why use Flex? • Flex and Grails • Fun + Exciting Demo. • Questions? Thursday, 10 December 2009
  • 17. Hit a lot of screens Thursday, 10 December 2009 In the corporate world, 50% of users are still on internet explorer 6. Flex letʼs you build a user experience using similar technologies but runs like the JVM. Piggibacks the popularity of Flash video streaming.
  • 19. Do Cool Stuff ( no ie6 ) http://ge.ecomagination.com/smartgrid/ Thursday, 10 December 2009 Also allows access for more sophisticated graphics and device support. Example is augmented reality -> using microphone and webcam. More recently added multi-touch support and basic 3D.
  • 20. Multi-platform development tweetdeck Balsamiq Mockup Ebay Desktop Thursday, 10 December 2009 As mentioned before, you write your code once and can share these components across desktop, browser and mobile. Some examples of desktop applications With Air 2.0 beta, you can call native methods. There is a demo out there embedding tomcat into an air app. Instead of Grails.exe and Grails.app, you can write Grails.air and be done with .
  • 21. A lot of components > TOUR DE FLEX Thursday, 10 December 2009 Because Flash has been around for so long, there is extensive support for itʼs components. Flex can use and embed Flash components and communicate with it ( AS 2 / AS 3 ). Somethings easier to do in Flash / Flex -> Google image swirl, Street view.
  • 22. Many Libraries pixel bender degrafa box2d Thursday, 10 December 2009 There is a really healthy and big open source community for flex / flash. Itʼs used by the big media companies and digital agencies. 3D engines - papervision / away3d physics engines - box2d image - degrafa / pixel bender mvc frameworks - mate / puremvc DI - Swiz
  • 23. flexMonkey UI-testing Selenium-Flex FlexUnit fxSpy Firebug De Monster Debugger Thursday, 10 December 2009 There are also a large amount of open source tools including IDEs, profilers, Test Automation tools and things like Selenium-Flex that let you integrate Flex. Books, user groups, etc. There are 3 user groups in London for Flex, one for Grails. It’s a very well known, viable technology that can be used to enrich any architecture and help build high quality products quickly. Free videos and books from Adobe. Adobe TV. Not a fringe technology. Used by many banks and financial institutions.
  • 24. Agenda • What is Flex? • Why use Flex? • Flex and Grails • Fun + Exciting Demo. • Questions? Thursday, 10 December 2009 Grails + Flex = Voltron.
  • 25. Gaps in Flex • What do we use for the server? • Horrendous HTML support for Flash. ( Air embeds Webkit - HTML5 ) • Not SEO/iphone friendly. • Crippled and complex security model. • Gigantic files Thursday, 10 December 2009
  • 26. HTML Integration Flex HTML /gsp Flex Flex HTML /gsp Thursday, 10 December 2009 Overcomes some of the limitations of pure flex on the browser - limited HTML renderer ( AIR has Webkit ) -> Grails and simple layouts / gsps makes it easy to embed and make into templates. Also helps overcome many security issues via groovy proxy.
  • 27. Graceful Degradation <ak:wineSelector model=”${wineList}”/> Flex html Alt. Content Data Thursday, 10 December 2009 Letʼs you take components further. Flex components can be visually stunning but functionally stunted. Grails can help aggregate web functionality into Flex applications. Example here is SEO.
  • 28. The Server Gap • Flex ( BlazeDS ) • GraniteDS • Flex Grails Scaffold • Flash Player • OpenLaszlo • Searchable, Selenium RC, Build Test Data, Datasources, Tomcat, etc... Thursday, 10 December 2009 Easy plugin integration - Convention over Configuration. BlazeDS is ridiculously difficult to set up properly. Also provides good server side services not available to Flex -> Search, PDF generation, reports, data export, testing, etc.
  • 29. Deployment Platform • Google App Engine + Google Wave + waveas3 Thursday, 10 December 2009 It’s an awesome deployment platform. Google App Engine + Wave example. Gadget + Robot.
  • 30. Agenda • What is Flex? • Why use Flex? • Flex and Grails • Fun + Exciting Demo. • Questions? Thursday, 10 December 2009 Iʼve talked a bunch about Flex, letʼs look at how the workflow that I talked about before actually works in practice and build a simple application.
  • 32. More Neat Stuff • BlazeDS, AMF and Channel Pub/Sub • Spring-Flex Integration • Java Instrospection via BlazeDS • Model Driven Development with Adobe Fiber Thursday, 10 December 2009
  • 34. Muchas Gracias • twitter: tomaslin • [email protected] • http://www.flexongrails.com Thursday, 10 December 2009