40
Erica Barone - @_ericabarone Lorenzo Barbieri - @_geniodelmale Microsoft Technical Evangelists Creating iOS, Android, Windows and Mac apps with Visual Studio and Xamarin

Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

  • Upload
    smau

  • View
    77

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Erica Barone - @_ericabarone

Lorenzo Barbieri - @_geniodelmale

Microsoft Technical Evangelists

Creating iOS, Android,

Windows and Mac apps

with Visual Studio and

Xamarin

Page 2: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Xamarin – Your Complete Mobile Solution

Page 3: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Develop

Page 4: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

What is Native?

Page 5: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Silo Approach

iOS WindowsAndroid

Objective-C

Swift

Xcode

C#

Visual Studio

Java

Android Studio

No shared code • Many languages & development environments • Multiple teams

Page 6: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Xamarin + Xamarin.Forms

iOS C# UI Windows C# UIAndroid C# UI

Shared C# Backend

Shared UI Code

Shared C# Backend

Page 7: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Why Xamarin?

Anything you can do in Objective-C, Swift, or Java can be done in C#

and Visual Studio with Xamarin.

Page 8: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Open Source

open.xamarin.com

• Xamarin.iOS

• Xamarin.Mac

• Xamarin.Android

• Xamarin.Forms

• Bindings & Plugins

• Getting Started

• Contribution Guides

Page 9: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Why C#? C# is Awesome

Page 10: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Async programming

// C#

var user = await graphServiceClient.Me.Request().GetAsync();

// Do something...

// Java

graphServiceClient.getMe().buildRequest().get(new ICallback<User>() {

// Do something…

});

// Obj-C

[[[graphServiceClient me] request] getWithCompletion:^(MSGraphUser*user, NSError *error){

// Do something…

}];

Page 11: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Native Performance

– Xamarin.iOS does full Ahead Of

Time (AOT) compilation to

produce an ARM binary for

Apple’s App Store.

– Xamarin.Android takes advantage

of Just In Time (JIT) compilation on

the Android device.

Page 12: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

✓Always Up-to-

Date

Same-day support:• iOS 5

• iOS 6

• iOS 7

• iOS 7.1

• iOS 8

• iOS 9

• iOS 10

Full support for:• Apple Watch

• Apple TV

• Google Glass

• Android Wear

• Amazon Fire TV

• and much more

Page 13: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Visual Studio Integration

Page 14: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Visual Studio iOS Simulator Remoting

• Multi-Touch Enabled

• Pressure Sensitive

• Super Fast

• Rotate, screenshots,

location changes

• Never leave VS

Page 15: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Visual Studio iOS USB Remoting

Page 16: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Xamarin Studio – Mac

Page 17: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Xamarin Designer for iOS

• World’s first iOS Designer

available in Xamarin Studio

and Visual Studio

• Follows familiar Visual Studio

designer idioms

• Supports all UIKit elements

• Edit custom and 3rd party

components

• Live preview of changes to

properties

• Should be connected to a

Mac

Page 18: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Android Designer

• Available in:

• Xamarin Studio

• Visual Studio

• Create UI with drag &

drop simplicity

• Target multiple screen

sizes, resolutions and

Android versions

• Layouts saved in standard

Android XML files

Page 19: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

DEMO

Traditional XAMARIN

Page 20: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Xamarin.Forms

Page 21: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

What’s included

✓ 40+ Pages, layouts, and controls

(Build from code behind or XAML)

✓ Two-way data binding

✓ Navigation

✓ Animation API

✓ Dependency Service

✓ Messaging Center

Shared C# Backend

Shared UI Code

Page 22: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

DEMO

XAMARIN Forms

Page 23: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Test

Page 24: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

On Mobile, Quality is Hard

7

29

20

35

6

OS versions

Devices

Languages

Locales

Screen sizes

9

19K

+

39

57

27

15

6

OS versions

Distinct devices

Languages

Locales

Screen sizes

Manufacturers

Screen

configurations

Page 25: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Tap Scroll Swipe Pinch Multi

Finger

Text Entry Rotation GPS

Page 26: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Introducing Xamarin.UITest

Page 27: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Test Recorder for Visual Studio

• Record UITests from

Visual Studio

• Replay or ship to Test

Cloud

• Use Touch Screen on

Android Emulator

Page 28: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Test Recorder for Mac

• Record UITests for iOS and Android apps

• Replay or ship to Test Cloud

Page 29: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

xamarin.com/testcloud

Page 30: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Build

Page 31: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Visual Studio Team Services

• Code

• Work

• Build

• Test

• Release

Page 32: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Visual Studio Team Services - Work

Page 33: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Visual Studio Team Services - Build

Page 34: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Visual Studio Team Services - Test

Page 35: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Visual Studio Team Services - Release

Page 36: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Distribute & Monitor

Page 37: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft
Page 38: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

HockeyApp

Page 39: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

Xamarin – Your Complete Mobile Solution

Page 40: Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft

© 2016 Microsoft Corporation. All rights reserved.