getting started with xamarin.ios

Post on 07-May-2015

1.731 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

This is the accompanying deck for a talk of the same name I gave at Codestock 2013. This talk is an introduction to writing iOS apps in C# using Xamarin.iOS (formerly MonoTouch). In this talk we review the basics of Xamarin.iOS, what the various work flows look like, and find out more about Xamarin and the company's goal of delighting developers. We also briefly touch on Xamarin.iOS as compared to other cross-platform development platforms.

TRANSCRIPT

GETTING STARTED WITH XAMARIN.iOS

WHAT IS XAMARIN.iOS?

Xamarin.iOS & Xamarin.Android• Platform for native iOS/Android development using C#

• Formerly known as ‘MonoTouch’ and ‘Mono for Android’

• Based on Mono (.Net runtime for Linux platforms)

• Provides .Net library on iOS/Android

Xamarin.iOS & Xamarin.Android (continued)•Uses C# as the backing language with native platform

layouts (XIB on iOS, Android XML on Android)

•Wraps native libraries for each platform with C# wrappers through a process known as ‘projection’

• Full access to native libraries + simplifications in areas

Xamarin.Mobile• Library which provides common device functionality across

iOS, Android, and Windows

• Provides access to contacts, camera, and geo-location

MonoTouch.Dialog• iOS library to quickly create table based layouts through

simplified elements

(image credit: Parse.com)

BUILDING XAMARIN.iOS APPS

iOS Development Basics•MVC Architecture (Code)

• Storyboards vs XIBs (UI)

• Storyboards are newer and combine all views into one storyboard which can control user flows and segues

• XIBs are older and define a single screen

Xamarin Studio (or Visual Studio)

• Recently re-designed IDE from Xamarin

• Awesome IDE, like a simpler Visual Studio

•Component Store for common libraries and UI controls

XCode (or Xamarin Studio)

• XCode Interface Builder is how native iOS apps are built

• Xamarin Studio adding its own interface designer soon (currently in Alpha channel)

Code

UI

HELLO WORLD(Xamarin Studio & XCode coding demo)

TIPS

TIPS

Open multiple solutions within Xamarin Studio

TIPS

Adjust code formatting style

TIPS

Double Command - make home and end keys work on a Mac

DELIGHTING DEVELOPERS

Xamarin Android and iOS Designers

Alpha today, release in August 2013Android designer, released in 2012

Xamarin Test Cloud

Automatically test hundreds of iOS / Android devices with UI tests

Xamarin Test Cloud

Automatically test hundreds of iOS / Android devices with UI tests

Xamarin Test Cloud

Automatically test hundreds of iOS / Android devices with UI tests

SIGN UP FOR BETA @Xamarin.com/test-cloud

Objective Sharpie

Generate C# bindings for iOS libraries

RESOURCES

Resources• Xamarin.com (documentation, forums, chat, etc.)

• Xamarin Evolve 2013 recordingshttp://xamarin.com/evolve/2013

• Atlanta Xamarin Users Group (Wednesday, June 19th)http://meetup.com/Atlanta-Xamarin-Users-Group/

• Books (MonoTouch or iOS)

• Pluralsight training videos

•Conferences (ex: CodeStock in July)

Extensions• Xamarin Studio Components

• TinyIOC

• Parse.com

•MvvmCross (cross-platform pattern for all platfoms)

•MonoTouch Bindings(ATMHud, AmazonLogin, Facebook, Flurry Analytics, Google Maps, Kiip, Paypal, Red Laser, Test Flight, Three 20, Urban Airship, etc.)

CROSS PLATFORM

Native• 100% native platform experience

• No code share with other platforms

• Differing code and UI tech per platform

Appcelerator Titanium Phonegap

Xamarin• 100% native platform experience

• Code share with all other platforms

• Differing UI tech per platform

• C#

• Javascript SDK which defines and interacts with native controls

• SDK may not support all controls or provide all native interfaces

• JS

• Web browser in an app with JS wrappers for native calls (GPS, Camera, etc.)

Sencha Touch• Web controls that mimic native

applications

THANK YOU!

ALL MOBILEEVERYTHING

Roger Peters (@SmartyP)Independent Mobile DeveloperAllMobileEverything.comSmartyPantsCoding.comSmartyP.net

top related