Now a days, everyone wants to use Mobile Apps rather than website. Because it is easy to use with your smart phones. But do you think, mobile apps development is easy. No...Mobile app development is not an easy task due to the availability of different platforms like iOS, Android and Windows. When we create a website, it can be accessible from any device either you are using android phone or your laptop. But when you create an App then it will not accessible from all platform. At the time of development, it is considered that the App should be accessible on each platform. But ealier it was not possible for a single app to run on each platform because of Hardware compatibility, OS, executable files etc. There are different technologies is being used to create these App like for iOS, we use swift, for Android app, we use Java etc. so, it means to create App for different platform we generally use languages which are platform dependent.  But there is a common technology which can be used to create these all type apps that can run on any platform and this is Xamarin.

Xamarin provides tools to create and build Cross-Platform Native Mobile App. Xamarin basically supports only C# [Csharp] and F# language, most developers use C# as it is simple, modern and type safe. We can create iOS, Android and also Windows app using Xamarin and share common code between different platform.

To know more about Xamarin, visit the official site.


Why Xamarin?

We can create Cross-Platform Mobile App using Xamarin. Cross-Platform means if we create an app using Xaxarin then it will run iOS, Android and Windows. We can grab all the feature of C# to enhance our application performance and quality. As we know, nowadays C# is the most popular programming language. Rather than creating individual Mobile App for each platform [iOS, Android and Windows], we can create the cross-platform app using Xamarin that will be accessible to all platform devices. And it will give you the performance as your Native app. Cross-Platform does not mean that App will be single file. NO.. it means, to create an app we write different code for defferent platform but when we use Xamarin, we can use same code for different platform. 

For instance, if i am creating an android app using Xamarin and writing my business logic and UI then I can share and use same code to create iOS app as well.

Working with Xamarin, we can save time and money both because of code sharing. Using Xamarin.Forms, we can share more than 90% of code between different platform app including complex UI code as well. Working with Xamarin in Visual Studio, we can frequently get the latest update available. So, that we can create and update our app and keep it up to date.


Installation Xamarin with Visual Studio 2017

If you are using Visual Studio 2017 and install all component  than you don’t need to do anything. You can find Xamarin project when creating a new project. To find out Xamarin, just type Xamarin in the Search box. If you don't have installed all components and if you have installed partial components using Visual Studio Installer and not installed Xamarin. Then you have to run Visual Studio Installer and choose “Mobile Development with .Net” and install it. It will install all required components for cross-platform mobile app development using Xamarin.

Xamarin Installation

After installation, we can check that Xamarin has installed or not. To check it go to about of Visual Studio as following and see Xamarin components are listed or not.

Xamarin Android


Technologies with Visual Studio to create Mobile Apps

We have different technologies available with Visual Studio 2017 to create Cross-Platform App. For Xamarin developer or who have knowledge of XAML than they can use Xamarin Native App or Xamarin.Forms to create a Mobile app which can be run on a different platform.

If you are a web developer, you can use JavaScript, HTML and CSS with Apache Cordova to create Cross-Platform Native App or as a C++ developer, you can also use C++ to create Cross-Platform Native App.

Mobile App

Several IDEs are available to work on Xamarin App development like one of more popular in starting of Xamarin App development is Xamarin Studio, for Mac platform we can use Visual Studio Mac and as a windows user, we can use Visual Studio 2015 or upper version. So, basically Visual Studio is alternative for all existing IDE for the different platform like for iOS, we use Xcode, for android we use Android Studio.


Code Sharing with Xamarin.Forms

Writing business logic, data access logic or UI design code for each platform app is panic task. So, why not use Xamarin.Forms which is use to share you code with other platform app and can be reused without any issue. Using Xamarin, we can share more than 90% code between different platform so that we don’t need to write the same code again and again for different platform. Shared code can be your business logic, data access login along with UI as well.

It reduces your time to create your app as well as if your client ask to create iOS for same app which is already create in Android then you don't have to worry and can use same code to create iOS.

Performance Issue

When talking about Mobile App created using Xamarin as compare to App created using native language for that particular platform, Xamarin app performance is almost same. So, you will not find any differences in performance between app created native language for that platform and app created using Xamarin. But if we create different abstraction business logic layer then obviously it will slow app. There is no such compatibility issue with hardware on the different platform as well.

Open Source

After acquiring Xamarin, Microsoft makes few components as open source like Xamarin SDK, Command line tools, Runtime Libraries etc. To access the full functionality of Xamarin, we have to use license version of Xamarin with Visual Studio.


So, today we learned what is cross-platform mobile app and why we should use Xamarin for Cross-Platform Mobile App rather then creating app using its native language.

I hope this post will help you. Please put your feedback using comment which helps me to improve myself for next post. If you have any doubts please ask your doubts or query in the comment section and If you like this post, please share it with your friends. Thanks