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