Build your next app with
MvvmCross 6
Nicolas Milcoff
COO at DGenix | Microsoft MVP | MvvmCross maintainer
@nmilcoff
Agenda
• What is MvvmCross?
• MvvmCross v6
• Demo: Building an app with Xamarin.Forms & MvvmCross
• MvvmCross vNext!
• Q & A
App development
without compromise
What is MvvmCross?
• Cross-Platform application framework for Xamarin & .NET
• MVVM implementation
• Open Source – part of the .NET Foundation
Supported platforms
• Xamarin.Android
• Xamarin.iOS, Xamarin.Mac, Xamarin.tvOS
• UWP, WPF
• Console
• Tizen (WIP)
• Xamarin.Forms
Features in a nutshell
• ViewModel first navigation system
• Data Bindings, Commands and Converters
• IoC container, DI engine
• Platform specific helpers
• Plugins ecosystem
• Complete flexibility!
Why MvvmCross?
Large and engaged community Fast release cycle
Clean and easy conventions Documentation!
Announcing
MvvmCross 6!
MvvmCross 6 in numbers
• +700 commits
• 18 contributors
• +250 issues / pull requests closed
• 122.878 additions, 147.211 deletions
What’s new?!
Main highlights
Polished support for
Xamarin.Forms
Redesigned framework
initialization
New plugins
architecture
Aligned & improved
ViewPresenters
Initial support
for Tizen
Tons of
Bug fixes!
.NET Standard
Minimum support:
.NET Standard 2
Multitargeting
approach
Contributing
made easy
Flexibility ++
• Reduced required plumbing to get started
• Default Setup classes
• Setup singleton is now available for all platforms
• MvxAppStart now runs automatically, uniformly on all platforms
Plugins
• DownloadCache has been deprecated
• Check for plugin availability
• Ability to reload plugins
• No more bootstrap files!
Creating your own plugins with Mvx 6
1. Write the code
2. Inherit from IMvxPlugin
3. Add the [MvxPlugin] attribute over your class
4. Done!
Navigation & ViewPresenters
• ShowViewModel has been deprecated
• Introduced “CanNavigate” methods
• When overriding a presentation attribute, the ViewModel is now
available
Demo time!
Let’s build a new app using MvvmCross 6
MvvmCross vNext
• Improve the ”Getting started” experience
• Reduce reflection usage at startup time
• Add more async/await
• Formalize monthly releases
Get involved!
Use the framework in
your apps
Blog about your
experiences
Contribute on
GitHub
Support us on
OpenCollective
Questions?

Thanks!
Nicolas Milcoff
COO at DGenix| Microsoft MVP | MvvmCross Maintainer
nicolas.milcoff@d-genix.com
@nmilcoff

Build your next app with MvvmCross 6

  • 1.
    Build your nextapp with MvvmCross 6 Nicolas Milcoff COO at DGenix | Microsoft MVP | MvvmCross maintainer @nmilcoff
  • 2.
    Agenda • What isMvvmCross? • MvvmCross v6 • Demo: Building an app with Xamarin.Forms & MvvmCross • MvvmCross vNext! • Q & A
  • 4.
  • 5.
    What is MvvmCross? •Cross-Platform application framework for Xamarin & .NET • MVVM implementation • Open Source – part of the .NET Foundation
  • 6.
    Supported platforms • Xamarin.Android •Xamarin.iOS, Xamarin.Mac, Xamarin.tvOS • UWP, WPF • Console • Tizen (WIP) • Xamarin.Forms
  • 7.
    Features in anutshell • ViewModel first navigation system • Data Bindings, Commands and Converters • IoC container, DI engine • Platform specific helpers • Plugins ecosystem • Complete flexibility!
  • 8.
    Why MvvmCross? Large andengaged community Fast release cycle Clean and easy conventions Documentation!
  • 9.
  • 10.
    MvvmCross 6 innumbers • +700 commits • 18 contributors • +250 issues / pull requests closed • 122.878 additions, 147.211 deletions
  • 11.
  • 12.
    Main highlights Polished supportfor Xamarin.Forms Redesigned framework initialization New plugins architecture Aligned & improved ViewPresenters Initial support for Tizen Tons of Bug fixes!
  • 13.
    .NET Standard Minimum support: .NETStandard 2 Multitargeting approach Contributing made easy
  • 14.
    Flexibility ++ • Reducedrequired plumbing to get started • Default Setup classes • Setup singleton is now available for all platforms • MvxAppStart now runs automatically, uniformly on all platforms
  • 15.
    Plugins • DownloadCache hasbeen deprecated • Check for plugin availability • Ability to reload plugins • No more bootstrap files!
  • 16.
    Creating your ownplugins with Mvx 6 1. Write the code 2. Inherit from IMvxPlugin 3. Add the [MvxPlugin] attribute over your class 4. Done!
  • 17.
    Navigation & ViewPresenters •ShowViewModel has been deprecated • Introduced “CanNavigate” methods • When overriding a presentation attribute, the ViewModel is now available
  • 18.
    Demo time! Let’s builda new app using MvvmCross 6
  • 19.
    MvvmCross vNext • Improvethe ”Getting started” experience • Reduce reflection usage at startup time • Add more async/await • Formalize monthly releases
  • 20.
    Get involved! Use theframework in your apps Blog about your experiences Contribute on GitHub Support us on OpenCollective
  • 21.
  • 22.
    Thanks! Nicolas Milcoff COO atDGenix| Microsoft MVP | MvvmCross Maintainer nicolas.milcoff@d-genix.com @nmilcoff