I recently started a new Xamarin.Forms project. Being new to mobile development, I started by researching best practices for an “enterprise application.” By this, I mean I was looking for frameworks that support maintainability, testability, and generally encourage development best practices. While I’ve never created more than a “Hello World” application in Xamarin, I quickly learned about MVVM, and was reminded of some of the benefits of dependency injection.
After playing around with a couple frameworks, I settled on using Prism.