Upload
smartypantscodingcom
View
1.730
Download
2
Embed Size (px)
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.
Citation preview
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