I have used a number of different MVVM frameworks, and none has so-far felt right. Not the worlds most scientific criteria, I will grant you, but still one that I consider valid. I have a preference for lighter-weight frameworks. Another vague criteria, but my definition of it is simple – frameworks that do not impose rigid structures and significant bloat to my application by adding features I dont need. Some of the frameworks I have worked with are: Cinch, MEFedMVVM, MVVM Light Toolkit, and Caliburn. I have tried others, but not to extent I have with these four. Of those, MEFedMVVM and MVVM Light Toolkit felt the closest to right, but were lacking some of things I like in Cinch and Caliburn.
Enter Caliburn.Micro, the lighter brother to to Caliburn. Rob Eisenberg describes his motivations behind this new entry into the MVVM framework space on his blog post MVVM Study – Segue - Introducing Caliburn.Micro. His goals for the framework mesh well with my goals of what I think I need, so I decided to try it out.
This post and a series of following posts will highlight my learning process with Caliburn.Micro. The first post will be following shortly, and will demonstrate the basics of creating a Caliburn.Micro based WPF project.