What’s happening with FubuMVC and Where’s Ryan been?
It has been a long while since I last posted, so I thought I should whip something out real quick. Now, I know most of you don’t care what I have been up to, but here it is anyway. The short version: work
The long version
Work pretty much consumes all of my waking hours anymore, which sucks, but it will be better soon. I have grown my team since my last post, we have 4 developers now, 2 graphic designers and an all around marketing/design guy. Pretty soon we are going to have to move out of this sardine can we call an office. The team is all working towards the same deadline, which is to get our new site ready for launch on August 15. We are building our entire web app on top of FubuMVC, which has been very challenging and rewarding.
What’s happening with FubuMVC?
Funny you should ask that, FubuMVC continues to evolve weekly, no major changes as of yet but there are some on the horizon.
No More Controllers
I am excited about this one. Composable controllers, AKA, no controllers, just behavior chains. You can read more about this one straight from the horses mouth. It is a little lengthy, but has some good info. But essentially when you configure FubuMVC for your project, you will be able to conventionally or explicitly setup a chain of behaviors that wrap around an action. Chad and Mark have already started laying the groundwork for this too. This will allow a much more flexibility to what an Action can do.
No More ISupportResultOverride
Before this change, if you wanted to redirect to another view or action you had to implement ISupportResultOverride on a ViewModel, set that value to a RedirectResult and then return the ViewModel. Well, not anymore. Now there is a service, called IResultOverride. You call that service, and say for instance _resultOverride.RedirectTo(_resolver.Home()). In my example_resultOverride is an injected instance of IResultOverride, and _resolver is an injected instance of IUrlResolver using an extension method to get the url.
You can also do this:
_resultOverride.RedirectTo<HomeController>(c => c.Index(null));
Then you just return the ViewModel that your controller action expects to return, and that’s it.
I know Chad is working on some stuff to cleanup some of the configuration DSL, which should help out a lot. He also added more descriptive error messages to the framework, so if you get a Yellow Screen of Death and it’s the framework or configurations fault it will tell you more elegantly.
That’s really all I have time to write about now, but I will keep you guys posted on how these things progress as we move forward. I also have some top secret stuff that I can’t write about, yet anyway 🙂
As always, let me know what you think, comments, questions, etc… If there is anything more you want to know about FubuMVC leave a comment, or head over to the Google Group