# Why Xamarin Forms and When to use Xamarin Forms

# Why Xamarin Forms and When to use Xamarin Forms

Xamarin is becoming more and more popular - it is hard to decide when to use Xamarin.Forms and when Xamarin.Platform (so Xamarin.iOS and Xamarin.Android).

First of all you should know for what kind of applications you can use Xamarin.Forms:

  • Prototypes - to visualize how your application will look on the different devices.
  • Applications which not require platform specific functionality (like APIs) - but here please note that Xamarin is working busily to provide as many cross-platform compatibility as possible.
  • Applications where code sharing is crucial - more important than UI.
  • Applications where data displayed is more important than advanced functionality
  • There are also many other factors:

  • Who will be responsible for application development - if your team consists of experienced mobile developers they will be able to handle Xamarin.Forms easily. But if you have one developer per platform (native development) Forms can be bigger challenge.
  • Please also note that with Xamarin.Forms you can still encounter some issues sometimes - Xamarin.Forms platform is still being improved.
  • Fast development is sometimes very important - to reduce costs and time you can decide to use Forms.
  • When developing enterprise applications without any advanced functionality it is better to use Xamarin.Forms - it enables you to share mode code not event in mobile area but in general. Some portions of code can be shared across many platforms.
  • You should not use Xamarin.Forms when:

  • You have to create custom functionality and and access platform specific APIs
  • You have to create custom UI for the mobile application
  • When some functionality is not ready for Xamarin.Forms (like some specific behaviour on the mobile device)
  • Your team consists of platform specific mobile developers (mobile development in Java and/or Swift/Objective C)
  • # Remarks

    You can refer to the official Xamarin Forms documentation to explore more:

    https://www.xamarin.com/forms