Cross Platform, Native Mobile Application Development Using Xamarin and C#

Preview:

Citation preview

Welcome to Microsoft User Group Hyderabad

January 2014 UG Meet

Cross Platform, Native Mobile Application Development

Using Xamarin and C#

Your Presenter

• Shravan Kumar Kasagoni

• Senior Mobile Web Software Engineer @ Thomson Reuters

• Microsoft MVP - ASP.NET/IIS

• http://theshravan.net

• @techieshravan

Why Mobile?

mobile is huge

1 billion active mobile broadband subscriptions

mobile is fast becoming the primary way people

browse the web

mobile only web users

Native Platform Languages

Write Once, Run Anywhere?

!= !=

C# to the rescue!

How?

What is Mono?• Open source implementation of the .NET platform

created by Ximian (ECMA 334/335)

• 2001: Created to bring Windows applications to Linux

• 2003: Acquired by Novell with Ximian

• Matured at Novell in research mode; now a world-class runtime.

Bringing .NET to Linux

Windows Linux

.NET Apps .NET Apps

Microsoft .NET Mono

.NET on Android,iOS

Linux

Mono

iOS

Android

MonoTouch

Mono for Android

iOS

Xamarin.iOS

Android

Xamarin.Android

Free Software/Open Source License Commercial License

Xamarin

• Founded in May 2011

• Xamarin has a perpetual license to all Mono IP: Copyrights, patents and trademarks

• Focused on mobile app development

Bringing .NET to Android

Android Kernel

Mono Runtime

.NET APIs

Apps

Android Bindings

Dalvik Runtime

android.* java.*MCW

ACW

Brining .NET to iOS

iOS

Mono Runtime

NO RUNTIMES ALLOWED

Brining .NET to iOS

iOS

App

Application Code

.NET APIs iOS Bindings

Anything you can do in Objective-C or Java can be

done in C# with Xamarin.

C# Development Environments

MAC OSX Windows

IDE Xamarin Studio Xamarin Studio VS + Xamarin Business Edition

iOS WORKS WORKS + MAC

Android WORKS WORKS WORKS

MAC WORKS

Demo Time

What Code Can Be Shared?

• Most non-UI or platform code

• Core application logic

• Entities

• LINQ (objects, XML)

• Network access (system.Net)

Sharing Code Options• File Linking

• Portable Class Library

• Conditional Compilation

Demo Time

Reach Me

• http://theshravan.net

• @techieshravan

Thank You

Recommended