Futurescale, Inc. PureMVC Home

The PureMVC Framework Code at the Speed of Thought


Over 10 years of community discussion and knowledge are maintained here as a read-only archive.

New discussions should be taken up in issues on the appropriate projects at https://github.com/PureMVC

Pages: [1]
Print
Author Topic: PureMVC and FlashBuilder Modules  (Read 11098 times)
badoumba
Newbie
*
Posts: 8


View Profile Email
« on: November 02, 2011, 10:57:59 »

Hello

I have rewriten this post as I finally found many tips on other threads and demo examples.

I just want to be sure here that I am using the right technology:

I need to build a modular application (...doesn't mean that I will use Flex modules). The idea is that a Shell application is distributed to the client with some modules included, depending on his needs. So I would like to include a module manager utility in the shell and load/unload some specific modules delivered as zip files, extracting them in the right place through this utility. Then by restarting the application, these modules are loaded (or loaded on demand) and all communicate to the Shell in both directions.

Do I really need modules or RSL? Do I need Multicore for this purpose? Is this a typical Pipe application?

Thanks for any thought or tip!
« Last Edit: November 03, 2011, 04:58:10 by badoumba » Logged
puremvc
Global Moderator
Hero Member
*****
Posts: 2871



View Profile WWW Email
« Reply #1 on: November 03, 2011, 07:07:15 »

You don't need Modules, but if you want your loaded swfs to have PureMVC code inside them (and you want your app to be truly modular, in that you don't have code dependencies between the modules and the shell, then you'll want to use MultiCore.

If you choose to use MultiCore, Pipes is a handy utility for allowing PureMVC 'cores' (a unique Facade/Model/View/Controller set) to talk to each other in a decoupled fashion by sending messages to each other.

If you use MultiCore but don't want to use Pipes, then you should define interfaces that your modules implement, so that when one module has a reference to another and sets properties on it or invokes its methods, it does so by interface rather than the class of the module, otherwise you'll be creating dependencies between your modules and that's not modular at all.

Have a look at the MultiCore Overview Presentation for some more info: http://puremvc.tv/#P002/

-=Cliff>
Logged
badoumba
Newbie
*
Posts: 8


View Profile Email
« Reply #2 on: November 03, 2011, 07:44:09 »

Hi Cliff

Thanks for your answer.

I read your page http://puremvc.org/content/view/75/181/ and Joshua Ostrom post http://www.joshuaostrom.com/2008/06/15/understanding-puremvc-pipes/

I've also been through PipesWork demo and this is exactly what I need. But once compiled, the project consists on a single swf file instead of a 'shell.swf' and modules as other swf to be dynamically loaded. Do you know any example of swf module loaded dynamically, cause I don't have enough deep knowledge to tweak PipesWork demo for this purpose.

Thanks again, this clarifies a lot!
Logged
puremvc
Global Moderator
Hero Member
*****
Posts: 2871



View Profile WWW Email
« Reply #3 on: November 03, 2011, 09:27:52 »

Loading was left out of the PipeWorks demo, because the steps to make separate projects, compile them, put the compiled output into a place where the shell/app could load it were a bit beyond what I figured anyone would go through to see it run.

You just need a Mediator in your shell to load your swfs and send them off in a note to plumbed really. The only difference is where the actual module comes from.

Also, you might have a look here:
http://www.newtriks.com/2010/03/01/flex-modules-using-puremvc-multicore-and-pipes/
Logged
badoumba
Newbie
*
Posts: 8


View Profile Email
« Reply #4 on: November 04, 2011, 06:03:47 »

Thanks! I am not sure to be able to make it work myself, but I'll try anyway  :)
Logged
puremvc
Global Moderator
Hero Member
*****
Posts: 2871



View Profile WWW Email
« Reply #5 on: November 04, 2011, 07:49:34 »

I'm sure you'll be able to do it. Feel free to post more questions as you proceed.

-=Cliff>
Logged
Pages: [1]
Print