xamarin workshop

35
Xamarin workshop Nguyen Nhu Hieu – SMIC Technical Lead - Development

Upload: nguyen-hieu

Post on 10-May-2015

329 views

Category:

Technology


8 download

TRANSCRIPT

Page 1: Xamarin workshop

Xamarin workshopNguyen Nhu Hieu – SMIC Technical Lead - Development

Page 2: Xamarin workshop

Agenda

Portable Class Library (PCL)

XAMARIN iOS Objective C & C# XIB UI

XAMARIN Android Java & C# AXML UI

MVVMCross MVVM & Data Binding Multiplatform Extension

Page 3: Xamarin workshop

Portable Class Library (PCL)

1 Solution

Multiple Platforms

Page 4: Xamarin workshop

Portable Class Library – Why?

Centralized Code Sharing Consistent Structure Seamless Debug Easy to maintain

Project Sharing (Core) NuGet Xamarin Component

Store

Page 5: Xamarin workshop

PCL - Platform Independent APIs

Platform – specific libraries cannot be referenced No Silverlight Control Toolkit No P/Invoke , pointer, overloading function to C/C+

+

PCL is a subset of .NET Framework

Page 6: Xamarin workshop

PCL Diagram

Page 7: Xamarin workshop

Compilation Flow

iOS: C# > Objective C > APP

Android: C# > Java > APK

WP/ Store: C# > XAP

Page 8: Xamarin workshop

Xamarin iOS

Page 9: Xamarin workshop

Xamarin iOS

Page 10: Xamarin workshop

Xamarin iOS – In Code

100% Components ported to C#

iOS UI can be done without XIB/ StoryBoards

Page 11: Xamarin workshop

Xamarin iOS - Xcode Designer

Page 12: Xamarin workshop

Xamarin iOS - Storyboard

Page 13: Xamarin workshop

Xamarin iOS

Demo

Page 14: Xamarin workshop

Xamarin Android

Java Translation via Sharpen

XobotOS

Page 15: Xamarin workshop

Xamarin Android

Activity

Intent

Resources

Services

Page 16: Xamarin workshop

Xamarin Android UI

Page 17: Xamarin workshop

Xamarin Android

Demo

Page 18: Xamarin workshop

Model – View - ViewModel

Vie

wM

odel

Model

get/set Propertiescall Commands

notify changessome messaging

Whatever C# you like!

Vie

wV

iew

Vie

wM

odel

Vie

wM

odel

Model

Model

Page 19: Xamarin workshop

Mvvm Cross Platform

Vie

w

Vie

wM

odel

Model

SharedPlatform Specific

get/set Propertiescall Commands

notify changessome messaging

Whatever C# you like!

Vie

wV

iew

Vie

wM

odel

Vie

wM

odel

Model

Model

Page 20: Xamarin workshop

MVVMCross – Dev Flow

1. Create Services – ‘Back end’ – PCL .cs

2. Create ViewModels – PCL .cs

3. Create Views• .AXML - Mono for Android – (tablet and) phone• .XIB and .cs - MonoTouch for iOS – iPad and iPhone• .XAML - WP7 and WinRT

Page 21: Xamarin workshop

MVVM Cross - Binding

Page 22: Xamarin workshop

MVVMCross - Converter

Page 23: Xamarin workshop

MVVMCross - Converter

Page 24: Xamarin workshop

MVVMCross - Command

Page 25: Xamarin workshop

MVVMCross

Demo

Page 26: Xamarin workshop

MVVMCross – UI Generics

List

Form

Page 27: Xamarin workshop

MVVMCross - Generics

Tabs | Pivot | Panorama

Page 28: Xamarin workshop

Multiplatform Solution - PushSharp

Page 29: Xamarin workshop

Multiplatform Solution - PushSharp

Page 30: Xamarin workshop

PushSharp iOS

Page 31: Xamarin workshop

PushSharp Android

Page 32: Xamarin workshop

PushSharp – Windows Phone

Page 33: Xamarin workshop

UmbracoCMS

SQLServer

Custom WebAPI(JSON + REST)

Core Logic, including:

- REST client

- Caching- ViewMode

ls

SQLiteXAML (Win8)

XAML(WP8)

AXML(Android)

XIB/SB (iOS)

SharedEntities

Client Apps Server

PCL

PCL

.Net4 .Net4

Xamarin.iOS

Xamarin.Android

Silverlight

WinRT

Page 34: Xamarin workshop

Demo

Prebuilt Employee Directory App Field Service App

Xamarin Store

Page 35: Xamarin workshop

Xamarin Developers Vietnam

https://www.facebook.com/groups/860110274003469/

http://www.meetup.com/Xhackers-Vietnam/

Xamarin Turns 3 event in June.