themightyhulk themightyhulk - 4 years ago 68
Android Question

What is the idea of Xamarin's cross-platform app vs. native app development?

I am currently reading up on Xamarin and have stumbled upon a topic that confuses me. My intent is, to develop an iOS app as the target of my project. However, due to other circumstances, I can only test on an Android Phone right now and first in the last part of the development on an iPhone. Therefore, the app would have to be initially developed and tested for Android and then later on - through Xamarin - deployed as an iOS app.

In Visual Studio with Xamarin installed, there is a choice of using native app development such as Xamarin.iOS, Xamarin.Droid and Xamarin Windows app. As far as I was told by some more experienced programmers, it does not matter which of those three apps/platforms one would choose for the initial development as it is always possible - again through Xamarin - to deploy to whatever platform is required in the end.

Now there is also a fourth app solution in the project menu, called "cross-platform" and this confuses me. As I understand, this is a general app choice virtually fulfilling the same purpose as the native apps, mentioned in the previous paragraph - deployment to whatever platform is desired at the end of the project.

Unless I have misunderstood something here, what exactly would be the difference or idea of having a so called "cross-platform app" as a fourth choice if it can basically do the same as the native apps?

Answer Source

In Xamarin there is two approaches:

  1. Traditional Approach where you share application business logic and you write UI specifically for each platform using Xamarin.Android or Xamarion.iOS APIs to target ~70% of code share.
  2. Xamarin.Forms which is a library on top of the specific APIs (Xamarin.Android and Xamarin.iOS) to help share UI as well to target ~90% of code share.

With Xamarin you generate a native app and keep in made the quote:

Everything you can do in native with Java, Objective-c or swift you should be able to do with Xamarin.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download