mvcExpress is a pretty fast and simple MVC based framework. It is engineered to let you organize your code in small units that are easy to manage and re-factor. It allows those units to communicate with each other conveniently and will help you write modular and testable code.

Some features:

  • Build on proven by time MVC architecture best practices.
  • Fast and convenient API.
  • Build around dependency injection.
  • Very fast messaging system for communication.
  • Modular programming by default.
  • Module to module communication and data sharing features.
  • Supports lazy proxy instantiation.
  • Supports command pooling. (huge speed boost with heavy duty commands.)
  • Supports circular dependency injection. (optional feature.)

It has a branch called mvcExpress live which has some additions, such as:

  • extends mvcExpress framework. (full compatibly with mvcExpress projects.)
  • adds Engine actor to MVC, this actor is designed to continuous run repeatable and logic code that handles your data and view objects. (something that Commands can’t do efficiently)
  • build in testing capabilities to ensure Engine does not bleak your MVC.
  • Fast and convenient API.
  • Build around dependency injection.

Sample

package com.mindScriptAct.codeSnippets {
import com.mindscriptact.mvcExpressLogger.MvcExpressLogger;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.utils.getTimer;
import flash.utils.setTimeout;

/**
 * ...
 * @author Deril (http://www.mindscriptact.com/)
 */
public class MvcExpressSnippets extends Sprite {

	private var appModule:SnippetAppModule;

	public function MvcExpressSnippets():void {
		MvcExpressLogger.init(this.stage, 0, 0, 900, 500, 0.9, true, MvcExpressLogger.VISUALIZER_TAB);
		if (stage)
			init();
		else
			addEventListener(Event.ADDED_TO_STAGE, init);
	}

	private function init(event:Event = null):void {
		removeEventListener(Event.ADDED_TO_STAGE, init);

		//
		stage.scaleMode = StageScaleMode.NO_SCALE;
		stage.align = StageAlign.TOP_LEFT;
		//

		// vm warm up:
		setTimeout(start, 300);
	}

	private function start():void {

		CONFIG::debug {
			MvcExpressLogger.init(this.stage, 0, 0, 800);
		}

		////////////////////////////
		// Inits framework.
		////////////////////////////
		appModule = new SnippetAppModule();
		////////////////////////////
		// start our application.
		////////////////////////////
		appModule.start(this);
	}

}
}
Frameworks . URL.