Xamarin is a C# codebase that is used to write native iOS and Android mobile applications. With Xamarin.Forms, developers use a single, shared codebase to develop UI elements and business logic that exist in both iOS and Android apps. For example, you can write your UI and business logic against the Xamarin.Forms API and run the API on both iOS and Android. Xamarin.Forms provides the ability to share code by implementing a Portable Class Library (PCL) that contains reusable C# code and bindings that translate platform-specific libraries and APIs to C#.
When you develop mobile applications with Xamarin.Forms, you create a project that contains applications for the shared code library and for the platform-specific code libraries. The shared application contains code that is written in C# against the Xamarin.Forms APIs. The iOS and Android applications are platform-specific implementations that import shared logic from Xamarin.Forms. In the iOS and Android applications, Xamarin-provided bindings translate iOS and Android code libraries to C#.
To enable communications between push notifications and Xamarin-developed applications, the IBM Mobile App Messaging SDK for Xamarin provides a cross-platform interface to Xamarin.Forms and platform-specific implementations to the interface. The interface, IBMMobilePush.Forms, is imported into the shared application, and the platform-specific implementations, IBMMobilePush.Forms.iOS and IBMMobilePush.Forms.Droid, and their respective bindings are imported into the iOS and Android applications. The IBMMobilePush.iOS binding and IBMMobilePush.Droid binding tie the native iOS and Android libraries to the IBMMobileForms and Xamarin.Forms libraries.
The following diagram shows how IBMMobilePush.Forms interacts with Xamarin.Forms.
The IBM Mobile App Messaging SDK for Xamarin provides the following libraries and bindings:
- IBMMobilePush.iOS – The iOS SDK binding that links the IBM iOS platform SDK to your C# code.
- IBMMobilePush.Droid – The Android SDK binding that links IBM Android platform SDK to your C# code.
- IBMMobilePush.Forms – A library that allows a single Xamarin.Forms application to use the native bindings.
- IBMMobilePush.Forms.Droid – A library that links the IBMMobilePush.Forms library to the IBMMobilePush.Droid library, which is embedded in your Android C# app.
- IBMMobilePush.Forms.iOS – A library that links the IBMMobilePush.Forms library to the IBMMobilePush.iOS library, which is embedded in your iOS C# app.
Go Back to the Mobile App Messaging home page.