Video: Flex Best Practices

Here is a recording from my presentation about Flex Best Practices / Flex Architectural Patterns at the NLJUG. Sorry that the audio is not great on this one. It turned into more of a discussion than a presentation. Let me know what you think.

This entry was posted in Flex. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.
  • Pingback: Video: Flex Best Practices « Rich Internet Applications

  • Mike G

    James thanks for posting your preso, great stuff!!

    I’m interested to learn more about the Service Bus approach you mentioned you often use for Flex applications. If you have any links or code you could share on this that would be great.

    Cheers, Mike G.

  • codecraig

    Would it be possible to get your power point slides? Also, could you provide your code for working with a Service Bus?

    Also, the service bus framework that you were discussing (you couldn’t remember the name)…was it LCDS (LiveCycle Data Services)?

  • http://www.jamesward.org James Ward

    I’ll try to get my slides added here soon.

    The message / service bus framework is Mate:
    http://mate.asfusion.com

  • http://www.jamesward.org James Ward
  • Chris

    Does FlexBuilder provide any support to manage modular apps when the main app is in one Eclipse project and various modules are in other Eclipse projects? Because modules are all loaded at runtime via the filename, I have to path specific to my Eclipse workspace and project structure. That differs from how I’m going to deploy the swfs in my production environment. Also, different projects may exist on different paths for different team members. So we all have to manage our module paths differently :(

    regards,
    -Chris

  • http://www.jamesward.org James Ward

    Hi Chris,

    Usually for large projects you should use a build tool like Maven or Ant to handle compiling the modules. That way you can have better control over how the modules are named, deployed, and loaded.

    -James

  • codecraig

    Speaking of Maven…how do you use it to build a Flex/Java app (i.e. something you deploy to a web container, which might use LCDS or BlazeDS, see this link for the type of project I am referring to: http://corlan.org/2008/06/05/creating-a-combined-flexjava-project-in-flex-builder-wo-lcdsblazeds/).

    Even just a regular flex app…how do you do it?

  • http://www.jamesward.org James Ward
  • http://www.vdeprojects.com Tom Van den Eynde

    Hi! Thanks for the slides! One question: I’m very interested in your view on the ‘service bus’ approach. I suppose you see it as an alternative to the rather ‘heavy weight’ MVC approach? Some thoughts (or some documentation even if it’s not Flex based) would be very helpful.

  • http://www.jamesward.org James Ward

    Hi Tom,

    My personal preference for large Flex applications is for a service bus approach as the overall application architecture, coupled with modules, and some hand rolled MVC for the micro architecture (self-contained with a module).

    -James

  • http://www.vdeprojects.com Tom Van den Eynde

    Thanks for the feedback! Are there any service bus frameworks for Flex or non-Flex out there that I could use as a reference?

  • Pingback: .:. Blog Hugo Martins .:. Tecnologia, Informática, Papéis de Parede, Wallpaper, Lost, Photoshop, Humor » As melhores práticas para os desenvolvedores do Flex

  • codecraig

    I’ve successfully hooked up Flex to ActiveMQ by using BlazeDS and LCDS (LiveCycle Data Services). The bus would come later in my prototyping but it’s a good start.

  • codecraig

    James:
    Do you have any details/info on the sections of the presentation you didn’t cover in the video (testing, scalability, security)?

    One question (you hopefully know) I have is do you know how to access a user certification stored in a browser from Flex? Or if there is another method how to get it into flex?

  • http://www.jamesward.org James Ward

    Hi Tom,

    Check out Mate: http://mate.asfusion.com

    Codecraig,

    For testing check out FlexUnit and the Flex Automated Testing Framework. Scalability is a broad topic. But in general Flex applications scale much better than traditional web applications because more is being done on the client. Since Flex uses the browser networking stack security in Flex is similar to web applications. There isn’t any direct way to handle certificates in Flex. The browser handles certificates and usually Flex applications don’t need to do anything with them.

    -James

  • nz

    Can you post the video up on Adobe Media Player for offline viewing?

    cheers

  • http://mywhat.org Laurie

    Hi James,

    I met you briefly today after your presentation, and asked you about the First Steps to Flex book (can’t actually remember the exact), but you’d already run out of copies. Out of curiosity, when and where will the book be available?

  • http://seantheflexguy.com/blog Sean Moore

    Hi James,

    Great video!! There are a ton of great tips in here. Thanks for posting!

    Here are two articles that are directly related to your video I thought they might help some people out:

    Flex best practices – Part 1: Setting up your Flex project
    http://www.adobe.com/devnet/flex/articles/best_practices_pt1.html

    Mate: Event driven framework for Flex
    http://www.flashmagazine.com/Reviews/detail/mate_event_driven_framework_for_flex/

    Kind regards,

    Sean

  • http://www.jamesward.org James Ward

    @NZ – I’ll look into that.

    @Laurie – First Steps in Flex hasn’t officially been released yet. Hopefully it will be in the next few months. Check back here for updates.

    @Sean – Thanks for the links! Both are great articles!

  • Matt

    What was that tool you used for the screencast? I really liked how you could zoom in and out during your presentation.

  • http://www.jamesward.org James Ward

    Hi Matt,

    I use Camtasia. It works great.

    -James

  • Pingback: Flex Best Practices « Scratch Pad

  • http://edsyrett.wordpress.com Ed Syrett

    I’d like to add my voice to the rest of the guys asking for the video to be put up somewhere where we can download it. It’s too long to view all in one go during my lunch hour but if I want to view the second half I have to wait for the swf to download all over again…

    Also I too would be really interested to see some more of the rest of the presentation

    Thanks,

    Ed.

  • http://www.jamesward.org James Ward

    What format / codec would you all prefer?

    -James

  • andrew

    I agree some downloadable format is key. I would like to listen to this on the go.

  • http://www.jamesward.org James Ward

    Hi Andrew,

    What format would you like?

    -James

  • Pingback: Flex Best Practices | Software Development Videos

  • http://edsyrett.wordpress.com Ed Syrett

    How about just allowing us to download the movie swf? Alternatively, any format that Media Player will handle.

    And don’t forget to add all the stuff you didn’t get time to present……

    Thanks,

    Ed.

  • http://www.jamesward.org James Ward
  • codecraig

    download works for me.

    Thanks!

  • jvc

    an h.264 version would help making this video more portable for ipod/pvr watching

  • http://nwebb.co.uk/ nwebb

    Hi James, great video, thanks for posting.
    You mentioned rolling out your own very simple service bus rather than using MATE – if you have an example available I’d love to see it.

    Cheers,
    Neil

  • http://www.jamesward.org James Ward

    Hi Neil,

    This will be in the book Bruce Eckel and I are working on called “First Steps in Flex”. It’s not out yet but you can join the announce list at:
    http://www.firststepsinflex.com

    -James

  • Pingback: Video: Flex Best Practices - Guys Don’t miss it « RIA Cookies

  • Matt

    Hi James,

    I thought that was a really cool way to set up mock/stub objects, but I didn’t understand why you needed to add the xmlns=”*”. Is there a short explanation for that?

    Thanks,

    Matt

    • http://www.jamesward.com James Ward

      That just means that XML tags without a prefix map to classes in the default package.