Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Robotlegs AS3 from Flash and the City 2010

25,769 views

Published on

Slides from presentation on the Robotlegs AS3 Micro-Architecture at Flash and the City 2010 in New York

Published in: Technology

Robotlegs AS3 from Flash and the City 2010

  1. [robotlegs] for Actionscript 3
  2. Me Joel Hooks Robotlegs Enthusiast on the web www.joelhooks.com @jhooks email joelhooks@gmail.com
  3. Who Started Robotlegs? Shaun Smith Robotlegs Inventor find him shaun.boyblack.co.za @darscan
  4. Not to mention... Till Schneidereit SwiftSuspenders Maestro find him http://www.tillschneidereit.de/ @tschneidereit
  5. Contributors Robert Penner @robPenner Jonnie Hallman @DestroyToday Sean Hess @seanhess Craig Wickesser @codecraig and so many others have contributed to the community through support, ideas, and examples...
  6. What’s in it for me? the pitch
  7. What’s in it for me? do you need a a pure Actionscript 3 micro-architecture for flash, flex and air?
  8. What’s in it for me? are you using a framework but feel sad about...
  9. What’s in it for me? are you using a framework but feel sad about... casting
  10. What’s in it for me? are you using a framework but feel sad about... casting Singletons
  11. What’s in it for me? are you using a framework but feel sad about... casting Singletons service locators
  12. What’s in it for me? are you using a framework but feel sad about... casting Singletons service locators display list event bus
  13. What’s in it for me? do you want a better mechanism for...
  14. What’s in it for me? do you want a better mechanism for... wiring your objects together
  15. What’s in it for me? do you want a better mechanism for... wiring your objects together managing dependencies
  16. What’s in it for me? do you want a better mechanism for... wiring your objects together managing dependencies managing events
  17. What’s in it for me? do you want a better mechanism for... wiring your objects together managing dependencies managing events structured MVC
  18. Robotlegs is... a pure Actionscript 3 micro-architecture
  19. Robotlegs is... a pure Actionscript 3 micro-architecture robotlegs has no Flex framework dependencies.
  20. Robotlegs is... flash, flex, and air
  21. Robotlegs is... a mechanism for wiring objects together
  22. Robotlegs is... a mechanism for wiring objects together focused solely on this limited scope
  23. Robotlegs is... a mechanism for wiring objects together focused solely on this limited scope by providing kickass tools to get your job done
  24. Why Robotlegs? lightweight ~1100 lines of code...
  25. Why Robotlegs? automated dependency injection
  26. Why Robotlegs? automated dependency injection [Inject]
  27. Why Robotlegs? :ʼ( fight carpel tunnel
  28. Why Robotlegs? remove framework pain
  29. Why Robotlegs? MVC+S reference implementation
  30. Why Robotlegs? MVC+S reference implementation a little prescription goes a long way...
  31. Why Robotlegs? MVC+S reference implementation a little prescription goes a long way... but...
  32. Why Robotlegs? whatever you need it to be
  33. Why Robotlegs? whatever you need it to be highly extensible to support YOUR workflow and style
  34. Why Robotlegs? whatever you need it to be highly extensible to support YOUR workflow and style MVCS provides documentation and common ground for teams...
  35. Why Robotlegs? modular support
  36. Why Robotlegs? peer reviewed
  37. Why Robotlegs? objects communicate via native events
  38. Why Robotlegs? objects communicate via native events custom events with strongly typed properties
  39. Why Robotlegs? objects communicate via native events custom events with strongly typed properties or maybe you prefer AS3-Signals?
  40. Why Robotlegs? well documented
  41. Why Robotlegs? fully unit tested because your project is important.
  42. Why Robotlegs? stable strict semantic versioning http://semver.org/
  43. Why Robotlegs? welcoming community hi!
  44. Why Robotlegs? knowledge.robotlegs.org Community supported through Tender
  45. What Robotlegs isn’t...
  46. What Robotlegs isn’t...
  47. Where to Start? MVC+S reference implementation
  48. Robotlegs MVCS Implementation
  49. Robotlegs in Action Flickr Image Gallery Demo* *part of the Robotlegs Demo Bundle available here: http://github.com/robotlegs/robotlegs-demos-Bundle
  50. Robotlegs in Action GalleryView Component
  51. Robotlegs in Action GallerySearch Component
  52. Robotlegs in Action GalleryLabel Component
  53. Context Context initializes the framework
  54. Context
  55. Context Context provides an event bus
  56. Context Event Dispatcher Routes Events
  57. Context not limited to a single Context
  58. Context not limited to a single Context multiple Contexts for modular development
  59. Context not limited to a single Context multiple Contexts for modular development thereʼs a utility for that...
  60. Actor Actor is the base class for Model and Service classes
  61. Models and Services Extend Actor
  62. Actor eventDispatcher is injected into Actor
  63. Actor Actor provides a dispatch(event) method
  64. Actor Actor is for your convenience
  65. Model Models extend Actor
  66. Model Models provide an API for data
  67. Model
  68. Model Models sit between application data and other actors
  69. Model Models should not listen for framework events
  70. Model Models dispatch framework events
  71. Models Dispatch Events
  72. Service Services extend Actor
  73. Service Services communicate with the outside world and provides an API to external services
  74. Service
  75. Service Services can parse results from external services
  76. Service Services can parse results from external services foreign data should be converted at the first opportunity
  77. Service
  78. Service Services do not store data
  79. Service Services do not store data data is stored on a Model
  80. Service Services do not receive framework events
  81. Service Services dispatch framework events
  82. Services Dispatch Events
  83. View the View is represented by your view components and their Mediators
  84. View Mediators provide API for view components
  85. View Mediators provide API for view components to keep the framework out
  86. Mediators Access View Component APIs
  87. View
  88. View Mediators listen for view component events
  89. Mediators Listen to View Components
  90. View Mediators listen for framework events
  91. Mediators Listen for Events
  92. View Mediators dispatch framework events
  93. Mediators Dispatch Events
  94. View view components are not coupled to their Mediators
  95. View view components are not coupled to their Mediators or any other framework class
  96. View view components are not coupled to their Mediators or any other framework class period.
  97. View Mediators are coupled to their view components
  98. View Mediators can access Service and Model classes directly
  99. View Mediators can access Service and Model classes directly but this will couple the Mediator to the Actor
  100. Accessing Models and Services from Mediators (tread carefully)
  101. Controller represented by the Command class
  102. Controller Commands are executed in response to framework events
  103. Controllers Executed by Events
  104. Controller Commands are stateless
  105. Controller Commands are stateless they execute and die
  106. Controller Commands are stateless they execute and die performing a single unit of work
  107. Controller
  108. Controller Commands perform work on Service and Model classes
  109. Controller Commands perform work on Service and Model classes and occasionally Mediators
  110. Controller Performs Work
  111. Controller
  112. Controller Commands receive data from the events that trigger them
  113. Controller
  114. Controller Commands dispatch framework events
  115. Controller Dispatches Events
  116. Controller Commands do not receive framework events
  117. Controller Commands do not receive framework events outside of the event that triggers them
  118. Controller Commands do not receive framework events outside of the event that triggers them which is available for injection
  119. Typical Flow of Events in Robotlegs
  120. User Performs an Action (button click)
  121. View Component Dispatches Event to Mediator
  122. Mediator Dispatches Event that Triggers
  123. Command calls a Method on a Service
  124. Service Makes External call and Parses Data
  125. Service Updates the Model (directly or via
  126. Model Dispatches Event that Mediator Responds
  127. Mediator Updates View with Current Data
  128. Robotlegs MVCS
  129. Collaborative Development github makes it easy! github.com/robotlegs
  130. Collaborative Development comments, criticism, and ideas welcome
  131. Collaborative Development fork the framework
  132. Collaborative Development create examples and utilities
  133. Collaborative Development create an alternative implementation
  134. www.robotlegs.org download the framework best practices documentation project on github FAQ and Knowledge Base live examples
  135. Questions?

×