MVVM Done Right with Xamarin.Forms and Prism
Session: Xamarin.Forms enables developers to create cross platform native mobile apps, using C# and XAML, from a single codebase. This is especially great if you are an experienced XAML developer, because Xamarin.Forms lets you take your current XAML skills mobile to bridge the gap between the Windows world and the mobile world, and makes you feel comfortable building native cross platform applications. Having said that, if you develop in XAML, you design your apps with MVVM at the core of your app architecture. That’s where the problem lies with Xamarin.Forms. It’s no secret that developing MVVM friendly Xamarin.Forms applications can be challenging to say the least. It’s messaging center is static, it’s dependency service is static, its system for showing alerts requires a page instance, no built-in logging, and the most important issue of them all is that its entire navigation system depends on page instances. Where does this leave us? It leaves you with a not-so MVVM friendly application with static references and Page objects scattered throughout your ViewModels. This makes things much more difficult to test, maintain, scale, and not to mention violates just about every MVVM principle out there. Join Brian Lagunas in this session to learn how we can remove the static classes, remove the page references, and remove the code-behind by leveraging the features of Prism for Xamarin.Forms to create pure MVVM Xamarin.Forms applications with logging, commanding, event aggregation, IoC, MVVM, dialog services, and truly decoupled navigation in your Xamarin.Forms applications.
Bio: Brian Lagunas is a Microsoft MVP, a Microsoft Patterns & Practices Champion, co-leader of the Boise .Net Developers User Group (NETDUG), board member of Boise Code Camp, speaker, trainer, and Pluralsight author. He can be found speaking at a variety of user groups and code camps around the world. His talks always involve some form of XAML, as well as how to build modular applications with Prism.