SlideShare a Scribd company logo
1 of 34
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

More Related Content

What's hot

“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 - BioJohn Head
 
Domino app dev competitive advantage final
Domino app dev competitive advantage finalDomino app dev competitive advantage final
Domino app dev competitive advantage finalJohn 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 AdvantageJohn Head
 
Michael Adobe Flex Java 1 London
Michael Adobe Flex Java 1 LondonMichael Adobe Flex Java 1 London
Michael Adobe Flex Java 1 LondonSkills 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 blugJohn Head
 
Google html5 Tutorial
Google html5 TutorialGoogle html5 Tutorial
Google html5 Tutorialjobfan
 
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 DominoStephan 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 connectionsLetsConnect
 
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 EverywhereStephan H. Wissel
 

What's hot (16)

Html5 Taller Campus Party Vfinal2l
Html5 Taller Campus Party Vfinal2lHtml5 Taller Campus Party Vfinal2l
Html5 Taller Campus Party Vfinal2l
 
“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 David Head - Bio
John David Head - BioJohn David Head - Bio
John David Head - Bio
 
Domino app dev competitive advantage final
Domino app dev competitive advantage finalDomino app dev competitive advantage final
Domino app dev competitive advantage final
 
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
 
Michael Adobe Flex Java 1 London
Michael Adobe Flex Java 1 LondonMichael Adobe Flex Java 1 London
Michael Adobe Flex Java 1 London
 
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...
 
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...
 
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
 
Html5
Html5Html5
Html5
 
Google html5 Tutorial
Google html5 TutorialGoogle html5 Tutorial
Google html5 Tutorial
 
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...
 
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
 
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...
 
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
 
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
 

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

Introduction to Flex
Introduction to FlexIntroduction to Flex
Introduction to Flexnamero999
 
Introduction to Microsoft Silverlight
Introduction to Microsoft SilverlightIntroduction to Microsoft Silverlight
Introduction to Microsoft SilverlightGlen Gordon
 
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 overviewSubin Sugunan
 
The Evolution of the Flash Platform
The Evolution of the Flash PlatformThe Evolution of the Flash Platform
The Evolution of the Flash PlatformPeter Elst
 
Adobe Flex builder by elmagnif
Adobe Flex builder  by elmagnifAdobe Flex builder  by elmagnif
Adobe Flex builder by elmagnifmbaye 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 FlexMatthias Zeller
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupMurat 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 WebColin Loretz
 
Afik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex IntroAfik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex IntroAlphageeks
 
Lightning In The Clouds
Lightning In The CloudsLightning In The Clouds
Lightning In The Cloudsgeorge.james
 
Osvrt Na Adobe Max 2009
Osvrt Na Adobe Max 2009Osvrt Na Adobe Max 2009
Osvrt Na Adobe Max 2009Ivan Ilijasic
 
AN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXAN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXJoseph Labrecque
 
Widget Workshop Advanced Development
Widget Workshop Advanced DevelopmentWidget Workshop Advanced Development
Widget Workshop Advanced DevelopmentDominik Helleberg
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Webmasuland
 
Adobe Max 2009 - Learnings
Adobe Max 2009 -  LearningsAdobe Max 2009 -  Learnings
Adobe Max 2009 - Learningsziblu
 

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
 
Introduction to Microsoft Silverlight
Introduction to Microsoft SilverlightIntroduction to Microsoft Silverlight
Introduction to Microsoft Silverlight
 
Adobe's RIA Technologies (non technical)
Adobe's RIA Technologies (non technical)Adobe's RIA Technologies (non technical)
Adobe's RIA Technologies (non technical)
 
Adobe flex an overview
Adobe flex  an overviewAdobe flex  an overview
Adobe flex an overview
 
The Evolution of the Flash Platform
The Evolution of the Flash PlatformThe Evolution of the Flash Platform
The Evolution of the Flash Platform
 
Flex and Java
Flex and JavaFlex and Java
Flex and Java
 
Adobe Flex builder by elmagnif
Adobe Flex builder  by elmagnifAdobe Flex builder  by elmagnif
Adobe Flex builder by elmagnif
 
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
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client Roundup
 
Flex in portal
Flex in portalFlex in portal
Flex in portal
 
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
 
Afik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex IntroAfik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex Intro
 
Lightning In The Clouds
Lightning In The CloudsLightning In The Clouds
Lightning In The Clouds
 
Osvrt Na Adobe Max 2009
Osvrt Na Adobe Max 2009Osvrt Na Adobe Max 2009
Osvrt Na Adobe Max 2009
 
Adobe Flex
Adobe FlexAdobe Flex
Adobe Flex
 
AN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXAN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEX
 
Widget Workshop Advanced Development
Widget Workshop Advanced DevelopmentWidget Workshop Advanced Development
Widget Workshop Advanced Development
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
 
Adobe Flex
Adobe FlexAdobe Flex
Adobe Flex
 
Adobe Max 2009 - Learnings
Adobe Max 2009 -  LearningsAdobe Max 2009 -  Learnings
Adobe Max 2009 - Learnings
 

More from 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
 

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

Recently uploaded

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Recently uploaded (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

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 tomaslin@gmail.com 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: tomaslin@gmail.com • 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 • tomaslin@gmail.com • http://www.flexongrails.com Thursday, 10 December 2009