Tcdnug xamarin

507 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
507
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Presentation has 4 partsSurvey of cross platform options – give Xamarin contextHow Xamarin worksAndroid demoiOS demoGiveaways
  • Note that this is mostly my own taxonomy
  • AdvantagesLowest costOnly need to write it onceVery device agnosticNo need to install or provisionFamiliar toolset – HTML5, CSS, JavaScriptBusiness logic can be in more robust languageDisadvantagesDoesn’t handle disconnected experience wellNot in App StoreLeast compelling UI (lowest common denominator)Varying browser support HTML 5 standardsLimited device sensor integrationShallow Experience“Delivering a rich, immersive, transformative mobile experience has become the de facto requirement to ensure wide adoption and success.”Appcelerator Q1 2013 Mobile Enterprise Report
  • AdvantagesCan be tailored to each deviceSupports disconnected experienceMost flexible sensor integrationAccess to latest APIsBest performanceDeep experienceDisadvantagesExpensiveMust be coded and maintained for each environmentRequires a variety of developer toolsetsLeading platform changes frequently
  • AdvantagesMust be coded only onceSupports disconnected experienceSupports sensor integration via wrapping APIAbility to use familiar toolsetDisadvantagesLeast compelling UIComplex logic in JavaScriptPerformance can be an issue
  • Titanium Appcelerator provides a JavaScript implementation of the Android and iOS APIRhoMobile provides a Ruby implementation of the Android, iOS, Windows phone API and others
  • AdvantagesMust be coded only onceSupports disconnected experienceSupports sensor integration via InterpreterAbility to use common languageBetter UI control than Native WrapperDisadvantagesPerformance can be an issue, but less so than native wrapper appsConstraints on business logic language
  • AdvantagesBusiness logic must be coded only onceSupports disconnected experienceSupports sensor integrationAbility to use common languageBetter UI control than Native WrapperEssentially native performanceDisadvantagesMust understand platform specific UI codingLarger executable
  • Need to make sure security is appropriate
  • Tcdnug xamarin

    1. 1. CROSS PLATFORM DEVELOPMENTWITH XAMARIN TOOLSJoe KoletarMobile Solution Lead - Application Development
    2. 2. RBA Microsoft National Systems Integrator Gold Certified Microsoft Partner 7 Gold Competencies 6 Silver Competencies Named Best Places to Work in the Twin Cities 4 times Xamarin Premier Partner Joe Koletar Mobile Solutions Lead joe.koletar@rbaconsulting.comP:2 CROSS PLATFORM MOBILE DEVELOPMENT
    3. 3. MOBILE DEVICE OPPORTUNITY Opportunity – Mobile devices present an opportunity to reach users where its most convenient • Business to Consumer (B2C) Applications • Business to Business (B2B) Applications Challenge – How to develop applications to reach the broadest range of users in the most effective manner possible for the least costP:3 CROSS PLATFORM MOBILE DEVELOPMENT
    4. 4. CROSS PLATFORM TOOL OPTIONS There are a spectrum of technology options to provide cross platform support for enterprise apps Cross Platform Solutions Mobile Native Cross Interpreted Native Web Wrapper CompiledP:4 CROSS PLATFORM MOBILE DEVELOPMENT
    5. 5. MOBILE WEB Definition Web site with a mobile customized UI – Detect user device and customize display to device form factor • Responsive Design – HTML 5 encourages a common browser experience and provides some offline supportP:5 CROSS PLATFORM MOBILE DEVELOPMENT
    6. 6. MOBILE WEB How it works Users access web site from device browser Business/Data Code HTML5/CSS/JavaScript Web Browser Web Browser Web Browser iOS Android Windows PhoneP:6 CROSS PLATFORM MOBILE DEVELOPMENT
    7. 7. MOBILE WEBCostMaintainabilityPerformanceUser ExperienceOffline CapabilitySensorsToolset ChoicesP:7 CROSS PLATFORM MOBILE DEVELOPMENT
    8. 8. NATIVE APP Definition Native App is written custom for each deviceP:8 CROSS PLATFORM MOBILE DEVELOPMENT
    9. 9. NATIVE APP How it works Native App is written custom for each platform Objective C Java C# Native App Native App Native App iOS Android Windows PhoneP:9 CROSS PLATFORM MOBILE DEVELOPMENT
    10. 10. NATIVE APP Cost Maintainability Performance User Experience Offline Capability Sensors Toolset ChoicesP:10 CROSS PLATFORM MOBILE DEVELOPMENT
    11. 11. NATIVE WRAPPER Definition Web App is wrapped in device specific code to run as a Native App – Web app is hosted in a chromeless browser window.P:11 CROSS PLATFORM MOBILE DEVELOPMENT
    12. 12. NATIVE WRAPPER How it works Web App is wrapped in device specific code – Access to sensors is achieved through a bridge HTML5/CSS/JavaScript Web View Web View Web View Bridge Bridge Bridge Native API Native API Native API iOS Android Windows PhoneP:12 CROSS PLATFORM MOBILE DEVELOPMENT
    13. 13. NATIVE WRAPPER Cost Maintainability Performance User Experience Offline Capability Sensors Toolset ChoicesP:13 CROSS PLATFORM MOBILE DEVELOPMENT
    14. 14. INTERPRETED Definition 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 layerP:14 CROSS PLATFORM MOBILE DEVELOPMENT
    15. 15. INTERPRETED How it works Application is written in scripting language Script proxies provide access to native widgets JavaScript Script Script Script Interpreter Interpreter Interpreter Native API Native API Native API iOS Android Windows PhoneP:15 CROSS PLATFORM MOBILE DEVELOPMENT
    16. 16. INTERPRETED Cost Maintainability Performance User Experience Offline Capability Sensors Toolset ChoicesP:16 CROSS PLATFORM MOBILE DEVELOPMENT
    17. 17. CROSS COMPILED Definition Cross compiled applications map a common language to platform specific languagesP:17 CROSS PLATFORM MOBILE DEVELOPMENT
    18. 18. CROSS COMPILED How it works 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 PhoneP:18 CROSS PLATFORM MOBILE DEVELOPMENT
    19. 19. CROSS COMPILED Cost Maintainability Performance User Experience Offline Capability Sensors Toolset ChoicesP:19 CROSS PLATFORM MOBILE DEVELOPMENT
    20. 20. XAMARIN TOOLS – A DEEPER LOOK Allows programming C# to iOS and Android – Access to .NET Base Libraries – Full featured language support: • LINQ • Generics • Task Parallel Library • Lambdas – C# 5.0 support targeted for March • Async feature C# bindings for nearly the entire underlying platform SDKs – UI code is platform specific – Supports native User Experience – Also imposes a learning curveP:20 XAMARIN TOOLS
    21. 21. XAMARIN – HOW IT WORKS Built on top of Mono Open source version of the .NET Framework Ported to numerous platforms On Android, Xamarin’s compiler compiles down to Intermediate Language (IL), which is then Just-in-Time (JIT) compiled to native assembly when the application launches. On iOS, Xamarin’s Ahead-of-Time (AOT) compiler compiles Xamarin.iOS applications directly to native ARM assembly code.P:21 XAMARIN TOOLS
    22. 22. XAMARIN PRODUCTS Mono for Android – Targets Android platform – Can code in either Visual Studio or MonoDevelop MonoTouch – Targets iOS platform – Requires Macintosh computer running at least OSX Lion – Can code in MonoDevelop Free Trial versions do not support deployment to device – Must perform testing in an emulator/simulatorP:22 XAMARIN TOOLS
    23. 23. XAMARIN DEMOP:23 XAMARIN TOOLS
    24. 24. ANDROID LAYOUTP:24 XAMARIN TOOLS
    25. 25. XAMARIN ARCHITECTURE TaskyPro Architecture across platformsP:25 XAMARIN TOOLS
    26. 26. XAMARIN LINKS Download trial software at: – http://xamarin.com/trial TaskyPro Source Code – https://github.com/xamarin/mobile-samples/tree/master/TaskyPro TaskyPro Case Study – http://docs.xamarin.com/Android/Guides/Application_Fundamentals/B uilding_Cross_Platform_Applications/Case_Study%3A_Tasky Numerous tutorials available at Xamarin Dev Center – http://docs.xamarin.com/ – http://forums.xamarin.com/ YouTube Xamarin Channel – http://www.youtube.com/user/xamarinhq X86 Emulator install instructions – http://docs.xamarin.com/Android/Guides/Deployment,_Testing,_and_Metrics/Confi guring_the_x86_EmulatorP:26 XAMARIN TOOLS
    27. 27. MOBILE TOOLS SELECTION Considerations Your mobile technology is a vital strategic selection – Must consider immediate and future needs – Assess skills needed to build and maintain – Determine best fit for the applicationP:27 CROSS PLATFORM MOBILE DEVELOPMENT
    28. 28. CLOSING Questions GiveawaysP:28 CROSS PLATFORM MOBILE DEVELOPMENT

    ×