Xamarin 3 introduces enhancements to the Xamarin platform including a new iOS designer, IDE updates, and Xamarin.Forms. Xamarin.Forms is a set of APIs that allow developers to write cross-platform mobile apps using shared C# code that renders natively on iOS, Android, and Windows Phone. It includes UI elements like pages, layouts and views. The new iOS designer integrated in Xamarin Studio and Visual Studio supports iOS 6/7 storyboards and auto-layout. Xamarin Studio also received updates like NuGet package manager and F# support.
2. CONTENT
Introduction
What is Xamarin?
Quick Review: Native Multi-Platform Mobile Architecture
What’s new with Xamarin 3
Xamarin iOS Designer
Xamarin Studio IDE Updates
Xamarin.Forms
Wrap up
3. INTRODUCTION
Ed Snider - @edsnider
Developer at InfernoRed Technology
Co-Organizer of NoVA Mobile C# Developers’ Group
www.infernored.com
@infernoredtech
www.novamobiledev.org
@novamobiledev
5. XAMARIN…
Xamarin is built on Mono
Allows native app compilation on Android and iOS using C#
100% API Coverage – All iOS and Android APIs
are exposed as C# class libraries
Up-to-date with API releases
from Apple and Google
12. THE PROBLEM WITH
TRADITIONAL NATIVE MOBILE APP
DEV…
Native mobile apps are great but here’s the problem:
Several Platforms: Windows, iOS, Android
Several Languages: C#, Objective-C, Java
Maintenance nightmares
Customers and end-users suffer
13. THE BENEFITS OF MULTI-
PLATFORM
NATIVE MOBILE APP DEV WITH C#
Develop for all platforms with a single language – C# - using Xamarin
Harness the power of the .NET framework
Single solution with shared code
Unified and consistent maintenance/testing
Feature parity across platforms = happy end users
15. BRAND NEW IOS DESIGNER
Fully integrated in Xamarin
Studio and Visual Studio
iOS 6 / 7 Storyboard support
Intuitive event handling
Support for auto-layout
Custom controls live preview
18. XAMARIN.FORMS
Set of APIs that abstract platform specific UI elements and behaviors
Write UI code once and it is rendered natively across iOS, Android and Window Phone
Use C# and/or XAML
Ships as NuGet packages
Views can now live in the PCL
Mix and match with platform APIs
Shared UI Code
22. XAMARIN.FORMS VIEWS
Represents UI controls
Implemented natively and
platform specific
Entry = EditText on Android
Entry = UITextField on iOS
Entry = Textbox on Windows Phone
Xamarin.Forms Views
Documentation
23. SOME OTHER COOL THINGS ABOUT
XAMARIN…
Component Store: http://components.xamarin.com/
.NET Mobility Scanner: http://scan.xamarin.com/
F#: http://developer.xamarin.com/guides/cross-
platform/fsharp/fsharp_support_overview/
Xamarin Test Cloud: http://xamarin.com/test-cloud
If you are a windows developer you will be used to these name spaces.
These are the core .NET base libraries that we know and love.
If you mix in windows phone and windows store development you get new namespaces
Windows. And Microsoft. With platform specific APIs
Xamarin gives you the best of both worlds with full support for the .NET Framework (your System. Libraries)
Then they create C# bindings for every API in iOS and Android
As you can see here there are a few, CoreGraphics, CoreMotion, etc,
These are your platform specific bits to take advantage of everything in iOS
Then they do the same thing for Android so here you get the Android specifics
Renderscript, NFC to do cool phone tapping of data transfer
And text to speech apis to make your app shine
On iOS Xamarin Compiles the C# down to IL (intermediate language)
Then Xamarin create LLVM bit code
Then the LLVM bit code runs through the same LLVM Compiler and Optimizer that apple users for objective-c code
Creating the final native arm binary.
On Android they use an advanced compiler and linking to IL and
then JIT to create native instructions at runtime for optimal performance which often can be faster than the dalvik runtime.
Not only are you able to build apps for Android and iOS with C# but you can also do it all within VS to bring all your favorite tools, libraries, extensions to your mobile development
Xamarin offers a very rich integration experience with Visual Studio
Business license or higher
Develop both iOS and Android in VS (part of File > New experience with templates, etc.)
IntelliSense allows you to explore the full APIs in a consistent and familiar way
Developing iOS within Visual Studio requires a networked Mac build/deployment host
Xamarin also offers their own IDE, Xamarin Studio
Available on Mac and Windows
Available with any license
Rich design surfaces for building native Uis
Android UI builder with drag and drop UI tool
Integration with Xcode Interface builder to build iOS Uis
Built in support for Git and Subversion