Developing Enterprise Mobile Apps with Xamarin Loren Horsager CEO, Mobile Composer Outcomes • • • • Enterprise Mobile Platform Considerations When and why to use Xamarin How to get started with Xamarin When to use different options in Xamarin – Xamarin.Forms vs. Native – Shared Projects vs. Portable Class Libraries Enterprise Mobile Challenges • Audience – Internal – Enterprise App Stores – External – Public App Stores • Increasing segmentation • Bring your own device • Multiple platforms – iOS – Android – Windows Mobile What does an enterprise team need? • Lots of Skills Needed – Multiple languages – Multiple Platforms – Multiple Devices – Different Implementation processes Development Options Mobile Web Sites Hybrid Apps Native Apps • HTML5 • PhoneGap • Cordova • Java • Objective-C • Swift • .NET • Xamarin • Content Delivery • Quick to develop • Cross Platform • Quick to develop • Best Experience • More $, More Time Why Xamarin? Leverage C#/.NET Developers Build Cross Platform Native Apps Reuse code across platforms Access to Native controls and APIs Native Performance Write Once, Run Everywhere • Portable Class Libraries • Shared Projects • Xamarin.Forms Cost Traditional iOS & Android • Mac • Mobile Devices Total Cost: ~ $3,000 Xamarin iOS & Android • Mac • Mobile Devices • Xamarin Platform – iOS $900 – Android $900 Total Cost: ~ $4,800 + $1,800 Enterprise App Types Consumer Facing Apps • • • • • Brand Content Experience Functional Integration Internal Facing Apps • • • • • Functional Content Integration Experience Brand Consumer Based Apps • Brand will matter • Complete control over layout and design by platform • Depending on the specific design might need to create custom UI for each platform Internal Apps • • • • Xamarin.Forms for quick development Deliver for BYOD situations Tablet and/or Phones Shared codebase – Communications tools and data access tools Xamarin Toolset • Xamarin Studio – Mac • Visual Studio Projects • Build Server for iOS builds from Visual Studio Cross Platform Project Structure Visual Studio Solution - Mobile Models Project Shared App Logic Shared UI Project iOS Project Android Project Windows Mobile Project Code Examples • Hello World App Code Examples • Xamarin.Forms Data Access • Enterprise Framework – WebAPI, Restful services – Breeze • Local Storage – Key/Value pairs – Files • Text Files • Binary Data • Serialized Files – Database (SQLite) Code Examples • Data Access • Local Storage Xamarin Benefits • • • • • Leverage current .NET team Faster time to market for mobile apps Shared code across devices Target more devices Quickly deploy internal Line of Business Apps Orchestrate Demo • • • • Real World Xamarin App Native code Sync with WebAPI, Breeze SQLLite for Offline usage Resources • Download Code at http://developer.xamarin.com/guides/ • Download Presentation at http://lorenhorsager.com/?p=56 • Connect [email protected] @lorenhorsager