Category Archives: news

mvcExpress version 1.3.1 released

mvcExpress version 1.3.1 released

this is important milestone for framework, as I consider it now as feature full framework.

This is feature list:

Modules:

  • ModuleCore – simplest module implementation.
  • ModuleSprite, ModuleMovieClip – convenient modules extending Sprite and MovieClip.

Model:

  • Based on Proxy pattern.
  • Proxies can be mapped to class or interface, and optional name.
  • Proxies automatically injected into commands, mediators and other proxies.
  • Proxies can be retrieved with function. (not only injected)
  • Lazy proxy instantiation option.

View:

  • Based on Mediator pattern
  • 2 options to mediate the view.( map then mediate, or mediate directly).
  • View can be mediated as interface or superclass.

Controller:

  • Based on Command pattern
  • Can be mapped, and executed with messages.
  • Can be executed directly.
  • Build in command pooling (optional)

Comunication:

  • Custom, string based messaging system. (very fast, faster then signals)
  • Messages can be sent from modules, commands, proxies, mediators.
  • Messages can be handled in mediators.
  • Messages can trigger commands.

Modular programming:

  • Module to module communication through scope.
  • Module data sharing with other modules through scope.

Misc:

  • Option to enable circular dependency injection.
  • Automatically detects flex, view objects will be mediated only after ‘onCreationCopmleate’

 

Whats next:

I have 2 priorities now regarding mvcExpress:

  • First and most important – writing learning material for mvcExpress. I have 2 ideas – written tutorial and video tutorial. Most likely I will end up making both. (I will also prepare workshop out of this material.)
  • Secondly, I will start working on “mvcExpress LIVE” fork. This will be separated mvcExpress extenuation, that will add E to MVC. E stands for Engine. Engine will be implemented by using Processes and Tasks, and mainly dedicated to handle real time action games.

I also have interesting idea making WorkerModule, it will allow using multithreading with modules, and will hide worker implementation.

Download:

mvcExpress v 1.3.1 can be downloaded from gitHub : 

mvcexpress-framework-downloads

mvcExpress presentation at FITC 2013

Hello,

I want to present mvcExpress framework at FITC in Amsterdam! (Presentation title : “Next step in as3 framework evolution”)

It is great opportunity to introduce framework to Flash community!

This year it is possible to vote for presentations you want to see in FITC.
That’s there I need your support!

Please put 3(max possible) of your votes for my presentation to this link. (You have total of 10 voting points.)

Thank you!

Attending Reasons to be Creative (SEP 3-5,2012)

Hi,

I will be in Brighton attending Reasons to be Creative conference on September 3-5.

Feel free to approach me If you want to talk about mvcExprss! (… or just talk. :) )

I will have mvcExpress t-shirt with  “mvcExpress next step in AS3 framework evolution!” written on the back.

 

I think it is time for this framework to get more awareness, so I am planing to do presentations and workshops soon.

If you have idea/request for such presentation/workshop feel free to contact me: raima156 @ at yahoo. (I am located in Hamburg.)

mvcExpress 1.0.1 released!

Hi,

MvcExpress is released! (and updated a bit)

No real changes to API or functions will be noticeable from release candidate, but I put some time to improve tools for you to debug work with mvcExpress better.

I am currently actively learning how to write better unit tests(from “The Art of unit testing’ book and Udacity), I want to ensure rock solid quality of new features I want to add in next release, and ensure old once will not break.

I updated how MvcExpress.debugFunction works and added visualization of framework elements to ‘mvcExpress logger’ application.

As before you can get debug info by setting MvcExpress.debugFunction function.

For instance : MvcExpress.debugFunction = trace; will trace all activities.
But from now on this function will send TraceObj object, (that has toStnring() function) and it will hold all details about performed action(not only string text).

For example, lets imagine there is something weird going on with mediating TestViewA clases, and we want to understand what’s happening in details.
You could set debug function like this : MvcExpress.debugFunction = myDebugFunction;

Then define myDebugFunction function like this:

private function myDebugFunction(traceObj:TraceObj):void {
if (traceObj.action == MvcTraceActions.MEDIATORMAP_MEDIATE) {
if (traceObj.mediatorClass == TestViewAMediator) {
trace( "TestViewAMediator mediates :" + traceObj.viewObject);
}
}
}

now imagine putting brake-point on the trace – you get your code stopped with function stack and everything.

Of course.. writing custom debug functions in not fun… and it is needed in very rare cases, in most cases it is OK just to get a log what framework is doing. Thats what ‘mvcExpress logger’ application is for!

From now on it will not only have a text output of what framework does, what mediators are mapped… and so on.. but also it will show it visually!

To use it you need recent mvcExpress framework version, code for mvcExpress logger(because I fail to compile the damn thing into SWC.. :( ) and compile your application in debug compile parameter set to true.  To start using it add this line somewhere in your code before mvcExpress framework creates its first module:


MvcExpressLogger.init(this.stage);

And press: “CTRL” + “~” to open it.

Check out the demo here: http://mvcexpress.org/files/demos/mvcExpress_visual_logger.swf

Have fun!

mvcExpress 1.0.0 first release candidate is out!

Hi,

I finally came to version that I am confident to release, I still want to put it to release candidate state for a weak or two.

Changes:

New function added to get proxies at run time, as alternative to injecting your proxy.


proxyMap.getProxy(injectClass:Class, name:String):Proxy

This function is needed to get your proxy if you use dynamical name, or then you need some proxies rarely or in exceptional cases, and you don’t want to have public variable for it all the time.

For sending message to all modules new function added:

sendMessageToAll(type:String, params:Object = null):void

This approach is better then having parameter in sendMessage(). It will make cod more readable and understandable what code actually does.

To be honest – I don’t particularly like this function. I don’t like it so much that I felt that it is worth adding parameter to disable it :
MvcExpress.disableSendToAllFeature = false;

So the choice is yours weather you want it.

I can imagine scenarios there this function can be very useful, but I would like more controlled way to send my messages. (I will add alternative to this function in version 1.1)

Plus:

some small fixes, more unit tests, examples update and… documentation update!

Have fun.