Your SlideShare is downloading. ×
0
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

532

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
532
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Native look and feel
  • Native look and feel
  • Native performance
  • One language to rule them all!
  • Shared code across mobile and cloudTons of librariesGenerics, Linq, ...You already have: skills, tools, code
  • Shared code across mobile and cloudTons of librariesGenerics, Linq, ...You already have: skills, tools, code
  • Shared code across mobile and cloudTons of librariesGenerics, Linq, ...You already have: skills, tools, code
  • Shared code across mobile and cloudTons of librariesGenerics, Linq, ...You already have: skills, tools, code
  • Create new project  portable class libraryShow project properties change selected libs
  • Miguel de Icaza
  • Point and click UI designCode Completion for Native APIsAdvanced Debugging SupportVisual Studio Integration
  • AccountsAddressBookAdSupportAudioToolboxAnimationBluetoothGraphicsCoreImageLocationsMediaCoreMotionSqlLiteDrmGesturesGoogleMapsHardwareUsbNfcOpenglSaxSpeechWallpaperTextServiceWidgetNet.HttpNet.WifiTelephonyCoreVideoGameKit
  • High PerformanceAOT = Ahead Of Time Compilation
  • To Show:Visual Studio Integration: build up a UI with point and click.Automatic generation of resource file.
  • Separation of ConcernsDesignable (Blend)TestableCode ReuseComplexityMore Code
  • Separation of ConcernsDesignable (Blend)TestableCode ReuseComplexityMore Code
  • Cross Platform MVVMDatabinding for iOS, Android
  • Cross Platform Navigation
  • Cross platform Plugins and servicesDependency Injection
  • Cross Platform MVVMDatabinding for iOS, Android
  • Mention Async Targeting Pack!
  • Activities = class &amp; .axml fileActivities make use of Android Services Intents = the way Android makes things happen (by sending messages). Eg. Launch a new activityAndroid Manifest (= component registration, required permissions, OS Version compatibility)
  • Transcript of "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
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×