Flex Behavior Injection

2,836 views
2,704 views

Published on

With Flex behavior injection, developers can consider new perspectives and approaches to component development and implementing "rich user experiences".

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
  • It's cool!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
2,836
On SlideShare
0
From Embeds
0
Number of Embeds
1,209
Actions
Shares
0
Downloads
0
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Flex Behavior Injection

  1. 1. Thomas Burleson RUX Consultant http://www.gridlinked.info [email_address] Principal Architect www.universalmind.com www.spatialkey.com Flex Behavior Injection A New Perspective on Component Development 06/08/09 [email_address] http://www.linkedin.com/in/thomasburleson
  2. 2. <ul><li>Developing Flex applications is fun, challenging, and complex </li></ul><ul><li>Developing Flex RUX means: </li></ul>RIA Foundations <ul><ul><li>graphics, </li></ul></ul><ul><ul><li>skinning, </li></ul></ul><ul><ul><li>sophisticated components, and </li></ul></ul><ul><ul><li>user interactions . </li></ul></ul>06/08/09 [email_address]
  3. 3. Basics of Software Development <ul><li>Extend existing function with inheritance </li></ul><ul><li>Extend existing function with composition </li></ul><ul><li>Extend using interfaces [not discussed] </li></ul>06/08/09 [email_address] What are the traditional approaches to add & manage complexity in RIAs? Developers can…
  4. 4. Extending with Inheritance Using *.as classes 06/08/09 www.gridlinked.info/blog
  5. 5. Extending with Inheritance 06/08/09 www.gridlinked.info/blog Using *.MXML classes
  6. 6. Extending with Composition Using *.MXML classes 06/08/09 www.gridlinked.info/blog
  7. 7. What are the Downsides ? <ul><li>Cool functionality is specific to a component or its inheritance chain. </li></ul><ul><li>Cannot be easily reused in new components. </li></ul><ul><li>To easy to duplicate code with “copy-n-paste” </li></ul><ul><li>Requires source code </li></ul><ul><li>Is compile-time dependent </li></ul>06/08/09
  8. 8. RUX Solutions <ul><li>Many RIA applications require features for behaviors such as: </li></ul><ul><li>Zoom </li></ul><ul><li>Swap </li></ul><ul><li>Resizing </li></ul><ul><li>Drag-n-Drop </li></ul><ul><li>Minimize </li></ul><ul><li>Iconify </li></ul><ul><li>Layout Configurations </li></ul><ul><li>etc. </li></ul>How do we add such functionality during RUNTIME? How can we do this so the new functionality is reusable with almost ANY component? 06/08/09 www.gridlinked.info/blog
  9. 9. Runtime Behavior Injection <ul><li>Use special components that “ attach ” themselves to target component(s). </li></ul><ul><li>Can easily be applied to many [ any ] target; results are </li></ul><ul><li>amazing simplicity and reusability. </li></ul><ul><ul><li>Intercept and act as a “ proxy ” for the target(s) </li></ul></ul><ul><ul><li>Inject listeners to provide functionality for the target(s) </li></ul></ul>06/08/09 www.gridlinked.info/blog
  10. 10. Adobe Chart Dashboard <ul><li>Consider the sample Flex application below: </li></ul>06/08/09 www.gridlinked.info/blog
  11. 11. Adobe Chart Dashboard <ul><li>To add zooming features to for the charts, simply add the Zoomer component and set its ‘targets’ and trigger . No other code changes ! </li></ul><ul><li>Parenting, constraints, animation,… all handled by the Zoomer . </li></ul>06/08/09 www.gridlinked.info/blog
  12. 12. Sample: Adobe Chart Dashboard <ul><li>To add swap features to for the charts, simply add the Swapper component & set its ‘targets’. No other code changes ! </li></ul><ul><li>Parenting, constraints, animation,… all handled by the Swapper . </li></ul>06/08/09 www.gridlinked.info/blog
  13. 13. Past Projects http://www.linkedin.com/in/thomasburleson Thomas Burleson RUX Consultant http://www.gridlinked.info

×