Cross Platform Mobile Development with Xamarin

2,618 views

Published on

Presented to the Minnesota Enterprise Mobile User Group on October 22, 2013

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,618
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
99
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • How to develop applications to reach the broadest range of users in the most effective manner possible for the least cost
  • Cross Platform Mobile Development with Xamarin

    1. 1. Cross Platform Mobile Development with Xamarin C# on iOS and Android Joe Koletar – Mobile Solution Lead
    2. 2. 2 RBA Technical services across the full Microsoft stack Microsoft National Systems Integrator Gold Certified Microsoft Partner 7 Gold Competencies 6 Silver Competencies Named Best Places to Work in the Twin Cities 5 times Joe Koletar Mobile Solution Lead joe.koletar@rbaconsulting.com Minnesota Enterprise Mobile November 2013
    3. 3. Agenda 3 Mobile Space Cross Platform Tools Xamarin Background Xamarin Android Demo Xamarin iOS Demo Minnesota Enterprise Mobile November 2013
    4. 4. 4 User Expectations The Mobile Challenge Consumers now have an expectation that any desired information or service is available, on any appropriate device at your moment of need Forrester Research, The Mobile Mind Shift Minnesota Enterprise Mobile November 2013
    5. 5. 5 Mobile OS Market Share Market share fracture and ongoing shift means there is no obvious, single choice. 3 % Windows 39 % iOS 52 % Android 5 % Blackberry Comscore, Top Smartphone platforms, ending April 2013 Minnesota Enterprise Mobile November 2013
    6. 6. 6 Mobile Wish List Support multiple platforms - BYOD Provide a rich, native experience Get to market quickly Have an easily maintained code base Support future flexibility Do it at a reasonable cost Minnesota Enterprise Mobile November 2013
    7. 7. 7 Mobile Objective How to develop applications to reach the broadest range of users in the most effective manner for the least cost Minnesota Enterprise Mobile November 2013
    8. 8. 8 Understanding the Trade-Offs Performance and familiarity increase the closer to platform specific your app gets but so does cost and complexity. Cross-Platf orm Options Mobile Web Native Wrapper Interpreted Platform Specific Cross Compiled Value Minnesota Enterprise Mobile November 2013
    9. 9. 9 Mobile Web Web site with a mobile customized UI • Detect user device and customize display to device form factor • Responsive Design Minnesota Enterprise Mobile November 2013
    10. 10. Mobile Web 10 Users access the site from device browser Business/Data Code HTML 5/CSS/JavaScript Web Browser Web Browser Web Browser iOS Android Windows Phone Minnesota Enterprise Mobile November 2013
    11. 11. Mobile Web 11 Cost Maintainability Performance User Experience Offline Capability Sensors Toolset Choices Minnesota Enterprise Mobile November 2013
    12. 12. 12 Platform Specific Native application is written for each platform using platform specific IDE Minnesota Enterprise Mobile November 2013
    13. 13. Platform Specific 13 Native application is written for each platform Objective C Java C# Native App Native App Native App iOS Android Windows Phone Minnesota Enterprise Mobile November 2013
    14. 14. Platform Specific 14 Cost Maintainability Performance User Experience Offline Capability Sensors Toolset Choices Minnesota Enterprise Mobile November 2013
    15. 15. 15 Native Wrapper Web App is wrapped in device specific code to run as a Native App Web app is hosted in a chromeless browser window. Minnesota Enterprise Mobile November 2013
    16. 16. Native Wrapper 16 Web app is wrapped in device specific code Access to sensors is achieved through bridge HTML 5/CSS/JavaScript Web View Web View Web View Bridge Bridge Bridge Native API Native API Native API iOS Android Windows Phone Minnesota Enterprise Mobile November 2013
    17. 17. Native Wrapper 17 Cost Maintainability Performance User Experience Offline Capability Sensors Toolset Choices Minnesota Enterprise Mobile November 2013
    18. 18. 18 Interpreted Interpreted applications map a common language to platform specific APIs −Abstraction layer is provided on top of the native API −Code is written to run on the abstraction layer Minnesota Enterprise Mobile November 2013
    19. 19. Interpreted 19 Application is written in scripting language Script proxies provide access to native widgets Script Script Script Script Interpreter Interpreter Interpreter Native API Native API Native API iOS Android Windows Phone Minnesota Enterprise Mobile November 2013
    20. 20. Interpreted 20 Cost Maintainability Performance User Experience Offline Capability Sensors Toolset Choices Minnesota Enterprise Mobile November 2013
    21. 21. 21 Cross Compiled Cross compiled applications map a common language to platform specific SDK Minnesota Enterprise Mobile November 2013
    22. 22. Cross Compiled 22 Common business logic is combined with platform specific UI code into native app C# Business/Data Code C# iOS UI C# Android UI C# Win Phone UI Native App Native App Native App iOS Android Windows Phone Minnesota Enterprise Mobile November 2013
    23. 23. Cross Compiled 23 Cost Maintainability Performance User Experience Offline Capability Sensors Toolset Choices Minnesota Enterprise Mobile November 2013
    24. 24. Xamarin – What do you get 24 Allows programming C# to iOS and Android Access to .NET Base Libraries Full featured C# 5.0 support includes: −LINQ −Generics −Task Parallel Library −Lambdas −Async Minnesota Enterprise Mobile November 2013
    25. 25. 25 Xamarin – How does it work Evolved from Mono project −Open source version of the .NET Runtime −Ported to various platforms C# bindings for nearly the entire underlying platform SDKs −UI code is platform specific −Supports native User Experience −Also imposes a learning curve Minnesota Enterprise Mobile November 2013
    26. 26. 26 Xamarin – How does it work Xamarin.iOS does full Ahead Of Time (AOT) compilation to produce an ARM binary suitable for Apple’s App Store. Xamarin.Android takes advantage of Just In Time (JIT) compilation on the Android device Minnesota Enterprise Mobile November 2013
    27. 27. Xamarin – Demo 27 Android • Hello, World • Tasky Pro iOS • Hello, World • Field Service App Minnesota Enterprise Mobile November 2013
    28. 28. Tasky Pro Architecture 28 iOS App Shared Code Data Layer Data Access Layer TaskDatabase Business Layer TaskManager Application Layer UI Layer Xamarin.iOS assemblies TaskRepository SQLLite System, System.Core, System.Xml Task Android App Application Layer UI Layer Xamarin.Android assemblies Minnesota Enterprise Mobile November 2013
    29. 29. 29 Xamarin – Licenses Licenses are per developer, per platform, per year • Starter – Free, Limited App Size • Indie - $299, Xamarin Studio Only • Business - $999, Visual Studio, Email Support • Enterprise- $1899, 1 day SLA Minnesota Enterprise Mobile November 2013
    30. 30. Links 30 Xamarin Store https://store.xamarin.com/ Xamarin Tutorials and Help http://docs.xamarin.com/ http://forums.xamarin.com/ YouTube Xamarin Channel http://www.youtube.com/user/xamarinhq Minnesota Enterprise Mobile November 2013
    31. 31. 31 More Links Tasky Pro Source Code https://github.com/xamarin/mobilesamples/tree/master/TaskyPro Tasky Pro Case Study http://docs.xamarin.com/Android/Guides/Applica tion_Fundamentals/Building_Cross_Platform_A pplications/Case_Study%3A_Tasky Field Service App http://xamarin.com/prebuilt/fieldservice Minnesota Enterprise Mobile November 2013
    32. 32. Thanks! 32 Download Slides http://tinyurl.com/MnEMOctober2013 Minnesota Enterprise Mobile November 2013

    ×