Introduction to xamarin

Post on 14-Jul-2015

862 views 0 download

Tags:

Transcript of Introduction to xamarin

Cross platform mobile

development with the

power of Xamarin

https://cmatskas.com

@christosmatskas

Christos Matskas

Xamarin is a better way to

Build Test Monitor

Create native iOS, Android, Mac and

Windows apps in Visual Studio and C#

Mobile

Development

Approaches

Silo Approach

Build Apps Multiple Times

• Multiple Teams

• Multiple Code Bases

• Different toolsets

HTML - Write Once, Run Anywhere Approach

• Lowest common denominator

• Browser fragmentation

• Developing & designing for 1

platform, happen to get other

platforms

Xamarin’s Unique Approach

• Native User Interface

• Native Performance

• Shared code across

platforms

• C# & .NET Framework

• Full API Coverage

With Xamarin.Forms:

more code-sharing, native controlsTraditional Xamarin approach

Shared UI Code

Xamarin.Forms Unique Approach

Why C#?

C# is Awesome

• LINQ Support

• Work With XML Easily XDocument

• Event Handling & Delegates

C# with XamarinObjective-C

See the Difference – Classes and Methods

C# with Xamarin

Objective-C

Simplifying Native Methods with Async/Await

C# with XamarinJava

C# & Async with Xamarin

See the Difference– Android ItemClick

Write Everything in C#

C# Runs on 2.5 Billion Devices

How

Xamarin

Works

.NET + Windows APIs

.NET + iOS APIs | 100% Coverage

.NET Android APIs | 100% Coverage

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

can be done in C# with Xamarin using Visual Studio

Xamarin.iOS does full Ahead Of

Time (AOT) compilation to produce

an ARM binary for Apple’s App

Store.

Native Performance

Xamarin.Android takes advantage

of Just In Time (JIT) compilation

on the Android device.

Always Up-to-Date

Track record of offering

same-day support:iOS 5, iOS 6, iOS 7, iOS 7.1, iOS 8

Full support for:• Google Glass

• Android Wear

• Amazon Fire TV

• More!

Code Sharing: Accelerate Development

• Up to 90% Code Reuse

• Leverage existing libraries

– NuGet Support

Code-sharing stats from iCircuit, built with Xamarin and featured on the App Store.Source: http://praeclarum.org/post/42378027611/icircuit-code-reuse-part-cinq

• 1 Assembly

• Multiple Platforms

• Including:

• Xamarin.Android

• Xamarin.iOS

Portable Class Libraries

NuGet

Shared Projects

Xamarin Studio

PC or MacVisual Studio Plugin

VS 2010 and Higher

Development Environment

Visual Studio Integration

A single solution:

• iOS

• Android

• Windows Phone

• Windows Store

Leverage the entire

Microsoft ecosystem:• ReSharper

• Team Foundation Server

• Your favorite code coverage

and profiling tools

Visual Studio Integration

Debug to:

• Emulators

• Devices

Integrated into toolbar• Status

• Logs

• List of devices

Just Click Start Debugging!

Xamarin Studio

• Optimized for cross-platform

mobile development

• Explore native APIs with code

completion

• World class Android and iOS

designers

• Powerful debugging on

simulator or device

Android Designer

• World’s best 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

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

Xamarin Component Store

Build Apps Faster

• Add high quality pre-built

app components directly

from Visual Studio and

Xamarin Studio

• Beautiful cross-platform UI

controls, cloud services and

enterprise backend

integrations are just a few

clicks away

Xamarin Android Player

High Speed Android Emulator

• Mac or PC

• Runs side-by-side Windows

Phone Emulator

Free for Xamarin Subscribers:

• Xamarin.com/Android-Player

40+ Pages, Layouts, and Controls

Build from code behind or XAML

Two-way Data Binding

Navigation

Animation API

Dependency Service

Messaging Center

Shared UI Code

What’s Included

Content MasterDetail Navigation Tabbed Carousel

Pages

Stack Absolute Relative Grid ContentView ScrollView Frame

Layouts

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

Use a single API to generate native, platform-

specific user interfaces

At runtime, each Xamarin.Forms page and its

controls are mapped to platform-specific

native user interface elements

Xamarin.Forms Example

Embed Custom Views Anywhere

Not only are Xamarin.Forms pages

mixable with custom screens, you

can embed custom views built

directly against Xamarin.iOS and

Xamarin.Android into

Xamarin.Forms pages.

Call Platform APIs via Shared

Services

Need platform-specific functionality

within a Xamarin.Forms page, such

as querying the accelerometer?

We’ve included services that quickly

and easily abstract platform-specific

API calls to keep you writing as much

shared code as possible.

Easy migration to the Xamarin

Platform

When your native platform integration

requirements outgrow Xamarin.Forms,

your shared code is easily migrated to

Xamarin.iOS and Xamarin.Android using

the full Xamarin platform.

Extensibility

Demo

• Create Automated User

Interface tests all in C#

• Upload to the Test Cloud or

run against a Device or

Simulator

• Run directly from Visual Studio

or Xamarin Studio

• Exposed via a NuGet Package

• Free to use a Simulator*

Test Cloud + UITest

Real-time monitoring. Track crashes and exceptions to

understand what is happening with live users.

Report

• Automatically report

any uncaught

managed or native

exception.

• Report your own

caught exceptions with

simple cross-platform

API

Track

• Track any event that

occurs in your

application.

• Even track performance

of how long an

operation takes.

Xamarin.Forms Controls

blog.xamarin.com/enterprise-component-vendors-join-xamarin.forms-ecosystem/