+ All Categories
Home > Technology > Introduction to Xamarin Development

Introduction to Xamarin Development

Date post: 26-Jul-2015
Category:
Upload: isham-mohamed-iqbal
View: 176 times
Download: 5 times
Share this document with a friend
Popular Tags:
30
M.I. Isham Mohamed Intro to Cross Platform Native apps development With Xamarin
Transcript

M.I. Isham Mohamed

Intro to Cross PlatformNative apps developmentWith Xamarin

Xamarin Student Ambassador

Undergraduate internIFS

@isham_m_iqbal

http://ishammohamed.mehttp://programmium.wordpress.comhttp”//github.com/ishammohamed

Java and Java

• Java, the language.• Java, the platform.

C# and .NET

• C#, the language.• .NET, the platform.

Understand .NET• It’s a framework, platform &

environment not language– You build code using .NET framework (equals

.NET libraries)– The code runs on the .NET platform (in the

CLR)– You need to install .NET environment (.NET

framework redistributable)

Understand .NET

C# vs Java• Both are good, better and best on

their own aspects.• C# has continued to evolve and

emerging.• C# is faster than Java on Windows

kernel, while Java can run on any – Before 2004.

• Now C# can run on any – Thanks Mono.

Wait.. an interesting statData types Java C#

Single-root (unified) type system No; but wrapper types Yes[1]

Signed integers Yes; 8, 16, 32, 64 bits Yes; 8, 16, 32, 64 bits

Unsigned integers No; but some method support.[2] Yes; 8, 16, 32, 64 bits

Character Yes[3] Yes

Date/time Yes; reference type[4] Yes; value type

IEEE 754 binary32 floating point number Yes Yes

IEEE 754 binary64 floating point number Yes Yes

Boolean type Yes Yes

High precision decimal number No; but see 'Arbitrary size decimals' below 128-bit (28 digits) Decimal type

Arbitrary size decimals Reference type; no operators[5] No

Strings Immutable reference type, Unicode Immutable reference type, Unicode

Arbitrary size integers Reference type; no operators Yes[6]

Complex numbers No Yes

Reference types Yes Yes

Arrays Yes[7] Yes

Value types No; only primitive types Yes

Type annotations Yes Yes

Enumerated types Yes; reference type Yes; scalar

Lifted (nullable) types No; but wrapper types Yes

Tuples No; limited 3rd party available.[8] No; but standard library support with limited arity

Pointers No;[9] only method references [10] Yes[11]

You all would like to become mobile

developers

Targeting only one platform is not a good solution for

your app.

You could become a better mobile app developer solution

developer.

Major platforms

Platform NativeLanguage Cloud & Push Services

iOS Objective C, Swift iCloud, APN

Android Java Google Play Games, Google Fit, Google Cloud, GPN…. And more

Windows Phone

C#, C++, F# Azure, WPNS

How to target all platforms

Silo approach

• The present approach adopted by 90% of the app dev companies.

• Separate teams for separate platforms for the same app.

• Can achieve true nativity.• Costly.• Ex – Facebook, Twitter, Foursquare

apps in iOS, Android and Windows Phone.

HTML5 approach• Bit earlier approach.• How many of us remember the

awful Facebook app for Android in 2009.

• In Sri Lanka, most people do this kind of silly work.

• Very low cost.• Even Microsoft gave a big support

to this until last year. • Now mostly they support

native. (and still this)

• Ex – Yamu.lk, some good games.

HTML5 approach

HTML5 approachNo magic..!

Generate a HTML5 web page

Make an (Android/iOS/WP)

app with WebView control

Load the web page created on the WebView and deliver the app..

Xamarin approach

• Real definition of Cross platform.

• Share the same code & logic among platforms.

• The FUTURE of mobile programming.

• Being adopted rapidly.• NATIVE.. NATIVE.. NATIVE..• Low Cost.• Robustness maintained.

Xamarin C# Shared backend

{iOS}C# UI

{Android}C# UI

{Windows}C# UI

Windows APIs

iOS APIs

Android APIs

How Xamarin makes iOS apps

.app

.NET

C#

Bindings

How Xamarin makes Android apps

.apk

.NET

C#

Bindings

Requirements• Xamarin Subscription– This comes with Xamarin Studio

• Xcode and VS supported

Hello boss.. We know Java well

Big 0

Xamarin Starter License• Free..*

http://xamarin.com/starter

*conditions apply

Xamarin Student License• Free..!!

https://www.dreamspark.com/Product/Product.aspx?productid=100

*conditions apply

The T-Shirt I am wearing• Free..!!!!!

https://xamarin.com/c-sharp-shirt

*conditions apply

DEMO


Recommended