/MvvmCross

The Mvvm Platform for Xamarin.iOS, Xamarin.Android, WindowsPhone, WindowsStore, WPF and Mac. Includes databinding support for Android XML, for iOS XIBs and for MonoTouch.Dialog.

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.
  • Windows Universal projects (WPA8.1 and Windows 8.1 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

A really quick way to get started is to use the Visual Studio 2012 MvvmCross Ninja Coder Extension - download it from Visual Studio Gallery

Ninja Plugin

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 more documents and articles, see the Wiki

For more samples, see the MvvmCross Tutorials Repository

Documentation and Examples

Binaries:

Samples and Videos:

The Tip Calc tutorial:

General articles:

iOS Articles:

For more information please also see:

Questions and support:

Contact - but no open-source technical questions via these channels please:

If you would like to help with the project - including the documentation - then please get in touch :)

About MvvmCross...

This project was born from:

  • a fork once long ago of the MonoCross project, moving away from MVC and towards MVVM
  • an extension project from www.cirrious.com
  • some ideas from MvvmLight
  • some ideas from ASP.NET MVC
  • some ideas from OpenNetCF (Phone7.Fx)
  • lots of my own ideas - www.cirrious.com and my blog

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

How to get involved

If you have questions, then please ask them on StackOverflow with tag MvvmCross

Alternatively, people on Xamarin Forums can be very helpful

There is a Jabbr room - on #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/MvvmCross/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 - http://jetbrains.com

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

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