I had the exact same thoughts couple of months ago, as I really liked the MvvmCross concept, and of course the advantage of using XForms for unified UI.
MvvmCross is great for building app with common logic (the shared project), and having the UI in different projects (iOS & Android).
However, this is not needed, as all the UI is stored in a single shared project, and the navigation and all other Mvvm patterns can be easily achieved with MvvmLight (check out this post).
In cases where you want to have a different UI in a specific platform, Xamarin forms introduced a new concept called Renderers - where you can invoke the native UI capabilties, as you would have done in two different UI components before XForms.
An example of usage in Renderer (taken from Xamarin sample):
In your shared project, you'd like to have a custom Entry with different look in iOS, then you'll create this class :
public class MyEntry : Entry {}
And in Your iOS code, you'd like to do something like this:
[assembly: ExportRenderer (typeof (MyEntry), typeof (MyEntryRenderer))]
public class MyEntryRenderer : EntryRenderer
{
// Override the OnElementChanged method so we can tweak this renderer post-initial setup
protected override void OnElementChanged (ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged (e);
if (Control != null) { // perform initial setup
// do whatever you want to the UITextField here!
Control.BackgroundColor = UIColor.LightGray;
Control.BorderStyle = UITextBorderStyle.Line;
}
}
}
After you'll get familiar with Mvvm light, you'll see that the navigation between viewModels is done by a component called INavigationService
Here is a code snippet from my app:
_navigationService.NavigateTo("UserDetailsPage", user);
I'm in a context of a view model, which represents a page that contains a users list, and when a specific user is selected, I'm calling to NavigationService, with the key 'UserDetailsPage', which is registered in the configuration for a page, which also receives a parameter 'user'.
I would also like to recommend this video for capturing the best of MvvmLight has to offer.