Setting Up Your App Solution
Gill Cleeren
@gillcleeren
An overview of the Xamarin platform
Outline Xamarin and Xamarin.iOS
Setting up the solution
An Overview of the Xamarin Platform
Before We Knew About Xamarin…
© Gina Sanders / Dollar Photo Club
Or We Could Use the
Lowest Common Denominator…
HTML
JS
CSS
© amphotolt / Dollar Photo Club
Xamarin Allows Us to Target
All Major Mobile Platforms using C# and .NET
© georgejmclittle / Dollar Photo Club
Advantages of Xamarin
Leverage your .NET Native user
and C# knowledge interface
Native performance Code sharing
With Xamarin, we get the
NO-COMPROMISE
approach!
© gukodo / Dollar Photo Club
Disadvantages of Xamarin
Not a Shared UI
Learning curve
platform
Hardware
Price
requirements
The Xamarin Family
Xamarin.iOS Xamarin.Android Xamarin Forms
Xamarin and Xamarin.iOS
Available APIs in Xamarin.iOS
CoreGraphics
HealthKit
UIKit
HomeKit
MapKit
C#
System System.Linq
System.Xml System.Net
System.IO
© bramgino / Dollar Photo Club
How Xamarin Works on iOS
Mono Runtime +
ARM (app) code
.NET BCL
MapKit, Touch…
iOS
Your Choice of IDEs
Visual Studio Xamarin Studio
App
Deployment Goes Through the App Store
© sveta / Dollar Photo Club
Demo: Xamarin Studio
Demo: Visual Studio
Setting up the Solution
Code Sharing
Xamarin.iOS app Xamarin.Android app Windows Phone app
UI App layer UI App layer UI App layer
Shareable code
Service access layer Business layer
Models
Data layer Data access layer
%
Average amount of code we can share
in a cross-platform solution with Xamarin
PCL (Portable Class Library)
Library shared Lowest common Extendable to other
across platforms denominator platforms
Creating a PCL
Using a PCL
Configuring a PCL
Shared Project
Code is copied to Precompiler Similar to “old”
referencing project statements Universal Projects
Demo
Setting up the solution
© Kzenon/ Dollar Photo Club
Summary
Xamarin.iOS allows us to build fully native
iOS applications
Architecture often based on PCLs