/MvvmCross

Cross-Platform Mvvm Platform for MonoTouch, MonoDroid, WP7 and WinRT. Includes databinding support for Android XML, for MonoTouch XIBs and for MonoTouch.Dialog. The vNext branch is now live!

Primary LanguageC#Microsoft Public LicenseMS-PL

MvvmCross v3

This project provides a cross-platform mvvm mobile development framework built on top of:

  • Silverlight for WP7, WP8
  • Mono for Android (or Xamarin.Android)
  • MonoTouch for iOS (or Xamarin.iOS)
  • the WinRT XAML framework for Windows 8 Store apps.
  • WPF
  • Mono for Mac (or Xamarin.Mac)

This project makes extensive use of Portable Class Libraries to provide maintainable cross platform C# native applications.

Getting started

I have started a tutorial series entitled N+1 Days of MvvmCross starting with the basics of your first MvvmCross application and covering lists, commands, binding, and more with samples for each device. The code for N+1 Days of MvvmCross is available on GitHub

For an overview of how I personally develop, see http://slodge.blogspot.co.uk/2012/11/azure-to-wpmonodroidmonotouch-video-of.html or:

youTube youTube youTube

http://www.youtube.com/watch?v=0jGz__A_2pk

For a list of all sorts of resources, questions and answers, see http://slodge.blogspot.co.uk/p/mvvmcross-quicklist.html

For a first step Tutorial see, https://github.com/slodge/MvvmCross/wiki/Tutorial-Part-1

To learn about what MVVM is... please look at this introduction from Infragistics http://blogs.infragistics.com/blogs/anand_raja/archive/2012/02/20/the-model-view-viewmodel-101-part-1.aspx and http://blogs.infragistics.com/blogs/anand_raja/archive/2012/03/06/introduction-to-the-model-view-viewmodel-pattern-part-2.aspx.

For some background on Portable Libraries see http://blogs.msdn.com/b/dsplaisted/archive/2012/08/27/how-to-make-portable-class-libraries-work-for-you.aspx

http://vimeo.com/39019207 provides a video of me talking about this project (with poor noise quality - sorry...)

For more presentations (without sound) see http://www.slideshare.net/cirrious/

MvvmCross made it briefly to Channel9 - see http://slodge.blogspot.co.uk/2012/06/mvvmcross-on-channel9.html

To see how MvvmCross provides ViewModels, Views and bindings, see the samples within this project. This really is the best "Getting Started" information available.

For International inspiration, see:

About MvvmCross...

This project was born from:

Here is the framework in action for the sqlbits conference app: sql bits

Public projects that have used this framework include:

v3

This is the third version of the MvvmCross platform - v3.

For more info on what this version specifically aims to provide, see:

If you are looking for the "older" version of MvvmCross, then it's still available and still receiving updates on the master branch at

What's here...

Currently included:

  • Mono for Android
  • MonoTouch
  • WindowsPhone (mainly WP7)
  • WinRT
  • WPF
  • some broken .Mac stuff (early days)
  • some Console/NUnit work (although this is not supported as a full deployment target currently)

Samples:

  • Book sample
  • Conference sample
  • CustomerManagement sample
  • Tutorial sample
  • TwitterSearch sample

With:

  • Some empty project templates to use in VisualStudio - these will be updated 'soon'

How to get involved

If you have questions, then please ask them on StackOverflow with tag mvvmcross - http://stackoverflow.com/questions/tagged/mvvmcross

Alternatively, people on Xamarin forums can be very helpful - http://forums.xamarin.com/

There is a Jabbr room - on http://jabbr.net/#/rooms/mvvmcross - but please ask questions on StackOverflow if you can - this helps make the questions and the answers better!

If I haven't seen your question and no-one else has helped, then you can also contact me - me at slodge dot com - but please be patient with me if I'm busy with work.

If you need professional support, then please do contact me - I work freelance and can assist. Please do consider hiring me - everyone likes 'free', but I'm worth paying for :)

If you find bugs or have feature requests, then please report them through GitHub - https://github.com/slodge/MvvmCross/issues

If you would like to help make MvvmCross even better, then please do:

  • new code - including pull requests via GitHub - or you can fork the project and build your own extensions
  • new plugins - can be hosted in your own repositories
  • please do blog about your adventures with MvvmCross - we're currently very light on documentation!
  • if you use the framework, then please let me know - we love to see what people are doing with it.

Licensing

This project is developed and distributed under Ms-Pl - see http://opensource.org/licenses/ms-pl.html

Thanks

Thanks to McCannLondon for sponsoring the initial part of this work - http://blogs.mccannlondon.co.uk/

Thanks to lots of people for their input over time - will add to this list...

Thanks to JetBrains for a community Resharper license to use on this project.

Thanks to Infragistics for a control license for Nuclios and .Net.

If you want to support this project, please do get in touch!