In Chafic's session on "Building and Architecting Flex Applications" -- stay tuned for live updates!
16:35:09 GMT-0400 - Chafic says his session is aimed at clearing up some misconceptions around Flex, feedback on the book etc.
16:38:31 GMT-0400 - Before the project starts: design is iterative (as is the development), series of mockups. Designers and developers should communicate closely during design phase to avoid issues with slipping timeline
16:44:04 GMT-0400 - shows cool hardware product with a Flex front-end, spent 1 to 2 months just on design before development happened. Consistency in the design phase helps out putting it together as components
16:48:40 GMT-0400 - shows iterations of different stages in design process. Designer was closely involved in the sales process -- UI got simplified in each step.
16:54:37 GMT-0400 - what AIR brings to the equation -- brings up the example of timesheets, a lot of applications are 'useless' because you have to go to a website. Notifications and native desktop integration make it useful.
16:59:18 GMT-0400 - sometimes architectural frameworks are overkill and not always the best way to learn Flex. Shows his own framework, a more pragmatic approach. Controller (user interaction, communicates with View), model (generated value objects, database, services) and view (application components, screens)
17:06:07 GMT-0400 - AIR SQLLite capabilities belong in the Model -- should be caching behind the scenes.
17:09:43 GMT-0400 - Talks about the benefits of code generation, can make up 40% of the project. Bindable meta tags in Model, extends the EventDispatcher
17:13:47 GMT-0400 - Controller is bridge between view and model -- handles view events. Views need to get their data through controller. Controllers are MXML, makes more sense in terms of instantiation.
17:19:06 GMT-0400 - Deconstructing applications components -- decide what will be a component, create and add sub-components, define a public API
17:25:00 GMT-0400 - important to remember that Flex compiles MXML down to AS3 classes. Components should be treated as a black box, use an API don't just access the children directly.
17:26:16 GMT-0400 - Events - create custom events (inherit from EventDispatcher), dispatchEvent(event) add metadata tag