29
Welcome to Microsoft User Group Hyderabad January 2014 UG Meet

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

Embed Size (px)

Citation preview

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

Welcome to Microsoft User Group Hyderabad

January 2014 UG Meet

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

Cross Platform, Native Mobile Application Development

Using Xamarin and C#

Page 3: 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

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

Why Mobile?

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

mobile is huge

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

1 billion active mobile broadband subscriptions

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

mobile is fast becoming the primary way people

browse the web

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

mobile only web users

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

Native Platform Languages

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

Write Once, Run Anywhere?

!= !=

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

C# to the rescue!

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

How?

Page 13: Cross Platform, Native Mobile Application Development Using Xamarin and C#
Page 14: Cross Platform, Native Mobile Application Development Using Xamarin and C#

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.

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

Bringing .NET to Linux

Windows Linux

.NET Apps .NET Apps

Microsoft .NET Mono

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

.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

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

Xamarin

• Founded in May 2011

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

• Focused on mobile app development

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

Bringing .NET to Android

Android Kernel

Mono Runtime

.NET APIs

Apps

Android Bindings

Dalvik Runtime

android.* java.*MCW

ACW

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

Brining .NET to iOS

iOS

Mono Runtime

NO RUNTIMES ALLOWED

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

Brining .NET to iOS

iOS

App

Application Code

.NET APIs iOS Bindings

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

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

done in C# with Xamarin.

Page 22: Cross Platform, Native Mobile Application Development Using Xamarin and C#
Page 23: Cross Platform, Native Mobile Application Development Using Xamarin and C#

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

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

Demo Time

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

What Code Can Be Shared?

• Most non-UI or platform code

• Core application logic

• Entities

• LINQ (objects, XML)

• Network access (system.Net)

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

Sharing Code Options• File Linking

• Portable Class Library

• Conditional Compilation

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

Demo Time

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

Reach Me

• http://theshravan.net

• @techieshravan

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

Thank You