I have been working in Android Studio for about a year, and just recently found out that there is such a program - Xamarin. In this program, you can write simultaneously for Android, iOS and WP.

How optimized is the application after compilation in this program? For example, I wrote a program in AS and exactly the same in Xamarin. Will programs have a big difference in the occupied place, the consumption of RAM? All the same, AS was originally made for writing applications on Android, and Xamarin somehow translates the code itself.

In which language is it better to write - Java or C #?

  • It will not be optimized for any of the supported platforms, slower, significantly larger in size of the application and resource consumption, with poor customization, and in general some drawbacks. The only doubtful advantage is that at once there are three platforms with under-supplements. - pavlofff
  • Android Studio is an IDE, a development environment for android, not a platform. For native Android, they don’t write to Sharp - Java, C, C ++, Go, Kotlin ... - pavlofff

2 answers 2

Definitely not an answer to this question. It all depends on what technology you need. If you don't need .NET, then perhaps there is no point in using Xamarin.

Xamarin applications in the phone’s memory are also placed in Mono Runtime - the necessary components for running Xamarin applications. Xamarin, despite good publicity and prevalence, is a bit damp. This is especially noticeable when designing a UI and working with WCF.

Of course, I advise you to try it yourself and draw conclusions based on your own feelings :) (Xamarin is built into VS2015 VS2017)

    To write on androde on (you need to know):

    • In Java: java + api android
    • In C #: C # + Java + api android
    • On <x language> #: <x language> + Java + api android

    To write cross-platform applications on Xamarin (Android / IOS):

    • C # + JAVA + ObjectiveC + api xamarin + api android + api IOS

    Draw your own conclusions))