xamarin workshop

17
Xamarin Workshop March 28th Coimbra, Portugal

Upload: sara-silva

Post on 08-Apr-2017

2.796 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Xamarin Workshop

Xamarin WorkshopMarch 28th

Coimbra, Portugal

Page 2: Xamarin Workshop

Sara Silva@saramgsilva

Microsoft MVP Windows, Xamarin and Azure Developer

Speakers

João Matos@tritonpt

Software Engineer @ Xamarin

Page 3: Xamarin Workshop

Xamarin Overview

Cross-platform development using Xamarin

Xamarin Forms

Let’s code

Agenda

Page 4: Xamarin Workshop

Xamarin Overview

Xamarin enables developers to reach all major mobile platforms!

Page 5: Xamarin Workshop

Xamarin Overview

Xamarin apps look and feel native because

they are native

Native User Interfaces Native API Access Native Performance

Page 6: Xamarin Workshop

Xamarin API

iOS APIs | 100% Coverage Android APIs | 100% Coverage Windows APIs

Anything you can do in Objective-C or Java can be done in C# with Xamarin

Page 7: Xamarin Workshop

Xamarin Products

Test CloudXamarin Platform Xamarin Insights

Page 8: Xamarin Workshop

Is Free => Xamarin iOS + Xamarin Android +

Xamarin Studio

= 0 €

Xamarin for Students

Page 9: Xamarin Workshop

Cross-platform development using Xamarin

Build cross-platform native apps for iOS, Android, and Windows

and share most of your code between them

Shared C# code

Page 10: Xamarin Workshop

Cross-platform development using Xamarin

Shared Code

Data Layer

Data Access Layer

Business Layer

Service Access Layer

Model

Cloud Services

database

Windows App

Application Layer UI Layer

Windows SDK assemblies

iOS App

Application Layer UI Layer

Xamarin iOS SDK assemblies

Android App

Application Layer UI Layer

Xamarin Android SDK assemblies

Page 11: Xamarin Workshop

Model View ViewModel Pattern (MVVM)

View define the UI

View Model must define the behavior for theconnected View

Model define the structure of the data showed in the View

Page 12: Xamarin Workshop

Abstraction Pattern

View Model

Feature X(Abstraction

)

Feature XiOS

Feature XAndroid

Feature XWindows

Knows

Implements

View Model must• Be independent of the platform;• Knows the abstraction for each feature;

In each target, each feature:• Has your own implementation• Must respect the abstraction (the interface)

Make your app testable!

Page 13: Xamarin Workshop

Xamarin Forms

Build native UIs for iOS, Android and Windows Phonefrom a single, shared C# codebase.

Page 14: Xamarin Workshop

Xamarin Forms

Build native UIs for iOS, Android and Windows Phonefrom a single, shared C# codebase.

Shared C# codeShared C# code

Native Development Xamarin SDK and Windows SDK Development Xamarin Forms Development

Page 15: Xamarin Workshop

Xamarin Formsusing Xamarin.Forms;

var profilePage = new ContentPage { Title = "Profile", Icon = "Profile.png", Content = new StackLayout { Spacing = 20, Padding = 50, VerticalOptions = LayoutOptions.Center, Children = { new Entry { Placeholder = "Username" }, new Entry { Placeholder = "Password", IsPassword = true }, new Button { Text = "Login", TextColor = Color.White, BackgroundColor = Color.FromHex("77D065") }}}};

var settingsPage = new ContentPage { Title = "Settings", Icon = "Settings.png", (...)};

var mainPage = new TabbedPage { Children = { profilePage, settingsPage } };

One code…. multiple platforms…. native interface!

Page 16: Xamarin Workshop

Let’s codeGuides and source code are available @GitHub

https://github.com/saramgsilva/XamarinWorkshopor

http://saramgsilva.github.io/XamarinWorkshop/

Page 17: Xamarin Workshop

Xamarin WorkshopThank you!