xamarin.forms (northern va mobile c# developers group 8/13/14)

24
XAMARIN 3 AND XAMARIN.FORMS Ed Snider Aug 13 2014 NoVA Mobile C# Dev Group

Upload: ed-snider

Post on 02-Jul-2015

230 views

Category:

Technology


0 download

DESCRIPTION

Xamarin 3 and Xamarin.Forms

TRANSCRIPT

Page 1: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

XAMARIN 3 AND XAMARIN.FORMS

Ed Snider

Aug 13 2014

NoVA Mobile C# Dev Group

Page 2: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

CONTENT

Introduction

What is Xamarin?

Quick Review: Native Multi-Platform Mobile Architecture

What’s new with Xamarin 3

Xamarin iOS Designer

Xamarin Studio IDE Updates

Xamarin.Forms

Wrap up

Page 3: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

INTRODUCTION

Ed Snider - @edsnider

Developer at InfernoRed Technology

Co-Organizer of NoVA Mobile C# Developers’ Group

www.infernored.com@infernoredtech

www.novamobiledev.org@novamobiledev

Page 4: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

WHAT IS XAMARIN?

Page 5: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

XAMARIN…

Xamarin is built on Mono

Allows native app compilation on Android and iOS using C#

100% API Coverage – All iOS and Android APIs are exposed as C# class libraries

Up-to-date with API releases from Apple and Google

Page 6: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

WINDOWS APIS

100% Coverage

Page 7: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

IOS APIS

100% Coverage

Page 8: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

ANDROID APIS

100% Coverage

Page 9: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

HOW XAMARIN WORKS

C# + .NET Runtime

Native UI

Native Performance

Page 10: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

XAMARIN DEVELOPMENT TOOLS

Xamarin for Visual Studio Xamarin Studio for Windows and Mac

Page 11: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

QUICK REVIEW: NATIVE MULTI-PLATFORM MOBILE ARCHITECTURE

Page 12: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

THE PROBLEM WITH TRADITIONAL NATIVE MOBILE APP DEV…Native mobile apps are great but here’s the problem:

Several Platforms: Windows, iOS, Android

Several Languages: C#, Objective-C, Java

Maintenance nightmares

Customers and end-users suffer

Page 13: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

THE BENEFITS OF MULTI-PLATFORMNATIVE MOBILE APP DEV WITH C#Develop for all platforms with a single language – C# - using Xamarin

Harness the power of the .NET framework

Single solution with shared code

Unified and consistent maintenance/testing

Feature parity across platforms = happy end users

Page 14: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

WHAT’S NEW WITH XAMARIN 3?

Page 15: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

BRAND NEW IOS DESIGNER

Fully integrated in Xamarin Studio and Visual Studio

iOS 6 / 7 Storyboard support

Intuitive event handling

Support for auto-layout

Custom controls live preview

Page 16: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)
Page 17: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

XAMARIN STUDIO IDE ENHANCEMENTSNuGet Package Manager

Shared Projects

.NET BCL Documentation

F# Support

Page 18: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

XAMARIN.FORMS

Set of APIs that abstract platform specific UI elements and behaviors

Write UI code once and it is rendered natively across iOS, Android and Window Phone

Use C# and/or XAML

Ships as NuGet packages

Views can now live in the PCL

Mix and match with platform APIs

Shared UI Code

Page 19: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

XAMARIN.FORMS CONTROLS

Pages (e.g., Master-detail, Tabs, Carousel)

Layouts (e.g., Stack, Grid)

Views (e.g., Button, Label)

Cells (e.g., templates for table/list items)

Page 20: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

XAMARIN.FORMS PAGES

Xamarin.Forms.Page

Represents UI screens

Page = Activity on Android

Page = View Controller on iOS

Page = Page on Windows Phone

Xamarin.Forms Pages Documentation

Page 21: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

XAMARIN.FORMS LAYOUTS

Represents UI containers

Logically structures UI elements

Xamarin.Forms Layouts Documentation

Page 22: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

XAMARIN.FORMS VIEWS

Represents UI controls

Implemented natively and platform specific

Entry = EditText on Android

Entry = UITextField on iOS

Entry = Textbox on Windows Phone

Xamarin.Forms Views Documentation

Page 23: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

SOME OTHER COOL THINGS ABOUT XAMARIN…Component Store: http://components.xamarin.com/

.NET Mobility Scanner: http://scan.xamarin.com/

F#: http://developer.xamarin.com/guides/cross-platform/fsharp/fsharp_support_overview/

Xamarin Test Cloud: http://xamarin.com/test-cloud

Page 24: Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

RESOURCES

Xamarin.Forms Intro

http://developer.xamarin.com/guides/cross-platform/xamarin-forms/introduction-to-xamarin-forms/

Code from my demo

https://github.com/edsnider/CoffeeFinder-XamarinFormsDemo

Image credit: https://octodex.github.com/