Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Building Cross Platform MobileSolutions
@gittetitterproq.blogspot.com
My perfect mobile world ...
My perfect mobile world ...
My perfect mobile world ...
My perfect mobile world ...                                               Data Access                                     ...
My perfect mobile world ...                         Data Access                     Business Logic                    Serv...
My perfect mobile world ...                         Data Access                     Business Logic                    Serv...
My perfect mobile world ...                         Data Access                     Business Logic                    Serv...
My perfect mobile world ...                         Data Access                     Business Logic                    Serv...
Can we do this?                  Portable                    Class     Xamarin   MvvmCross                  Libraries
Intro
How did we do this?         Portable           Class      Xamarin   MvvmCross         Libraries
Portable Class Library-   Share code across platforms
Portable Class Library  Windows                          Windows  Store App                       Phone App     Startup   ...
How did we do this?         Portable           Class      Xamarin         Libraries
Xamarin for Android/iOS
Xamarin for Android/iOS                           Data Access                       Business Logic                      Se...
Xamarin for Android/iOS                                  Code                               Completion                    ...
Xamarin for Android/iOS
Xamarin for Android/iOS
Getting Started-   Windows PC or Mac-   Google Play account /      iOS account-   Xamarin for Android /      Xamarin for i...
How did we do this?                      Xamarin   MvvmCross
M-V-VM         Data Binding           (binder)
M-V-VM                 Designable    Separation                  (Blend)          of                                Concer...
MvvmCross
MvvmCross            Data Binding              (binder)
MvvmCross  Android  WP/Win8   HomeViewModel   SessionsViewModel   SessionDetailViewModel    iOS
MvvmCross                     Device    Plugin                            Your app                     Specific           ...
MvvmCross
MvvmCross            -   ViewModels            -   DI            -   Services/Plugins            -   Navigation           ...
MvvmCross            Data Binding              (binder)
A WP app with MvvmCross-   Data Binding as you know it-   ViewModels are auto-wired using MvxPhonePage<TViewModel>-   Conf...
An Android app with MvvmCross- UI is build up using .axml- Data Binding using json expressions- Navigation mapped to Inten...
Lessons Learned
Why this became my precious -   Native UI-   Native Performance-   One language to rule them all-   95% shared applicatio...
Why this became my precious          Portable           Class     Xamarin   MvvmCross         Libraries
Related Sessions-       Coding and designing for Windows 8 and Windows Phone 8, best        practices and reusing code    ...
Other Resources-       MvvmCross    -     https://github.com/slodge/MvvmCross    -     http://slodge.blogspot.com-       X...
Thanks!@gittetitterproq.blogspot.com
Building Cross Platform Mobile Solutions
Building Cross Platform Mobile Solutions
Building Cross Platform Mobile Solutions
Building Cross Platform Mobile Solutions
Building Cross Platform Mobile Solutions
Building Cross Platform Mobile Solutions
Upcoming SlideShare
Loading in …5
×

Building Cross Platform Mobile Solutions

1,602 views

Published on

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

  • Be the first to comment

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

×