Slide 1

Slide 1 text

10 things in v3 @slodge MvvmCross v3 Spring Community Technology Preview Refresh 1

Slide 2

Slide 2 text

10 things in v3 @slodge MvvmCross v3 Spring Community Technology Preview Refresh 1 MvvmCross v3 – Hot Tuna

Slide 3

Slide 3 text

1. CoreCross We’ve separated out a new base library containing: – Trace – Plugins – IoC – Shared interfaces and concepts (e.g. MvxColor) IoC and plugins can now be used outside of MvvmCross CoreCross

Slide 4

Slide 4 text

2. Binding Android and iOS binding now sits below MvvmCross Data-binding can now be used outside of MvvmCross! CoreCross Binding

Slide 5

Slide 5 text

3. Swiss Binding Swiss binding is now the only binding supported by default. CoreCross Binding {'Text':{'Path':When‘,‘Converter’:‘TimeAgo’}} Text When, Converter=TimeAgo

Slide 6

Slide 6 text

4. Binding Weak References Android and iOS binding now use WeakReferences to help avoid memory leaks when: - Binding to singletons/long-living ViewModel objects. - Binding to iOS NSObjects which reference other NSObjects (oh my!) CoreCross Binding weak

Slide 7

Slide 7 text

5. MvvmCross MvvmCross itself is lighter: - Removed little used code like the old style ViewModelLocators. - Removed the dependency on Json.Net (but I still ♥ it!) MvvmCross CoreCross Binding weak

Slide 8

Slide 8 text

6. iOS Flattened the class and naming structure. Battled the Heizenbugs: Views no longer inherit from generics Added MvxBindingContext for even better Data-Binding MvvmCross MvxBindingTouchViewController MvxViewController CoreCross Binding weak

Slide 9

Slide 9 text

7. Android Flattened the class and naming structure. Unified the View style Views no longer inherit from generics Adding MvxFragment support using MvxBindingContext shared with iOS MvvmCross CoreCross Binding MvxBindableListView MvxListView weak

Slide 10

Slide 10 text

8. WP/WinRT Unified the View style Views no longer inherit from generics Reuse of SQLite available for WP and WinRT (as well as iOS and Droid) via PCL plugin. MvvmCross CoreCross Binding weak

Slide 11

Slide 11 text

9. Mac A work in progress … Thanks especially to @deapsquatter at @CentraStage for early prototypes MvvmCross CoreCross Binding weak

Slide 12

Slide 12 text

10. Elevators for the Learning Cliff Works in progress: • Documentation • Samples • Video Tutorials • Binary Distribution vs NuGet vs Xamarin Component Store • PCL support within Xamarin Watch this space… or contribute to it! MvvmCross CoreCross Binding weak

Slide 13

Slide 13 text

MvvmCross v3 – Hot Tuna The timeline… Winter 2012 – spawning Spring 2013 – gestation Summer 2013 – Hot Tuna https://github.com/slodge/MvvmCross/tree/v3 MvvmCross CoreCross Binding weak