xamarin platform

69
The future of apps Rui Marinho Software Engineer The future of apps

Upload: rui-marinho

Post on 12-Apr-2017

279 views

Category:

Mobile


0 download

TRANSCRIPT

The future of apps

Rui MarinhoSoftware Engineer

The future of apps

The future of apps

Global OverviewMODULES

1 INTROTOXAMARIN

2 IOSDEVELOPMENT USINGXAMARIN

3 ANDROIDDEVELOPMENT

4 SHARINGMORE CODE– XAMARINFORMS

5 UITESTS

6 INSIGHTS

The future of apps

1 - Intro to Xamarin

• What’s is Xamarin

• Xamarin with Visual Studio

• What you require to get started

• Demo – Hello Xamarin iOS & Android

The future of apps

500+partners

10,000+ 1.2Mcustomers downloads

The future of apps

10,000+ customers, 100+ of the Fortune 500

The future of apps

Businesses are rapidly appifying

The number of enterprise applications optimized for mobility will quadruple by 2016.”

The future of apps

Make it fast, easy, and fun to create great mobile apps.

Our mission

The future of apps

Stay current

Your priorities when building apps

Works EverywhereNative 5-Star App Integration

The future of apps

Xamarin : the complete mobile lifecycle

BUILD TEST MONITOR ACCELERATE

The future of apps

Train developers for mobile and keep skills current

Test any app on 2,000 real devices in the cloud

Xamarin: the complete mobile lifecycle

Use C# to build native apps for iOS and Android

Monitor performance and user behavior in live apps

BUILD TEST MONITOR ACCELERATE

The future of apps

Train developers for mobile and keep skills current

Test any app on 2,000 real devices in the cloud

Xamarin 4: the complete mobile lifecycle

Use C# to build native apps for iOS and Android

Monitor performance and user behavior in live apps

BUILD TEST MONITOR ACCELERATE

BUILD TEST MONITOR ACCELERATE

The future of apps

Silo Approach

iOS WindowsAndroid

Objective-CXcode

C#Visual Studio

JavaAndroid Studio

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

The future of apps

Write Once, Run Anywhere

App Generator

LuaJavascript

ActionscriptHTML+CSS

Limited native API access • Slow performance • Poor user experience

The future of apps

Xamarin Platform: native UX and shared code

Shared App Logic

BUILD TEST MONITOR

iOS C# UI Android C# UI Windows C# UI

Shared App Logic

ACCELERATE

Shared App Logic

Shared UI

The future of apps

Xamarin’s Unique Approach

Shared C# codebase • 100% native API access • High performance

iOS C# UI Windows C# UIAndroid C# UI

Shared C# Mobile C# Server

Linux/MonoCoreCLRAzure

Shared C# Client/Server

The future of apps

Anything you can do in Objective-C, Swift, or Javacan be done in C# and Visual Studio with Xamarin.

The future of apps

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.

The future of apps

✓Always Up-to-Date

Same-day support:• iOS 5• iOS 6• iOS 7• iOS 7.1• iOS 8• iOS 9Full support for:• Apple Watch• Google Glass• Android Wear• Amazon Fire TV• and much more

The future of apps

Xamarin Platform: native apps across platforms

The future of appsBUILD TEST MONITOR LEARN

Demo

The future of apps

2 - IOS DEVELOPMENT USING XAMARIN

• How Xamarin.IOS works

• Demo – iOS simple app – UITableView and MapKit

The future of apps

iOS – 100% API Coverage

MapKit UIKit iBeacon CoreGraphics CoreMotion

System.Data System.Windows System.Numerics System.Core System.ServiceModel

System.Net System System.IO System.Linq System.Xml

The future of apps

Xamarin.IOS Execution Model

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.

The future of appsBUILD TEST MONITOR ACCELERATE

Demo

The future of apps

2 – Recap

• How Xamarin.IOS works• IOS App Lifecycle • Using UITableView• Using Storyboards• Using MapKit• Using Segues

The future of apps

3 – ANDROID DEVELOPMENT USING XAMARIN

• How Xamarin.Android works

• Demo – Android simple app – Listview and Maps

• Start with code sharing techniques

