Hopefully you've read through the modules and marshall plan posts on my blog.
Sub-apps can share code via RSLs. You can't jump immediately to either a sub-app or module; it has to load first. You can build custom test harnesses for either. There are three main criteria: size, integration and security. Modules are generally smaller because they are optimized for a particular host. Sub-apps must carry their own weight because they are capable of running on their own. Modules sacrifice security for tight integration: they assume they have direct references to the host. Sub-applications can be written in a way that they don't assume direct access to the main application and that allows you to sandbox the sub-app so it can't do mean things. Sandboxing also allows the application to be written with a different version of Flex. However there are UI and performance limitations. If you own and will always own every line of code that runs, modules are going to be faster and smaller. Alex Harui Flex SDK Developer Adobe Systems Inc.<http://www.adobe.com/> Blog: http://blogs.adobe.com/aharui From: [email protected] [mailto:[email protected]] On Behalf Of Chris Sheffield Sent: Tuesday, September 22, 2009 9:29 AM To: [email protected] Subject: [flexcoders] modules vs. sub-applications Hi all, I'm brand new to Flex. Well, maybe not brand new, but almost. I've been reading books and working on tutorials for a couple months now, but my company is just getting started on our first Flex project. I'm excited to be working with Flex. I'm realizing there is still a lot to learn. Here is my first big question. I think I'm asking for more of an opinion from other developers than anything, but I'm also curious to know if there is a "best practice" kind of answer. I've been reading through the Flex documentation and through other sources about using modules vs. sub-applications. I think I understand pretty well the difference between the two. The application we'll be creating will consist of multiple screens, or views, that school students will work their way through one screen at a time. Each screen, for the most part, is independent of another, but some screens are similar in that the student will perform similar activities on them. So there will probably be some screens that will need to share code. We would also like to make use of the same screens in such a way that someone in our company can test/verify certain pieces of content (for example, text, audio, pictures, etc), and see this content exactly as a student would see it by jumping directly to a specific screen. Hopefully I've provided enough information for someone to tell me, in your opinion, would it be best to use modules or sub-apps for the individual screens? I wasn't sure if it would even be possible to jump into a specific screen if it were a module. I think I'm leaning toward using sub-apps, but wondered if there are any major drawbacks. What about if sub-apps need to share classes, methods, properties, etc.? Looking forward to your responses. Thanks, Chris -- Chris Sheffield Read Naturally, Inc. www.readnaturally.com

