Mobile development strategies with MVVM

1,402 views
1,217 views

Published on

Take an in-depth look at mobile development architecture patterns including MVC and MVVM. Explore what you get out of the box, and what you get with frameworks such as Bind, Mvvm Light, and MvvmCross.

Code is all with C# and xamarin on android, ios, and windows phone

Published in: Engineering, Technology, Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,402
On SlideShare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
49
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Mobile development strategies with MVVM

  1. 1. Data Bind Everything! Mobile Development Strategies with MVVM James Montemagno Developer Evangelist, Xamarin Tweet: @JamesMontemagno, @XamarinHQ #Xamarin www.MotzCod.es, www.Xamarin.com
  2. 2. “MVVM is awesome and will revolutionize your application development process.” -James Montemagno
  3. 3. Let’s talk architecture (because that is fun)
  4. 4. Well First…. What is Xamarin?
  5. 5. Mobile Development Approaches
  6. 6. Single App OR OR
  7. 7. Silo Approach
  8. 8. Write Once, Run Anywhere Approach Lowest common denominator App Generation
  9. 9. Write Once, Run Anywhere Approach Lowest common denominator App Generation
  10. 10. Xamarin’s Unique Approach
  11. 11. C# on 2.6 Billion Devices
  12. 12. 100% API Coverage
  13. 13. Anything you can do in Objective-C or Java can be done in C# and Visual Studio with Xamarin!
  14. 14. Xamarin.iOS does full Ahead Of Time (AOT) compilation to produce an ARM binary for Apple’s App Store. Native Performance Xamarin.Android takes advantage of Just In Time (JIT) compilation on the Android device.
  15. 15. Code Sharing: Accelerate Development Android iOS Mac WP
  16. 16. For real, let’s talk architecture
  17. 17. Why do we use them? •Organize & Maintain Code •Abstract away all business logic •Re-use a high percent of our code •Make our views dumb! •Our architect told us to
  18. 18. What is MVC?
  19. 19. Model-View-Controller Model View Controller Updates Sees Uses Manipulates
  20. 20. What is MVVM?
  21. 21. Model-View-ViewModel ModelView ViewModel How to display information What to display Flow of interaction Business Logic Data objects Events Data Data
  22. 22. MVVM != Data Binding
  23. 23. MVVM Framework == Data Binding
  24. 24. Model-View-ViewModel ModelView ViewModel Magic Binding Framework Here
  25. 25. Live Coding Adventure 1
  26. 26. Microsoft World • Built into: Windows Phone Windows Store WPF • Does not: Navigation IoC Fun Stuff • Provides: Data Binding Commands
  27. 27. What about….
  28. 28. Enter Frank Krueger & Bind! • https://github.com/praeclarum/Bind • Easy two-way data binding
  29. 29. Live Coding Adventure 2
  30. 30. How about even more?
  31. 31. == AWESOME How about even more?
  32. 32. MvvmCross • Super MVVM framework for all • Data Binding • Commands • Navigation • IoC • Plugins • So Much More…
  33. 33. Live Coding Adventure 3
  34. 34. Xamarin Evolve 2013 Sold Out! 650 Conference Attendees 8,400 Live stream hours viewed #1 Trending on Twitter during keynote Watch Sessions & Highlights: http://xamarin.com/evolve/2013
  35. 35. www.xamarin.com/evolve
  36. 36. • Sign up at xamarin.com/university • Learn to build native iOS, Android, and Windows apps with C#. • Live online, interactive classes with live coding. • Labs with full source code solutions. • Access to Xamarin Certified Developer exam. • Unlimited Annual Access: Enjoy unlimited, live mobile development training from mobile experts, on your schedule, and as often as you'd like.
  37. 37. Where Do I Start? Xamarin.com
  38. 38. GET YOUR C# SHIRT TODAY!
  39. 39. Find Me: @JamesMontemagno www.MotzCod.es GitHub.com/JamesMontemagno Xamarin: @XamarinHQ www.Xamarin.com MvvmCross http://mvvmcross.wordpress.com GitHub.com/MvvmCross NuGet: MvvmCross Latest App My StepCounter for Android & iOS www.MyStepCounterApp.com 100% Open Source Starter Compatible

×