Building Cross Platform Mobile Solutions

947 views
899 views

Published on

More info on http://www.techdays.be

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
947
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
48
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Building Cross Platform Mobile Solutions

  1. 1. Building Cross Platform MobileSolutions
  2. 2. @gittetitterproq.blogspot.com
  3. 3. My perfect mobile world ...
  4. 4. My perfect mobile world ...
  5. 5. My perfect mobile world ...
  6. 6. My perfect mobile world ... Data Access Business Logic Service Interface Service Local Service Local Service Local Service LocalConsumption Data/Services Consumption Data/Services Consumption Data/Services Consumption Data/ServicesBusiness Logic Business Logic Business Logic Business Logic UI Logic UI Logic UI Logic UI Logic WP iOS Droid Win8
  7. 7. My perfect mobile world ... Data Access Business Logic Service Interface Service Consumption Local Data/Services Business Logic UI Logic WP iOS Droid Win8
  8. 8. My perfect mobile world ... Data Access Business Logic Service Interface Service Consumption Local Data/Services Business Logic UI Logic WP iOS Droid Win8
  9. 9. My perfect mobile world ... Data Access Business Logic Service Interface Service Consumption Local Data/Services Business Logic UI Logic WP iOS Droid Win8
  10. 10. My perfect mobile world ... Data Access Business Logic Service Interface Service Consumption Local Data/Services Business Logic UI Logic WP iOS Droid Win8
  11. 11. Can we do this? Portable Class Xamarin MvvmCross Libraries
  12. 12. Intro
  13. 13. How did we do this? Portable Class Xamarin MvvmCross Libraries
  14. 14. Portable Class Library- Share code across platforms
  15. 15. Portable Class Library Windows Windows Store App Phone App Startup PCL Startup Views Views ViewModels iOS Android App App Models Startup Startup Views Views
  16. 16. How did we do this? Portable Class Xamarin Libraries
  17. 17. Xamarin for Android/iOS
  18. 18. Xamarin for Android/iOS Data Access Business Logic Service Interface Service Consumption Local Data/Services Business Logic Xamarin UI Logic WP iOS Droid Win8
  19. 19. Xamarin for Android/iOS Code Completion for Native APIs Visual Point and Studio click UI Integration design Advanced Debugging Support
  20. 20. Xamarin for Android/iOS
  21. 21. Xamarin for Android/iOS
  22. 22. Getting Started- Windows PC or Mac- Google Play account / iOS account- Xamarin for Android / Xamarin for iOS: free – 999$
  23. 23. How did we do this? Xamarin MvvmCross
  24. 24. M-V-VM Data Binding (binder)
  25. 25. M-V-VM Designable Separation (Blend) of Concerns More Code reuse structured code Databinding Testable
  26. 26. MvvmCross
  27. 27. MvvmCross Data Binding (binder)
  28. 28. MvvmCross Android WP/Win8 HomeViewModel SessionsViewModel SessionDetailViewModel iOS
  29. 29. MvvmCross Device Plugin Your app Specific MvxWinRTColor Add Plugin IMvxNativeColor MvxAndroidColor Add Plugin MvxWPColor Add Plugin
  30. 30. MvvmCross
  31. 31. MvvmCross - ViewModels - DI - Services/Plugins - Navigation - Unit test
  32. 32. MvvmCross Data Binding (binder)
  33. 33. A WP app with MvvmCross- Data Binding as you know it- ViewModels are auto-wired using MvxPhonePage<TViewModel>- Configure platform specific services ... and that’s it
  34. 34. An Android app with MvvmCross- UI is build up using .axml- Data Binding using json expressions- Navigation mapped to Intents- ViewModels are auto-wired using MvxBindingActivityView<TViewModel>- ValueConverters can be used
  35. 35. Lessons Learned
  36. 36. Why this became my precious - Native UI- Native Performance- One language to rule them all- 95% shared application logic- 100% shared test harness- Overall dev time ≈ dev time per app- Changes can be done in 1 place (most of the time)
  37. 37. Why this became my precious  Portable Class Xamarin MvvmCross Libraries
  38. 38. Related Sessions- Coding and designing for Windows 8 and Windows Phone 8, best practices and reusing code - Laurent Bugnion- Applied MVVM in Windows 8 apps: not your typical MVVM session! - Gill Cleeren- Live coding: The Windows Store Apps showdown - C# vs JavaScript - Iris Classon
  39. 39. Other Resources- MvvmCross - https://github.com/slodge/MvvmCross - http://slodge.blogspot.com- Xamarin - http://xamarin.com/ - monogame.net- The bits - https://github.com/vermegi/TechdaysBeDemo
  40. 40. Thanks!@gittetitterproq.blogspot.com

×