02 Handout 1

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

SH1731

All About Xamarin


I. What is Xamarin?
 A cross-platform IDE that can be added into Visual Studio to create native user
interfaces for Android, iOS and UWP devices and systems
 Created by a company of the same name, recently acquired by Microsoft
 Uses the C# programming language as its code base and is capable of using resources
from the .NET Framework

II. The Xamarin Approach


 C# code binding to native API calls – Apps are wholly written in C#, ensuring delivery
of fully native user interfaces and app functionality while utilizing complete access to
100% of the native APIs for iOS, Android, and Windows in C#. App logic and UI code
are shared across device platforms.
 Support for other approaches – Approaches that involve other programming languages
(such as XAML, JavaScript, and native shell logic) and features (device-specific
feature usage, WebView capabilities, etc.) are supported to an extent.
 F# Support – Xamarin provides support for F#, a strongly-typed, functional,
imperative programming language designed to run on the .NET Framework due to
Xamarin support for the core .NET libraries.
 Maximized Code Sharing – Code is shared across platforms/devices as much as
possible (such as data access layers and business logic), leaving only a little work on
the native code. This allows the approach to provide greater access to OS UI APIs.

III. Xamarin Architecture

A. Platform-Specific Architecture
 Utilizes platform-specific UI code in C#, XAML, XML, Storyboards, and XIBs
 Shares app logic code in C#
 100% access to OS UI APIs due to native compatibility
 Good for apps with sophisticated UX requirements (complicated gestures,
animations, design)

B. Xamarin.Forms Architecture
 Allows code sharing capability up to 100% to deliver fully native, cross-platform
apps
 Shares code bases in both C# or XAML
 Shares app logic code in C#
 Allows mix-and-match use of Xamarin.Forms with platform-specific code
 Good for forms-based apps with a lot of data entry screens
 Easy to learn API allows developers to be productive immediately, requiring only
little platform-specific knowledge

IV. Basic Xamarin Concepts

02 Handout *Property of
STI
SH1731

A. The Xamarin Platform


 A collection of bindings around various SDKs
 Also provides functionality of the .NET framework for app development
 SDK bindings allow for both cross-platform and native development via Xamarin
for different systems, platforms, and devices

B. Xamarin Platform Components


 Xamarin provides the core functionality of .NET using C#.
 Xamarin.Android binds to the Android SDK.
 Xamarin.iOS binds to the iOS UI Kit.
 Xamarin.Forms binds to Xamarin.Android, Xamarin.iOS, and Windows SDK.

C. General Application Architecture


 Isolation and minimizing of platform-specific code
 Abstraction of platform-specific logic via segregated implementations and API/UI
layering
 Reuse of data access, business logic, and back end web and data services,
accomplished mostly via code reusing

References:
 Hermes, D. Xamarin Mobile Application Development. Retrieved August 2, 2017.
 Petzold, C. (2016). Creating Mobile Apps with Xamarin.Forms. Retrieved August 2, 2017.
 Microsoft. Mobile App Development and App Creation Software – Xamarin. Retrieved
August 3, 2017 at http://www.xamarin.com/.

02 Handout *Property of
STI

You might also like