What is FubuMVC?

FubuMVC is a “Front Controller” pattern-style MVC framework designed for use in web applications built on ASP.NET.

Note: FubuMVC  has nothing to do with the ASP.NET MVC framework.

FubuMVC is built upon the core ASP.NET library (HTTP handlers, modules, caching, etc). FubuMVC’s supports three primary view engines: 1) the Razor view engine, 2) the Spark view engine  and 3) the ASP.NET WebForms view engine. FubuMVC is an alternative to the “Page Control Lifecycle” of WebForms. It encourages you to use views as merely dumb HTML renderers that contain no serious logic (or only display/render logic).

Indeed the entire point of the “Front Controller” pattern (and therefore FubuMVC) is the separation of logic from presentation.

There are many MVC frameworks, including several for the .NET/ASP.NET platform. FubuMVC is different from most of them in that it has a strong focus on “pluggability” and on conventional configuration. FubuMVC’s framework design places a strong emphasis on compositional object-oriented design (versus a strongly inheritance-based architecture).

The practical benefit of this is that you can easily, and to a greater degree, replace/override, extend, and customize FubuMVC for your particular situation. This is why FubuMVC was originally created: because of frustrations experienced when trying to override functionality in some of the other MVC frameworks.

As an aside, you may also wish to investigate OpenRasta or NancyFX, other .NET-based frameworks that have adopted different philosophies than those found in ASP.NET MVC.

Committers

The current team consists of (in alphabetical order):

Contributors

FubuMVC wouldn’t be possible without the time and effort of its contributors. Thank you for everyone who has ever committed, sent a pull request, or offered advice. Of course, if your name is missing please don’t hesitate to contact us. In no particular order:

  • Joshua Flanagan
  • Robert Greyling
  • Ryan Kelley
  • Kevin Miller
  • Nieve
  • Jason Staten
  • Corey Kaylor
  • Jaime Febres Velez
  • James Gregory
  • Karl Seguin
  • Bob Pace
  • Andrew Browne
  • Jason Smale
  • Christian Deger
  • Dale Ragan
  • Ian Battersby

 

Fork me on GitHub Fubu Project
keyboard-centric bug tracker continuous integration server