MVVM Light is going to Xamarin Evolve!
With less conferences this year, I have been able to push some very important changes to MVVM Light, most importantly full Xamarin support. In the next few days I will be busy polishing this very important release, and you can expect very exciting demos at Evolve! So if you are attending, please join me on Wednesday, the 8th of October, at 16:00.
The topic of my session is
Building Cross-Platform Applications with Xamarin, Xamarin Forms and MVVM Light.
In this session, you will get an explanation of why the Model-View-ViewModel pattern is a good approach to building cross-platform applications, and how the MVVM Light Toolkit can help you to write better code faster. We will see the latest additions to the new MVVM Light, made especially for the Xamarin ecosystem. And we will also see an exciting demo showing how to share code in Windows Phone, Xamarin Android, Xamarin iOS and Xamarin Forms! We will talk about databinding and commanding (yes, in Xamarin too!), navigation and dialogs, and XAML on Android and iOS too!
A Pluralsight course titled MVVM Light Toolkit Fundamentals is available! This is the best place to start and learn all about the toolkit.
The course will give you a full overview about each component of the MVVM Light Toolkit. In addition it will show a lot of samples for each of the components. The full course features 6 modules for a total of 4 hours and 30 minutes.
- Module 1: Introduction to MVVM
- Module 2: Refactoring the app to MVVM
- Module 3: The Core Components
- Module 4: The Extras
- Module 5: Installing the MVVM Light and Additional Components
- Module 6: Advanced Examples With MVVM Light
The main purpose of the toolkit is to accelerate the creation and development of
MVVM applications in WPF, Silverlight, Windows Store (RT) and for Windows Phone.
The MVVM Light Toolkit helps you to separate your View from your Model which creates applications that are cleaner and easier to maintain and extend. It also creates testable applications and allows you to have a much thinner user interface layer (which is more difficult
to test automatically).
This toolkit puts a special emphasis on the "blendability" of the created application (i.e. the ability to open and edit the user interface into Blend), including the creation of design-time data to enable the Blend users to "see something" when they work with data controls.
There is documentation about the MVVM pattern and the MVVM Light Toolkit available here.
Installation and Creation
The MVVM Light Toolkit installation procedure (for the full package) is described here.
To create a new MVVM Light application, check this article.
If you prefer to use Nuget to add MVVM Light to an existing application, see this page.
Source code and Codeplex
The source code for the libraries is available on the
Codeplex site for the MVVM Light Toolkit
. This is also a good place to post
suggestions/remarks/questions/discussions about the toolkit.
This article describes how to get the latest and greatest code from the Codeplex repository, and build the assemblies. It also shows how to run the unit tests in Visual Studio and how to install the new assemblies over an existing version.
We encourage the use of
for questions regarding MVVM Light Toolkit. StackOverflow
is an awesome site for questions related to programming. There is a huge community
of developers answering questions there. Please use the tag mvvm-light
to tag your questions.
If you are so enclined, you can donate to MVVM Light Toolkit.
Or, if you prefer, you can pay me a beer next time we're in the same vicinity.
Really, it is OK too :)
The creation of this toolkit would not have been possible without the following
created the RelayCommand and gracefully allowed me to integrate it with very minor
changes inside the toolkit and to distribute it. He is also my "go to guy"
when I have issues (with my code, I mean).
started mentioning using a mediator pattern to communicate between ViewModels. This
discussion led me to create the Messenger class.
had numerous discussions with me regarding the creation of ViewModels and gave me
food for thoughts...
helped me finalize some thoughts and sparked a lot of new ones. He also gave me
great motivation to write this toolkit, and is an early tester and reviewer of the
gave me a lot of fantastic feedback and ideas for new features
or improving existing features, and was one of the very active early testers.
was often here to keep me company in the wee morning hours, to talk about the direction
and features of the toolkit, and gave me very valuable feeback.
His team at Innoveo
is using the MVVM Light Toolkit in
their new WPF application, and very supportive when it comes to improving and testing
the latest versions!
Brian Henderson and
helped test early versions and
gave precious feedback and suggestions to improve the features.
helped me with an issue and suggested I use a hack to solve it.
"I think you can
safely say the worse line of code in your toolkit is my one :-)"
for the MANY discussions we had around the pattern
and the best way to implement it in various situations.
Praises about the MVVM light toolkit
- MVVM Light Toolkit is simply awesome - @robymes
Taking @LBugnion's MVVM Light Toolkit for a spin. Effing A! Totally easy. Mad props.
#MVVM Light Toolkit is pretty nice. Light and to the point! Fills in all the gaps
we struggle with usually :) - @HydroMan
I have been using #MVVM Light Toolkit by @LBugnion for a while now. It's light on
features, but still functional and very useful -
@LBugnion is taking out some of the monotony of implementing MVVM http://digg.com/u15wEj
with MVVM light toolkit, the monotony killer :-) -
Just got the MvvmLight toolkit, looks great, good work! -
just want to say I love mvvm lite. I love the mediator pattern you have. I use it
evrywhere to decouple b/n view & vm interaction -
The Mvvm Light toolkit v3 alpha 2 by @LBugnion
is very good. - @gulrog
Agreed...your EventToCommand code is very, very useful. Already plugged it in and
stripped out the old way I was doing it. - @DanWahlin
Tweaking my RIA/MVVM app, I think I have fallen in love with MVVM Light's Messenger,
a little too much... - @ShawnWildermuth