Transcript
Page 1: Getting Started with Xamarin.iOS

GETTING STARTED WITH XAMARIN.iOS

Page 2: Getting Started with Xamarin.iOS

WHAT IS XAMARIN.iOS?

Page 3: Getting Started with 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

Page 4: Getting Started with Xamarin.iOS

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

Page 5: Getting Started with Xamarin.iOS

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

Page 6: Getting Started with Xamarin.iOS

(image credit: Parse.com)

Page 7: Getting Started with Xamarin.iOS

BUILDING XAMARIN.iOS APPS

Page 8: Getting Started with Xamarin.iOS

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

Page 9: Getting Started with Xamarin.iOS

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

Page 10: Getting Started with Xamarin.iOS

HELLO WORLD(Xamarin Studio & XCode coding demo)

Page 11: Getting Started with Xamarin.iOS

TIPS

Page 12: Getting Started with Xamarin.iOS

TIPS

Open multiple solutions within Xamarin Studio

Page 13: Getting Started with Xamarin.iOS

TIPS

Adjust code formatting style

Page 14: Getting Started with Xamarin.iOS

TIPS

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

Page 15: Getting Started with Xamarin.iOS

DELIGHTING DEVELOPERS

Page 16: Getting Started with Xamarin.iOS

Xamarin Android and iOS Designers

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

Page 17: Getting Started with Xamarin.iOS

Xamarin Test Cloud

Automatically test hundreds of iOS / Android devices with UI tests

Page 18: Getting Started with Xamarin.iOS

Xamarin Test Cloud

Automatically test hundreds of iOS / Android devices with UI tests

Page 19: Getting Started with Xamarin.iOS

Xamarin Test Cloud

Automatically test hundreds of iOS / Android devices with UI tests

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

Page 20: Getting Started with Xamarin.iOS

Objective Sharpie

Generate C# bindings for iOS libraries

Page 21: Getting Started with Xamarin.iOS

RESOURCES

Page 22: Getting Started with Xamarin.iOS

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)

Page 23: Getting Started with Xamarin.iOS

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.)

Page 24: Getting Started with Xamarin.iOS

CROSS PLATFORM

Page 25: Getting Started with Xamarin.iOS

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

Page 26: Getting Started with Xamarin.iOS

THANK YOU!

Page 27: Getting Started with Xamarin.iOS

ALL MOBILEEVERYTHING

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


Top Related