What is Xamarin?

Xamarin, Mobile App Development

0 ( 0 votes) | 740

In this article, we will talk about what is Xamarin and how it can help us to develop cross platform mobile application with C# using Xamarin platform. So let`s get started.

Introduction:

In mobile world, there are three major platforms: Android, IOS and Windows. One approach to build a mobile app to support all three platforms is to create a separate app using Java for Android, Objective-C for IOS and C# for windows phone application. This approach is also called as Silo`d approach.

Advantages:

  1. Apps are native means we can access all the features of the platform.
  2. High performance.
  3. Native UI

Disadvantages:

  1. We need to learn multiple languages
  2. Setup development environment for each platform.
  3. Implement the same functionality three times for each platform
  4. If we want to add a new functionality, then we need to implement that functionality three times.
  5. No code sharing is possible between three platforms.
  6. Cost associated with maintenance is higher.

Another approach is to use hybrid solutions like Ionic framework where as a .NET developer we can use our existing web development skills like HTML, CSS and JavaScript to build mobile application.

Advantages:

  1. We can use our existing web development skills to build mobile applications that support all three platforms.
  2. Development process is very similar like building a website.
  3. Write once run anywhere.

Disadvantages:

  1. Poor app performances as the applications are not native applications.
  2. Limitations on the device API that we can use.

This is where the Xamarin comes in play.

What is Xamarin?

It is a platform which provides a way to implement native android, IOS and windows mobile application using C#. Using Xamarin we can provide native UI, native app performance and native device API access for all three platforms. Anything that we can do in Objective-C for IOS app and Java for Android app can be done in C# using Xamarin. Xamarin also allows us to share the application logic between three platforms.

Xamarin provides four different platforms:

  1. Xamarin.Android (For android applications)
  2. Xamarin.IOS (For IOS applications)
  3. Xamarin.Mac (Mac desktop apps)
  4. Xamarin.Forms (It allows us to share the application logic as well as UI logic across all three platforms)

Advantages:

  1. As a .Net developer we can use our favorite IDE Visual Studio and favorite language C# to build mobile apps for all three platforms.
  2. It allows us to write the application logic once and then share it easily between all three platforms.
  3. As the code can be easily shared between the three platforms, we can implement new features faster.

In Feb 2016, Microsoft acquired Xamarin (To know more click here). Now it is included in every edition of Visual Studio including the Visual Studio Community (To know more click here). Xamarin SDK is also now open source under MIT license (http://open.xamarin.com/).

Conclusion:

In this article, we talked about how what is Xamarin and how it can help us to create cross platform native application using C#. I hope you enjoyed reading the article.

Happy Coding!

Manoj Kulkarni - Dotnetcontext

Manoj Kulkarni

I am programmer, passionate blogger and foodie. I live in Nashik. I am a .Net developer. I like to learn new technologies to keep my self-updated and share that knowledge with my blog readers, friends and colleague.

Add a new comment