mvcExpress version 2 is coming soon!

Hello,

I want to make small status update on what is happening with mvcExpress framework.

During last couple of months I am actively developing extensions for mvcExpress:

  • Worker extension : will let you use workers using mvcExpress modules and communication. (it hides worker API.) (Work in progress)
  • pureMVC to mvcExpress extension : will let you change pureMVC project into mvcExpress project in matters of minutes(and improve performance of your app), with help of  air application. (Work in progress)
  • viewTree manager extension : will give tools to manage view tree of your app in very convenient way. (paused.)
  • 3d/2d framework support extension. (like Starling, Away3d.) (planned.)

Working with these projects I noticed one common problem with mvcExpress – it is very hard to extend it. In many cases I had to hack my own framework to accomplish  what I want. (I treat it as a compliment, as it was designed to be as solid as possible.)

But now I want to change that, I want to make it more flexible and extendable.

What will not change:

  • Performance.
  • Main API.
  • The way ModuleCore.as is used then extended.

What will change:

  • ‘org’ package is dropped.
  • ModuleSplite and ModuleMovieClip removed. (changed with better workflow using ModuleCore.)
  • onRegister and onRemove made protected in mediators.
  • mvcExrpess live implemented as extension, not stand alone framework version.
  • inject points added  for main actors (ProxyMap, MediatorMap, CommandMap, Messenger) to make it possible to use extended classes.
  • mvcExpress.org site.

In my opinion – package change and protected onRegister/onRemove will be most annoying change, to fix that I will give you tool to automatically refactor mvcExpress v1 to mvcExpres v2 !

mvcExpres v2 planed to be released in about a weak.

Have fun with flash!

9 thoughts on “mvcExpress version 2 is coming soon!”

  1. Looking forward to trying out v2.0, currently ‘converting’ a 130k line AS project to MVCS using RobotLegs in order to re-skin and add multi-team development, but RL2 is proving to be quite ‘heavy’…speed, code, learning curve, … plus it is heavy on Modules, not a built-in great RL feature when it comes to messaging.

    While I would prefer to ‘port’ this to Unity/C# and drop Flash, but that is just not an option, so I would love to see an RC for MVCE2.0 and give it a test on a few thousand lines of code… lol…. and see if I can move on with this project and get it done…

    Also looking for no native AS events, we are currently only using Signals.

    TIA,

    Robert

    1. Hi,

      yes. I really loved what they did in RL1, but RL2 is total overkill. And I am doing everything to avoid it.
      Extend-ability can be implemented with inheritance and composition. Composition is soooo much better, but I still can’t figuring out how to do it without loosing performance.

      By the way, what “RC” stands for?

  2. Hi Deril and Robert,

    I’m one of the core team members of Robotlegs and just out of curiosity, do you think you can pinpoint the major issues you have with RL2? We’re always looking to improve the framework, so it’d be really useful to us if you could elaborate on what holds you back from using v2.

    Now I’m off to check out what express mvc is all about :)

    1. Hi,

      First of all I want to say thank you for what you guys are doing with robotLegs! I learned a lot from it, and copied so many ideas from it into mvcExpress. I think influence of robotlegs is clearly visible in mvcExpress.

      I also think robotlegs is great product, and have no problem recommending it to people, it has different vision how framework should look like, and depending on what is your needs and preferences – robotlegs can be exactly what you need.

      mvcExpress is different is couple of ways.

      * First of all and most important – performance. mvcExpless sacrifice so many things to get good performance. mvcExpress internal code is harder to maintain, in nightmare to extend(robotlegs composition approach is much more extendable then inheritance in mvcExpress). But it is easy to use for end user and performs the best compared with other AS3 framework.

      check this presentation(slide 20): http://www.slideshare.net/RaimundasBaneviius/mvc-framworkevolution-final-25132392

      3 most importation performance problems in robotlegs : Command use speed, message send speed and inject speed in general.

      * Second reason why I choose mvcExpress over robotlegs – simplicity. This is of course subjective, but in my opinion robotlegs 2 is feature bloated. mvcExpress does one thing, and does it good, I get a feeling that robotlegs 2 is a framework to create your own framework. I don’t want to care about that then I start the project, I just want to grab my MVC and jump into fun. Using extensions in mvcExpress is as easy as extending ModuleWorker instead of ModuleCore.(of course this strategy is very annoying then you want to have more then one extension(ModuleScopedLiveWorker! :) ), classical inheritance problems… But I am willing to do this sacrifice for speed.)

      So in my eyes – both frameworks are great at what they do, they just have different visions.

      1. So in a nutshell: RL2 seems more opaque to use than v1 and it’s too slow?
        This is definitely relevant to us. Regarding simplicity: is it due to the number of concepts you think? Or rather the DSL syntax? Or simply that the documentation is lacking (which it definitely is)?

        Sorry to be bothering you with these questions, but I’m really keen on improving RL any which way we can.

        I don’t do a lot of as3 dev anymore unfortunately, but will definitely take the time to experiment with expressMVC.

        1. Yes, in my opinion RL2 is much more opaque, it is also a bit slower then RL1. (and much more slower then mvcExpress)
          I also think that RL2 just doing too much – has too much concepts. It looks like this framework is designed for software architects, not application programmers. To do complex applications – you need simple systems – this is one of main priorities in mvcExpress.
          Regarding DSL – I have mixed feelings. From one side.. it sounds cool, it’s very interesting approach, and I did not had too much problems using it, but it is still something you have to get used to, and it’s not standard way to write software. (Not to mention that it does increase function stack – and hurts performance.) I guess DSL is something of personal preference, and I am curious what % of RL2 users likes it.
          Good documentation is problem in most OS projects. ;)

          I am ok with you bothering me, :) I hope my personal(and biased) opinions can help you in some way.

          Thanks for checking out mvcExpress! I would really like to get some criticism and feedback.

          Have fun with flash.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>