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