xamarin workshop

Post on 10-May-2015

329 Views

Category:

Technology

8 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Xamarin workshopNguyen Nhu Hieu – SMIC Technical Lead - Development

Agenda

Portable Class Library (PCL)

XAMARIN iOS Objective C & C# XIB UI

XAMARIN Android Java & C# AXML UI

MVVMCross MVVM & Data Binding Multiplatform Extension

Portable Class Library (PCL)

1 Solution

Multiple Platforms

Portable Class Library – Why?

Centralized Code Sharing Consistent Structure Seamless Debug Easy to maintain

Project Sharing (Core) NuGet Xamarin Component

Store

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

PCL Diagram

Compilation Flow

iOS: C# > Objective C > APP

Android: C# > Java > APK

WP/ Store: C# > XAP

Xamarin iOS

Xamarin iOS

Xamarin iOS – In Code

100% Components ported to C#

iOS UI can be done without XIB/ StoryBoards

Xamarin iOS - Xcode Designer

Xamarin iOS - Storyboard

Xamarin iOS

Demo

Xamarin Android

Java Translation via Sharpen

XobotOS

Xamarin Android

Activity

Intent

Resources

Services

Xamarin Android UI

Xamarin Android

Demo

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

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

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

MVVM Cross - Binding

MVVMCross - Converter

MVVMCross - Converter

MVVMCross - Command

MVVMCross

Demo

MVVMCross – UI Generics

List

Form

MVVMCross - Generics

Tabs | Pivot | Panorama

Multiplatform Solution - PushSharp

Multiplatform Solution - PushSharp

PushSharp iOS

PushSharp Android

PushSharp – Windows Phone

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

Demo

Prebuilt Employee Directory App Field Service App

Xamarin Store

Xamarin Developers Vietnam

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

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

Xamarin Turns 3 event in June.

top related