IBM Worklight helps organizations extend their business to mobile devices.
Xamarin is an open-source platform for developing modern and performant applications for iOS, Android, and Windows using.NET. Xamarin is an abstraction layer that manages how shared code is communicated to the platform's underlying code. Xamarin is for developers with the two following goals:
Cross-platform sharing of code, tests, and business logic.
Writing cross-platform apps in C# with Visual Studio.
Xamarin allows developers to share an average of 90% of their program across platforms. This enables programmers to achieve native performance, look, and feel on each platform while writing all of their business logic in a single language (or reusing existing application code).
Xamarin applications can be created on a PC or a Mac and compiled into native application packages, such as an .apk file for Android or an .ipa file for iOS.
Xamarin Platform Features
Xamarin Platform has many valuable key features. Some of the most useful ones include:
-
Complete binding for the supporting SDKs: Xamarin includes bindings for almost all of the underlying platform SDKs in iOS and Android.
-
Java, C, Objective-C, C, C++ Interop: Xamarin gives you the ability to use a variety of third-party code by providing tools for directly invoking Objective-C, Java, C, and C++ libraries.
-
Modern language constructs: Xamarin applications are written in C#, a modern language with many capabilities that Objective-C and Java do not have, like lambdas, LINQ, parallel programming, generics, and more.
-
Strong base class library (BCL): Xamarin apps use the .NET BCL, a large collection of classes with streamlined features, like powerful XML, database, serialization, IO, string, and networking support, among others.
Xamarin Platform Benefits
There are many benefits to implementing the Xamarin Platform. Some of the biggest advantages the solution offers include:
-
Native UIs and APIs: Xamarin delivers comprehensive access to each platform's native SDK and UI controls, projecting the entire native API of each device into C#. Therefore, the apps you develop are native instead of write-once/run-anywhere programs that look alien on every platform. Xamarin provides you access to all of the capabilities that distinguish each platform.
-
Share code between platforms: With Xamarin, you can share all code across platforms while providing a native user interface tailored to each individual device. With Xamarin, you can execute the same C# code on iOS, Android, and Windows Phone. With Xamarin, your software is compiled to a native binary rather than being interpreted, in contrast to other cross-platform frameworks. Even in the most demanding situations, native compilation provides users with excellent app performance. Xamarin provides responsive, multi-user input and feedback, fluid scrolling, sophisticated graphics and animations, complicated data visualization, and realistic high frame rates for games.
-
Code with C#: Write shorter, more concise, and more maintainable code by leveraging advanced language features, such as Language Integrated Query (LINQ), delegates, lambdas, events, garbage collection, and many other features. With Xamarin's fully extensible platform, you can include libraries written in C, Objective-C, C++, or Java. In C#, you have access to the entire native ecosystem of components and libraries.