What is Xamarin?
Xamarin is an open source platform for building the latest powerful applications in .NET for iOS, Android, and Windows. Xamarin is an abstraction layer that manages the communication of shared code with the underlying platform code. Xamarin runs in a convenient management environment such as memory allocation and garbage collection. Xamarin is an open source platform for building modern, high-performance applications for iOS, Android, and Windows with .NET. Xamarin is an abstraction layer that handles the communication of the shared code with the underlying platform’s code. Xamarin runs in a managed environment that provides facilities such as memory allocation and garbage collection.
Who Xamarin is for
Xamarin is for developers with the following goals:
• Share code, test and business logic across platforms.
• Write cross-platform applications in C# with Visual Studio.
Added features
Xamarin combines the abilities of native platforms, while adding features that include:
1. Complete binding for the underlying SDKs – Xamarin contains bindings for nearly the entire underlying platform SDKs in both iOS and Android.
2. Objective-C, Java, C, and C++ Interop – Xamarin provides facilities for directly invoking Objective-C, Java, C, and C++ libraries, giving you the power to use a wide array of third party code. This functionality lets you use existing iOS and Android libraries written in Objective-C, Java, or C/C++.
3. Modern language constructs – Xamarin applications are written in C#, a modern language that includes significant improvements over Objective-C and Java such as dynamic language features, functional constructs such as lambdas, LINQ, parallel programming, generics, and more.
4. Robust Base Class Library (BCL) – Xamarin applications use the .NET BCL, a large collection of classes that have comprehensive and streamlined features such as powerful XML, Database, Serialization, IO, String, and Networking support, and more.
5. Modern Integrated Development Environment (IDE) – Xamarin uses Visual Studio, a modern IDE that includes features such as code auto completion, a sophisticated project and solution management system, a comprehensive project template library, integrated source control, and more.
6. Mobile cross-platform support – Xamarin offers sophisticated cross-platform support for the three major platforms of iOS, Android, and Windows. Applications can be written to share up to 90% of their code, and Xamarin.
How Xamarin works
•
Xamarin is an open source platform for building the latest powerful applications in .NET for iOS, Android, and Windows. Xamarin is an abstraction layer that manages the communication of shared code with the underlying platform code. Xamarin runs in a convenient management environment such as memory allocation and garbage collection. Xamarin is an open source platform for building modern, high-performance applications for iOS, Android, and Windows with .NET. Xamarin is an abstraction layer that handles the communication of the shared code with the underlying platform’s code. Xamarin runs in a managed environment that provides facilities such as memory allocation and garbage collection. Diagram showing the overall architecture of a cross-platform Xamarin application. Xamarin allows you to build native user interfaces on each platform and write business logic in C# that is shared across platforms. In most cases, 80% of an application’s code can be shared using Xamarin. Xamarin is built on top of .NET, automatically handling tasks like memory allocation, garbage collection, and interoperability with the underlying platforms.
Pros of Using Xamarin for Development
• One Technology Stack to Code for All Platforms
• Performance Close to Native
• Native User Experiences
• Full Hardware Support
• Open Source Technology with Strong Corporate Support
• Simplified Maintenance
• Complete Development Ecosystem
• Xamarin.Forms: a framework for creating native UI layouts
• Xamarin.Forms XAML Hot Reload
• Building apps for Macs with Xamarin.Mac Tool
• Xamarin Learning Resources
• Xamarin support of TVs, wearables, and IoT
Xamarin Cons to Consider
• Slightly Delayed Support for the Latest Platform Updates
• Limited Access to Open Source Libraries
• High Cost for Professional and Enterprise Use
• Xamarin Talent Pool and Community Constraints
• Basic Knowledge of Native Languages
• Larger App Size
• Xamarin.Forms Will Soon Cease to Exist
• Compatibility Issues with Third-Party Libraries and Tools