MVVMbasics

Building Apps for more than one platform with no additional effort!

MVVMbasics is a .NET library that provides App developers with a framework to develop Apps for multiple target platforms without writing redundant code. If you’ve got a great idea for implementing a Windows Store App – why not publish the same App also for Windows Phone, or as a small Desktop Tool to be used on conventional personal computers? With MVVMbasics you don’t even need to write additional code besides creating the basic user interface for the additional target platforms. In addition, even if you don’t want to release Apps for all the platforms right now, you can still add additional target platforms later on without the need of converting the whole codebase to different APIs.

The MVVMbasics framework builds upon the well-known MVVM design pattern and the .NET Portable Class Library technology, however it standardizes the differences in implementations for the Windows Desktop (WPF), Windows 8 and Windows 10 Store Apps, and Windows Phone platforms, allowing to write code that seamlessly interacts with all those platforms.

The framework consists of the MVVMbasics core library and platform-specific Extension Packages that act as wrappers to the different platform-specific APIs and interfaces. Apps based on MVVMbasics may target all platforms for which an Extension Package is available. At the moment, this includes the following platforms:

  • Windows 10 Universal Apps
  • Windows Store Apps for Windows 8.1 and higher
  • Windows Phone 8.1 and higher
  • Windows Phone Silverlight 8.0
  • Android (via Xamarin.Forms)
  • iOS (via Xamarin.Forms)
  • WPF Desktop Applications

However, MVVMbasics is an interesting option even for single-platform projects, since it is a very light-weight extension library that offeres standardized implementations of Data Binding through the INotifyPropertyChanged interface as well as Command Binding, and therefore helps reducing the necessity of writing redundant code for each newly created App project.

To get an idea of what MVVMbasics can do for you, check out the → Features page that presents the framework’s characteristics accompanied with sample code snippets!

Additional Resources

→ Version history

→ Documentation & Tutorials

→ Templates

→ Class Reference

→ Download

→ Source Code