Caliburn.Micro is a lightweight and small, yet powerful framework for developing rich WPF, Silverlight or Windows Phone applications. Caliburn.Micro has only a single dependency to the System.Windows.Interactivity library. Due to its small footprint of only 75 k and approximately 2700 lines of code it is not only lightning fast in startup and execution time but also easy to understand. The framework offers pattern guidance for the following well established design patterns:
- Model – View – ViewModel (MVVM)
- Model – View – Presenter (MVP)
- Model – View – Controller (MVC)
Rob Eisenberg (www.robeisenberg.com) and Marco Amendola (marcoamendola.wordpress.com) are actively maintaining the project and taking care of the documentation. The documentation is really thorough and offers tips and tricks how to avoid the common pitfalls. The project is released under a developer and company friendly license namely the MIT License.
Caliburn vs. Caliburn.Micro
But wait isn’t there a full framework called Caliburn. Why should I even care about Caliburn.Micro? Caliburn and Caliburn.Micro are even compared to samples and documentation. But if we take a closer look into the code base, packages and dependencies we see a huge difference.
Lines of code vs. features
LOC | Features | Learning effort | |
Caliburn | 27000 | 100% | Huge |
Caliburn.Micro | 2700 | 90% | Easy to grasp |
Packages
Caliburn | Caliburn.Micro |
Caliburn.CoreCaliburn.PresentationFramework
Caliburn.ShellFramework Caliburn.Testability Caliburn.[ThirdParty] |
Caliburn.Micro |
Dependencies
Caliburn | Caliburn.Micro |
Castle (DP / Windsor)
Autofac Spring StructureMap Unity Ninject FluentValidation Reactive Managed Extensibility Framework |
System.Windows.Interactivity |
Core infrastructure
Caliburn.Micro has a small core infrastructure which is easy to grasp but it is crucial to know the core infrastructure in detail to be able to design maintainable applications. What you need to get started are the following components:
- Bootstrapper
- PropertyChangedBase
- ViewAware
- Screen
- Conductor
- Conventions
- Coroutines
- Actions
Once understood and integrated into the application Caliburn.Micro becomes almost transparent and works its magic behind the scenes. More on the upcoming blog posts.
[…] – Core infrastructure September 9th, 2011 Goto comments Leave a comment In my last post I covered basic topics about Caliburn and Caliburn.Micro. Lets look into the core […]