Cross Platform Dev with Xamarin
Houssem Dellai
The Silo Approach
Build App
Multiple Times
The Write-Once-Run-Anywhere Approach
Lowest Common
Denominator
The Anatomy of a Native App
Xamarin apps look and feel native because they are native
Native User Interfaces Native API Access Native Performance
Native Performance
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.
Xamarin + Xamarin.Forms
• Traditional Xamarin Approach • With Xamarin.Forms:
More code-sharing, all native
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Logic
Xamarin.Forms
Shared C# Logic
✓Always Up-to-
Date
Same-day support:
• iOS 5
• iOS 6
• iOS 7
• iOS 8
• iOS 9
• iOS 10
Full support for:
• Apple Watch
• Google Glass
• Android Wear
• Amazon Fire TV
• and much more
Code
Sharing
Stats
Mac
iOS
Android
Windows Phone
iCircuit Touch Draw
86%
14%
72%
28%
70%
30%
61%39%
88%
12%
76%
24%
90%
10%
Visual Studio Xamarin Studio
Xamarin Designer for iOS in Xamarin Studio
Pages
Content MasterDetail Navigation Tabbed Carousel
Layouts
Stack Absolute Relative Grid ContentView ScrollView Frame
ActivityIndicator BoxView Button DatePicker Editor
Entry Image Label ListView Map
OpenGLView Picker ProgressBar SearchBar Slider
Stepper TableView TimePicker WebView EntryCell
ImageCell SwitchCell TextCell ViewCell
Controls
Demo {Hello World}
Native UI from shared code
<ContentPage Title="Profile"
Icon="Profile.png">
<StackLayout Spacing="20" Padding="20">
<Entry Placeholder="Username“
Text="{Binding Username}"/>
<Entry Placeholder="Password"
Text="{Binding Password}“
IsPassword="true"/>
<Button Text="Login“
TextColor="White"
BackgroundColor="#77D065"
Command="{Binding
LoginCommand}"/>
</StackLayout>
</ContentPage>
Platform Customization
Demo {OnPlatform}
ListView
Demo {ListView}
Demo {Page Navigation}
Demo {TabbedPage}
Demo {MasterDetailPage}
NuGet Package Manager
NuGet support combined with the Xamarin Component Store gives Xamarin
developers the most comprehensive ecosystem of libraries at their fingertips
Accessing Web Services
Demo {web Services}
Demo {Web Services}
Nuget Packages
Xamarin Platform
is Open Source!
open.xamarin.com
Tizen .NET Developer Preview
Automatically test your app on
hundreds of mobile devices
Create native iOS, Android, Mac and
Windows apps in Visual Studio and
C#
Remote iOS Simulator For Windows
• Multi-Touch Enabled
• Pressure Sensitive
• Super Fast
• Rotate, screenshots,
location changes
Xamarin Inspector
Xamarin Profiler
• Allocations
• Cycles
• Memory
• Performance
• Time Profiler
• Windows & macOS
Xamarin.Forms Previewer
• Preview & Modify XAML Live
• Custom Control Rendering
• Xamarin Studio & Visual
Studio
• Preview Available TOday
Thank you  Questions ?

Xamarin Overview by Houssem Dellai

Editor's Notes

  • #3 Expensive to staff multiple platform-specific teams Expensive to maintain multiple code bases Slows innovation
  • #4 Poor user experience – API coverage – Performance High abandonment rates Wasted investment
  • #5 Fix this with website stuff
  • #9 Apple has a developer preview where Xamarin has alphas ready. Google does not offer this. Android versions are usually 4 to 8 weeks out for a stable release, but alphas and betas are usually earlier. Xamarin realizes how important having iOS ready because within 24 hours a large portion of iOS users upgrade Android on the other hand is much different. After 4 months on the market Android 4.4 only had 1% adoption
  • #10 iCircuit is made by Frank Krueger, a long time Mono & Xamarin developer. Sharing code lead to 70 to 90% code reuse across platforms speeding up development Real-time circuit simulator and editor used to design analog and digital circuits http://praeclarum.org/post/42378027611/icircuit-code-reuse-part-cinq
  • #15 You have more than 40 controls, layouts, and pages to mix and match from. These are all of the controls you have out of the box, you can of course create your own. What is unique is you get the native control and have access to it. Consider an Entry Field On iOS it is mapped to UITextField Android it is EditText Windows Phone it is a TextBox
  • #41 Actually based off Xamarin.Forms Tizen is a new platform for developers to target using Visual Studio, .NET, and Xamarin.Forms. Developed by the Team at Samsung
  • #42 Runs on Phones, watches, tvs, and a bunch of other smart devices.
  • #45 General Availability: MSDN/VS Enterprise Customer Now ships in the box for developers to use.
  • #46 Available on both Windows and macOS it is perfect for inspecting live iOS and Android apps. The brand new Xamarin.Forms view gives developers access to Xamarin.Forms specific controls.
  • #47 Announcing General Availability: MSDN/VS Enterprise Customer
  • #48 In Preview: All Developer, Any version of Visual Studio