Team Technologies LLC
Oleg
Mobile Developer
Nazar
Mobile Developer
Лекція №8 від провідних .NET розробників з
Developing Cross-Platform Applications
Agenda
• Why Native?
• What is Xamarin?
• Architecting Mobile Apps
• Xamarin Forms
• Demo
Why Native?
The Anatomy of a Native App
Xamarin apps look and feel native because they are native
Native User Interfaces Native API Access Native Performance
Cross-Platform Mobile Development
• Building high-quality Apps is hard:
• Different presentation styles, interaction styles and software stacks
• Devices have different screen sizes, input modes and hardware capabilities
• New devices and OS versions are introduced multiple times per year
• Network connectivity and power levels

fluctuate widely in typical usage scenarios
• New consumer applications regularly

extend and revise the standards and

set the bar higher for good mobile

applications
Xamarin.iOS does full Ahead Of Time
(AOT) compilation to produce an ARM
binary for Apple’s App Store.
Xamarin.Android takes
advantage of Just In Time
(JIT) compilation on the
Android device.
What is Xamarin?
Xamarin brings open source .NET to mobile
development, enabling every developer to
build truly native apps for any device in C#
and F#.
What is Xamarin?
What is Xamarin?
Make it fast, easy and fun
to create great mobile apps
Xamarin’s Mission
Xamarin Mobile Lifecycle
Architecting 

Mobile Apps
Build App Multiple Times
• Expensive to staff
multiple platform-
specific teams
• Expensive to maintain
multiple code bases
• Slows innovation
The Write-Once-Run-Anywhere Approach
• Non-standart UI
• Limited API access
• Non-native performance
• Poor user experience
Xamarin’s Unique Approach
Native With
Code Sharing
Xamarin Designer for iOS in Xamarin Studio
Anything you can do in Objective-C or Java 

can be done in C# with Xamarin using Visual Studio
Xamarin
Forms
Portable Class Libraries
Xamarin Architecture Choices
Xamarin.Forms
Quickly and easily build native
user interfaces using shared code
Xamarin.Forms elements map to
native controls and behaviors
Mix-and-match Xamarin.Forms
with native APIs Shared App Logic
Shared UI Code
Pages
Content MasterDetail Navigation Tabbed Carousel
Layouts
Stack Absolute Relative Grid ContentView ScrollView Frame
Controls
ActivityIndicator BoxView Button DatePicker Editor
Entry Image Label ListView Map
OpenGLView Picker ProgressBar SearchBar Slider
Stepper TableView TimePicker WebView EntryCell
ImageCell SwitchCell TextCell ViewCell
NuGet Package Manager
NuGet support combined with the Xamarin Component Store gives Xamarin
developers the most comprehensive ecosystem of libraries at their fingertips
Why Xamarin?
Better Mobile Productivity
Event Tracking
Issue Tracking
Issue Tracking
Issue Tracking - Detail
Issue Tracking – Device & User Data
Demo
Q & A

Lecture 08 Xamarin