What is Xamarin?
Maybe I should start with a better question. Who doesn’t love free stuff? Guess what? Xamarin is F-R-E-E!!!! Yep! I’ll explain why this is exclamation point worthy in just a bit.
What we need to think about first is the wide land of smartphones and how many different operating systems are out there. Our friends at Statista report that the market share for the smartphone race is almost evenly split between Android and Apple. They also report that today the number of smartphone users in the United States has reached 275.66 million.
What does that mean? That means that we need folks who know how to develop on Android platforms for Android smartphones and we’ll need iOS developers for Apple smartphones. Regardless if you are a start up or a well established company, that’s two sets of Mobile Engineers you’ll need to launch any product to the entire smartphone population. But, what if it wasn’t?
Xamarin was created to tackle this unique real world problem. It is part of a free, open-source .NET platform. It creates an environment for cross-platform application development. It allows us to develop a native mobile app for iOS, Android, and Windows. You can share more than 90% of the code between three different platforms. You basically have the magic wand to apply the same logic across three different operating systems. And just like that, you have reduced your need for two mobile development teams into a single unit. Cost reducing and efficient. Bam!
Our subject matter expert, Ryan Anderson, was asked to identify three of the most frequently asked Xamarin questions:
#1. Why Xamarin over Android/iOS Native?
Xamarin offers a businesses to consolidate new or existing apps into a single shared codebase written in C#. This also allows developers that are familiar to the Microsoft stack an opportunity to write and deploy Android and iOS apps.
#2. What is the role of XAML in Xamarin?
UI in Xamarin can either be written completely in C# or in XAML. Developers familiar with developing apps in WPF or UWP can jump right into XAML and develop UI for their Xamarin apps.
#3. What are the development approaches for Xamarin?
Xamarin Forms- you can have a shared UI across each platform and shared business logic
Xamarin Native- you can have separate UI across each platform but still maintain shared business logic
More information on Xamarin
A few more descriptions from Microsoft, Xamarin themselves and experts out in the world:
“Xamarin is an open-source platform for building modern and performant applications for iOS, Android, and Windows with .NET. Xamarin is an abstraction layer that manages communication of shared code with underlying platform code. Xamarin runs in a managed environment that provides conveniences such as memory allocation and garbage collection.”
“Xamarin is an open-source, free, and cross-platform application development platform to build Android and Windows Applications. So with just a C# Code, one can easily write an actual native Android & iOS”
“Xamarin is a framework that allows developers to create apps quickly by enabling them to code in C# which can be shared across multiple platforms such as iOS and Android.”
-- Code Mentor
The following questions will be covered in the next few Xamarin segments. Stay tuned for:
- How to code in Xamarin?
- How to travel between my pages?
- Are all Android forms written in Xamarin?
- How to set the height of a label?
- How to create basic login page?
- How to add Xamarin to existing visual studio?
- How to build a Xamarin library?
- How to get debug logs from Android device?