The future of apps

Xamarin.Android Execution Model

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.

The future of apps

Android – 100% API Coverage

Text-to-speech ActionBar Printing Framework Renderscript NFC

System.Data System.Windows System.Numerics System.Core System.ServiceModel

System.Net System System.IO System.Linq System.Xml

The future of apps

#if Conditional Blocks

• Enable / Disable code based on the target platform

• Platform specific compilations constants :• _IOS_• _ANDROID_• NETFX_CORE

• For subtle differences in the API’s

The future of apps

#if Conditional Blocks

The future of apps

Partial Classes

• Shared Functionality in one code fileEx: DataModel

• Platform specific code in another code fileEx: DataModel.IOS

• Partial classes are compiled into a single class

The future of apps

Shared Projects

The future of appsBUILD TEST MONITOR ACCELERATE

Demo

The future of apps

3 – Recap

• How Xamarin.Android works• Android App Lifecycle • Using Listview• Using Intents• Using Maps

The future of apps

4 – SHARE MORE CODE – XAMARIN FORMS

• What’s Xamarin.Forms• Xamarin.Forms Controls• Rebuild App using Xamarin Forms• More code sharing

PCLMVVMDI

The future of apps

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

Meet Xamarin.Forms

The future of apps

Xamarin + Xamarin.Forms

Traditional Xamarin Approach

With Xamarin.Forms:More code-sharing, all

native

iOS C# UI Windows C# UIAndroid C# UI

Shared C# Backend

Shared UI Code

Shared C# Backend

The future of apps

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

The future of apps

• <?xml version="1.0"encoding="UTF-8"?>• <TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"

• xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"• x:Class="MyApp.MainPage">

• <TabbedPage.Children>

• <ContentPage Title="Profile"Icon="Profile.png">• <StackLayout Spacing="20" Padding="20"

• VerticalOptions="Center">• <Entry Placeholder="Username"

• Text="{BindingUsername}"/>• <EntryPlaceholder="Password"

• Text="{BindingPassword}"• IsPassword="true"/>

• <Button Text="Login"TextColor="White"

• BackgroundColor="#77D065"• Command="{BindingLoginCommand}"/>

• </StackLayout>• </ContentPage>

• <ContentPage Title="Settings" Icon="Settings.png">• <!-- Settings-->

• </ContentPage>• </TabbedPage.Children>

Native UI from shared code

The future of apps

Layouts

Pages

Stack Absolute Relative Grid ContentView ScrollView Frame

Content MasterDetail Navigation Tabbed Carousel

The future of apps

ActivityIndicator BoxView Button DatePicker Editor

Entry Image Label ListView Map

OpenGLView Picker ProgressBar SearchBar Slider

Stepper TableView TimePicker WebView EntryCell

ImageCell SwitchCell TextCell ViewCell

Controls

Which Xamarin approach is best for your app?

Xamarin.Forms is best for: Xamarin.iOS / Xamarin.Android is best for:

• Data entry apps

• Prototypes and proofs-of-concept

• Apps that require little platform-specific functionality

• Apps where code sharing is more important than custom UI

Learn more: xamarin.com/forms Learn more: xamarin.com/platform

• Apps that require specialized interaction

• Apps with highly polished design

• Apps that use many platform-specific APIs

• Apps where custom UI is more important than code sharing

The future of appsBUILD TEST MONITOR ACCELERATE

Demo

The future of apps

5 – UI Tests

The future of apps

Train developers for mobile and keep skills current

Test any app on 2,000 real devices in the cloud

Xamarin 4: the complete mobile lifecycle

Use C# to build native apps for iOS and Android

Monitor performance and user behavior in live apps

BUILD TEST MONITOR ACCELERATE

BUILD TEST MONITOR ACCELERATE

The future of apps

Train developers for mobile and keep skills current

Test any app on 2,000 real devices in the cloud

Xamarin 4: the complete mobile lifecycle

Use C# to build native apps for iOS and Android

Monitor performance and user behavior in live apps

BUILD TEST MONITOR ACCELERATE

BUILD TEST MONITOR ACCELERATE

The future of apps

Android fragmentation

Brand Fragmentation

