Archive for the ‘MVC Turbine’ Category

MVC Turbine and MVC3

I’ve been getting different questions via emails, DMs, IMs, etc. that can be summed up by this question:

Once MVC3 comes out, will I need MVC Turbine anymore to provide Dependency Injection (DI) support to ASP.NET MVC?

There is really no clear answer for this, so all I can say is, it depends :)

For those of you that are not aware, MVC3 has added better support for using Dependency Injection (DI) within different parts of your application. This newly added support applies to:

  • Controllers
  • Filters
  • View Engines
  • etc.

These are the same features that MVC Turbine (Turbine) has offered since we first released V1 almost a year ago. However, in order to provide these and other features, the Turbine codebase has had to handle the plumbing necessary to wire up components in a way to provide first-class DI support. This means that a good chunk of the codebase is just there to ‘hook things up’ within the framework pipeline.  After all, we can’t change the underlying framework so we have to make due with what’s available through the public API.

Since the new extension points that MVC3 exposes provide deeper integration to the framework (pipeline), we can now safely delete all the code that we’ve previously had to write; this is a very good thing. As the old saying goes, we can now stand on the shoulder of giants and focus on providing additional support for MVC applications. :)

The biggest value of add that Turbine gives applications is the “Blade” concept, which is essentially a way to provide an extensibility story to MVC applications. In essence you can build Blades that house cross-cutting support to your applications (i.e. Logging, Persistence Management, ESB Support, etc.) without re-inventing the wheel every time. You write once and use everywhere.

Now that the codebase has shrunk, the team can now focus on providing additional features around Blades as well as (to name a few):

  • Registry Mechanisms ala FubuMVC
    • For example provide registries for filters, model binders, types, etc. in order to lower friction with auto-registration within Turbine.
  • MEF Support
    • Split the work (concerns) of the current underlying container and allow MEF to do the heavy lifting for Turbine-specific components.
  • Reusable Recipes
    • Start a Blade Catalog in which you can now assemble different blades (NHibernate, NServiceBus, log4net, etc.) in order to build applications quicker and repeatable.
  • Better Diagnostics ala FubuMVC
    • Leverage the new hooks and registry concepts to gather and report information about the registered types (controllers, view engines, routes, etc.) to the end user (developer) – to help with trouble shooting scenarios.

Also, with the release of MVC3 it is only natural to increase the version number of Turbine to v3; after all Turbine could not exist without ASP.NET MVC.

I am very excited about the new features and opportunities that MVC3 will bring to ASP.NET stack. To me these features are beyond additions to the framework pipeline but more of an on ramp for creating applications quicker and better on top a great web stack.

Happy Coding!

Open Source Support Is Not Just Code

As you know, I’m the author of MVC Turbine. Since the beginning of the project, I’ve received community assistance via code patches to address some issues or add features to the project.  Also, I’ve received non-code help from the community. For example, Hugo Bonacci (@hugoware) for donated his artistic talent and created these awesome logos for the project.  These logos adorn the CodePlex site as well as the Twitter account (@mvcturbine).

Most recently, I welcomed the help of Anthony from Sticker Mule to the list of contributors to the project.  Sticker Mule prints custom stickers starting at $69 for 100.  They aspire to be every developer’s favorite sticker printing service. While building the Sticker Mule website, they leveraged Spree, an open-source Rails e-commerce platform to provide the features to their site.  Since open source helped them, they’re doing what they can to pay it forward. So they donated 100 awesome die cut stickers with the MVC Turbine engine logo to the project!

Check out their awesome work:

mvcturbine_diecutPretty awesome, huh? I would like to personally thank Anthony and Sticker Mule for this great addition to the project! So next time you see me in person, make sure to ask me for one!

Again, thank you Anthony and Sticker Mule for making open source a fun place to be in :)

Happy Coding!

MVC Turbine Resources

Recently MVC Turbine has had a lot attention, so I wanted to take the time to say “Thank You!” to those of you that have help promote it, use it, provided feed or giving it a look.

Artwork

In particular I wanted to say a HUGE THANKS to Hugo Bonacci (@hugoware) for donating his artistic talent and creating these awesome logos for the project. Thanks for putting up with my many draft changes and requests. The logos are awesome and I thank you for providing such a great asset to the project!

 

full-logo-large

(horizontal banner)

avatar-large(avatar/icon)

Development Team

Also, I wanted to list out a set of links to blog posts by my self and fellow MVC Turbine member, Darren Cauthon. Darren has provided a lot of great feedback, code and samples which makes the project a lot better.  Thank you Darren for your efforts!

Here are the links from Darren that showcase the extensibility that MVC Turbine provides to applications:

Also, here’s a list of some of the other extension projects that Darren is currently working on:

Podcasts

If you’re an audio learner instead of a visual one, then check out these podcasts in which, yours truly, talks about both ASP.NET MVC and MVC Turbine:

Future Plans

The plan of attack by the dev team is to provide better documentation as well as blog more about examples on ways to use Turbine to extend and power your applications (similar to what Darren is already doing). We want to make the portal site, http://turbineproject.com more than just a redirection to the CodePlex site.  At the same time, we want to roll in bug fixes, fluent registration features and MEF support into v2.2, so check out the GitHub repository for these changes.  Lastly, you can also download the MVC Turbine Project Templates for Visual Studio 2010 from the Visual Studio Gallery.

In Closing

Again, I want to say thank you for taking the time to check out the project and for all the help all you have provided. If you’re interested in helping out, reach out to me either via this blog or start a comment thread out in the Google Group.

Happy Coding!