Using Xamarin in 2020. Why?

What is Xamarin?

Xamarin is a developer technology, which we can develop cross platform mobile applications (native).

Why it is good?

Let’s see, if we don’t develop natively, what do we need before we start developing?

iOS: We need a macOS or OS X, which we can build our application. We need, if we develop iOS, Mac applications, to know the Objective-C or Swift language.

Android: fortunately Java is platform independent, so we can install on every OS. We need to know in Java and need to install an Android Studio.

WindowsPhone: We need to use Windows with C# and Visual Studio.

All in all, unfortunately, it would be very long to develop, and it would take a lot of resources from the company.

Let’s look at all these with Xamarin :

iOS, Android, UWP(Universal Windows Platform) : Xamarin C# with Visual Studio or Xamarin Studio.

It was a little shorter method. One person is enough for work on it, because he writes and builds everything. Xamarin reached that each platform is implemented specificity, so there is no need for an API to develop the app from the platform.

Xamarin the company has been owned by Microsoft.

Now let’s take a look at Xamarin’s services, which we can make the development simpler, easier testing, or even crash detection easier :

  • Xamarin Studio: on Mac and Windows, which we can develop in Xamarin.

Xamarin, Xamarin.Forms Shared, Xamarin.Forms Portable, which one to choose for development ?

Xamarin (Android,iOS): You should use this if you do not want to develop for UWP and you want to develop the two platform completely separate.

Xamarin.Forms Shared and Portable project:

This is where the Xamarin really, why should you use it. While in the previous chose C # because of this, however, it had also because here we share the UI , for example, if you want to display a pop-up window, we will take the Shared Project, and the compiler will solve for us to all platforms in their pop-up window appears.

But then what is the difference between the two?

Such that even in the Shared we are using the so-called conditional compilation, dependency injections are used for Portable if any platform specific implementation needed.

What are they?

About Dependency you can read in my other post: Xamarin.Forms Portable DependencyService — platform specific implements.

The conditional compilation means that you do not organize as a separate files for each platform , but there you implement where you need to use . How can this be? : we have to write the platform specific implementation between this makro :#if __iOS__ , if we need to implement a iOS specific implementation. Who does what in comfortable using it. I actually recommend and the Dependency Injections, beacuse I like to see the implementation of separate files.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Sunilium

We are building awesome applications @ UK & Hungary. #csharp #xamarin #azure #microsoft #golang #kubernetes https://sunilium.com