cross platform mobile development (speaker vitaly ilchenko, binary studio)

Post on 12-Apr-2017

204 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Cross-Platform Mobile Development

Introduction to Xamarin

Vitaly Ilchenko.Net Developer

Agenda

1. What is Xamarin? How does it work?

2. Suitability for use in complex projects.

3. Difference between native approach and Xamarin on the real sample.

4. What about Xamarin.Forms?

5. Results

Native approach

iOS App

Objective-CXCode

Android App

JavaAndroid Studio

Windows Phone App

C#Visual Studio

Xamarin approach

iOSApp

AndroidApp

Windows Phone App

Shared C# Code

Xamarin Studio or Visual Studio

Xamarin approach

User Interface

App Layer

Core Library

Business Layer

Service Access Layer

Data Access Layer

User Interface

App Layer

User Interface

App Layer

~ 70-90%reusable

code

iOS Project Android Project

Compilation

AOTCompile

andLink

ARM binaryRuns natively

.IPA .APK

IL + JITMono runtime

What about complex enough projects?

Internet

BLE

Windows Server

ASP.NetWCF

Web API...

Let’s make the real app

Start Stop

Latitude: 0.0

Longitude: 0.0

Updated: 00:00:00

Already available at: https://github.com/ilchenkob/Xamarin.MeetForIt

Android Application

ServicesActivitiesResources

Drawable

Models and Data Objects

Layout

Menu

Values

Activity Service

iOS Application

ViewControllerModel

Application Delegate

View Controller

UIWindow

Views and UI Objects

UI Application

Data Objects

Documents

View View

Xamarin Application for iPhone and Android

iOS ProjectCore Project (PCL)

Android Project

Model

ViewModel

ModelModel

Service Interface

Activity

ViewController

Service Implementation

Service Implementation

AppDelegate

AndroidManifest.xml

.Net support

1. Stable support of all of the .Net framework 4.5 and C# 5.0

2. Support of C# 6.0 is already done but it’s unstable

Xamarin.Forms

Core Library

Business Layer

Service Access Layer

Data Access Layer

Shared UI Code in XAML

AppLayer

AppLayer

AppLayer

Core Library

Business Layer

Service Access Layer

Data Access Layer

AppLayer

AppLayer

AppLayer

UI Layer UI Layer UI Layer

Results

1. Xamarin gives you ability to create awesome cross-platform mobile apps no worse than native tools gives.

2. Full support of .Net Framework 4.5 and C# 5.0 (stable support of C# 6.0 currently in progress).

3. If you already has .Net backend, then you can reuse big part of your code.

4. Xamarin.Forms is good but only if you don't have your own app design.

5. Sample is already available at: https://github.com/ilchenkob/Xamarin.MeetForIt

Any questions?

top related