2012500

device brands

20151,294

device brands

The future of apps

iOS diversification

3D Touch

iPhone 6s series only

Apple penciliPad Pro only

Multi TaskingOnly select iPads

iPads

iPod touch

iPhones

Form factors iOS 9 features

The future of apps

Xamarin Test Cloud: automated testing on thousands of devices

The future of apps

What’s new in Xamarin Test Cloud?

Integratedwith Platform

UITest 1.0

BUILD TEST MONITOR

Test Recorder

ACCELERATE

The future of appsBUILD TEST MONITOR

Demo

ACCELERATE

The future of apps

The future of apps

“Xamarin Test Cloud has saved us 2,000 monthly manual testing hours.”

Steve Robbins, CTO

The future of apps

6 – Insights

The future of apps

Train developers for mobile and keep skills current

Test any app on 2,000 real devices in the cloud

Xamarin 4: the complete mobile lifecycle

Use C# to build native apps for iOS and Android

Monitor performance and user behavior in live apps

BUILD TEST MONITOR ACCELERATE

BUILD TEST MONITOR ACCELERATE

The future of apps

Train developers for mobile and keep skills current

Test any app on 2,000 real devices in the cloud

Xamarin 4: the complete mobile lifecycle

Use C# to build native apps for iOS and Android

Monitor performance and user behavior in live apps

BUILD TEST MONITOR ACCELERATE

BUILD TEST MONITOR ACCELERATE

The future of apps

Monitoring your app in real time

Is my app crashing? What features are popular?

Does it perform well?

How many people are using it?

What countries are users in?Do users stick with the app?

What devices are they using?

BUILD TEST MONITOR ACCELERATE

The future of apps

Introducing Xamarin Insights

The future of apps

//Crash ReportInsights.Report(exception);

//Feature UsageInsights.Track(“Splash Page”);

//Timed EventsInsights.TrackTime(“TimeToSync”);

//User SessionsInsights.Identify(“Steve”, user_traits);

The future of appsBUILD TEST MONITOR

Demo

ACCELERATE

The future of apps

//Crash ReportInsights.Report(exception);

//Feature UsageInsights.Track(“Splash Page”);

//Timed EventsInsights.TrackTime(“TimeToSync”);

//User SessionsInsights.Identify(“Steve”, user_traits);

The future of apps

We wouldn’t have caught the bugs as early as we did without Xamarin Insights. No other suppliers offered the kinds of benefits we’ve seen from Xamarin. The ability to trace a user journey so we can see exactly what led up to an issue and receive detailed information about crashes has been tremendously helpful.”

Yos Noor Head of Research and Innovation

reed.co.uk

The future of apps

Train developers for mobile and keep skills current

Test any app on 2,000 real devices in the cloud

Xamarin 4: the complete mobile lifecycle

Use C# to build native apps for iOS and Android

Monitor performance and user behavior in live apps

BUILD TEST MONITOR ACCELERATE

BUILD TEST MONITOR ACCELERATE

The future of apps

Train developers for mobile and keep skills current

Test any app on 2,000 real devices in the cloud

Xamarin 4: the complete mobile lifecycle

Use C# to build native apps for iOS and Android

Monitor performance and user behavior in live apps

BUILD TEST MONITOR ACCELERATE

BUILD TEST MONITOR ACCELERATE

The future of apps

What’s Xamarin University?

BUILD TEST MONITOR

Reduced renewal pricing

Over 60 classes Guest Lectures and office hours

Certification: Be recognized for being a mobile and Xamarin expert

ACCELERATE

The future of apps

Train developers for mobile and keep skills current

Test any app on 2,000 real devices in the cloud

Xamarin : the complete mobile lifecycle

Use C# to build native apps for iOS and Android

Monitor performance and user behavior in live apps

BUILD TEST MONITOR ACCELERATE

The future of apps

How to buy: a la carte

All Xamarin customers get

+Free Test Cloud time

+Free Insights crash reporting

The future of apps

Xamarin Ultimate

xamarin.com/ultimate

BUILD TEST MONITOR ACCELERATE

The future of apps

evolve.xamarin.comApril 24-28 Orlando, FL