When to use Xamarin.Forms vs Xamarin Native?

Ajay Kumar picture Ajay Kumar · Aug 25, 2015 · Viewed 74.7k times · Source

I need to make a decision between using Xamarin.Forms vs Xamarin native to develop an app.

I want to go with Xamarin.Forms as UI code will be shared as well.

So what are the technical positives and negatives of using Xamarin.Forms over Xamarin Native?

Answer

Wosi picture Wosi · Aug 25, 2015

Xamarin.Forms

Pros

  • Create one UI for all platforms
  • Use basic components that are available on all platforms (like Buttons, Textfields, Spinners etc.)
  • No need to learn all the native UI frameworks
  • Fast cross platform development process
  • Custom native renderers give you the ability to adjust the appearance and feeling of controls

Cons

  • It's still a new framework and still contains bugs
  • Especially Windows RT is not yet stable
  • It's sometimes slower than accessing the native controls directly
  • Custom native renderers have boundaries and are poorly documented

Xamarin.Android, Xamarin.iOS, Windows Phone, Windows RT

Pros

  • Create one UI per platform
  • Easy ability to adjust the platform specific UI features and components
  • Get the maximum out of your UI

Cons

  • Cross platform development process is much slower
  • You need to learn all native UI frameworks
  • You may result in having duplicate code (as you describe almost the same UI in three different platform specific ways)

In addition to that Xamarin says on https://xamarin.com/forms:

Which Xamarin approach is best for your app?

Xamarin.Forms is best for:

  • Data entry apps
  • Prototypes and proofs-of-concept
  • Apps that require little platform-specific functionality
  • Apps where code sharing is more important than custom UI

Xamarin.iOS & Xamarin.Android are best for:

  • Apps that require specialized interactions
  • Apps with highly polished design
  • Apps that use many platform-specific APIs
  • Apps where custom UI is more important than code sharing