Questions & Answers
modular helps you to create flash applications without limit you in your application design. Its core is to build up your application from a descriptive xml file. Its main features are:
- clean structured applications based on Modules and Pages.
- reusable Modules in multiple projects.
- easy change of content without recompiling.
- fast prototype application development.
- easy access to Module instances or assets.
- support for runtime shared fonts.
- loading of any external assets like xml, text, css.
You can use any of the common development environments like; Flex Builder, FDT, Flash CS4 or FlashDevelop. Flash CS3 can be used too but because there is no easy way to specify external library swc is not very practical.
modular is ActionScript 3 only.
modular is released under the zlib license what means you can use it for free without any limitation.
If you are familiar with xml basics it should be pretty easy for you to create simple applications. If you need more customized content its good to know how to write actionscript classes.
The core of modular is only 10kB. You can load additional libraries that come with modular for layout management (8kB), common used modules ( Navigation, Text, Image = 4kB ) and debugging ( alcon, demonster, firebug ).
modular can be used with any other as3 frameworks. You can even compile your framework into a swf and reuse it in multiple pages without reload it every time.
Compared to Flex modular is a runtime oriented framework which means, that if you once have your library(swf) with your modules(classes) ready you can edit your application just by editing the xml file. This allows you to change the content and structure of your application very fast. Which is also very useful for creating prototypes that will be extended later.
Here is a short comparison of the two frameworks:
modular
- runtime oriented framework.
- easy change of content without recompiling.
- simple parameter passing to modules by xml.
- reuse of modules in multiple projects.
- fast extendable prototype development.
- direct access on module instances by class or id.
- loading/accessing external assets with a single xml line.
- upport for runtime loaded fonts.
- support for runtime shared libraries.
- built-in preloading.
- optional logging support to different outputs like DeMonsterDebugger, Alcom, Firebug etc.
- optional layout management between modules.
- tiny size.
- free in design and implementation.
Flex
- compile-time oriented framework.
- a lot of components.
- advanced layout management.
- data binding.
- focused on RIA.
- big size.
The GAIA framework is similar to modular in aspect of the runtime oriented framework but there is one major difference that in GAIA every page is a single swf file compared to modular where a page consists of multiple modules which are concrete classes.
Further more modular provides easy access to all these modules in your application and returns their instances. So for example if you have a MP3Player within your application you can access it like this:
var player:MP3Player = Modular.getModuleByClass( MP3Player );
player.play( "url" );
This allows you to split up your application in reusable modules that can be used in different pages without creating each time a new swf file as well as in other projects.