Skip to content
This repository has been archived by the owner on Dec 18, 2017. It is now read-only.
PeterBurke edited this page Jul 30, 2015 · 2 revisions

Welcome to the MvvmCross-Forms wiki!

MvvmCross-Forms is a derivative of MvvmCross that targets Xamarin Forms cross platform development. The objective is to make it easy for developers to fast track and get started with the combination of Xamarin Forms and MvvmCross framework and plugins.

The Wiki has a set of short articles that you can see in the custom sidebar to the right of this page. You should read these in order, but please do skip forward if you feel comfortable with the content then skip forward.

Eventually you will reach articles that correspond to working examples that you can load from GitHub.

Important The examples are linked to NuGet packages including MvvmCross and MvvmCross-Forms packages that are currently in pre-release and under development. For non MvvmCross packages like Xamarin, NewtonSoft, etc. our policy is to link to stable releases. If you reinstall the MvvmCross packages back to currently stable everything will break. Hopefully we are not too far away from releasing MvvmCross 4 and MvvmCross-Forms 4 as stable packages.

About MvvmCross-Forms

MvvmCross by itself is lacking functionality to work with Xamarin Forms. MvvmCross-Forms provides a set of "Form Presenters", these are assemblies one for the PCL and one for each platform target. These provide the interfacing between Xamarin Forms and MvvMCross plus Plugins.

The MvvmCross-Forms Samples

The easiest way to get started with MvvmCross-Forms is to pick one of the sample solutions, copy it and modify the coding to provide the desired application.

Current State and Future Direction

Currently there are just two samples each having two versions, one for C# and one for XAML. The first example demonstrates the very basics of an MvvmCross-Forms application: Setup, MvvM View ViewModel binding, MvvM Commands and Navigation.

The second sample originally written by one of us Tomasz Cielecki seven months ago. Tomasz is the original founder of MvvmCross-Forms. This example is a simple App where you search for information about a Movie, get a list of results that you can open and then Navigate to a page of details. It uses an MvvmCross plug-in called Web Browser that sends requests to a Web Site and uses the returned information.

Almost every App one can imagine will need to access a Restful Web Service. In this example you enter the name of a Movie and it sends this off to the Restful web service at "api.themoviedb.org/3/" and gets back a json packet that it decodes using Newtonsoft.Json (Json.net) and presents as a list.

Clicking an item navigates to the Detailed page where the details from the json are displayed. From here we can click a link that brings up the native web browser using the MvvmCross Web Browser plugin and displays more information.

There are a number of possibilities for the future. We are looking at adding automated testing to the samples specifically Xamarin UITest. This is an advanced form of testing where each form element is given an identifier so that UITest can simulate sending input to these elements and reading back outputs.

We can be guided by your feedback as to anything you would like demonstrated, please raise an issue against the MvvmCross-Forms issues page.