Xamarin allows working with a single, shared C# code base, thereby cutting down development time significantly. Xamarin platform let the developers create and share app logic for input validation, database interactions, web service calls, backend integrations and other functionalities, whereas pixel-perfect UI code is written using MVVM frameworks for each platform separately. When you use Xamarin Native, the level of code sharing is only up to 75%.With the Xamarin.Forms, level of code sharing increases up to 95%. Unlike Xamarin Native, Xamarin.Forms allows developers to create and share a single UI code for all platforms. Hence, the development cycle is faster with Xamarin.Forms.Cost of mobile app development is always a crucial factor for business enterprises. Choosing cross platform mobile app development is itself a cost effective choice, as it negates the need for building native applications for Android and iOS platforms simultaneously. In case of Xamarin native, you will need a developer with a sound knowledge and expertise of native UI views specific to all the existing platforms. With Xamarin.Forms, the learning curve and development effort is minimal as the app logic and UI code is shared among platforms. Not it reduces the developer’s effort, but also reduces the overall development costs to a greater extent.Xamarin framework provides access to an extensive array of controls, plugins and APIs for iOS and Android, that let you take advantage of platform-specific functionality. However, in many cases, applications may need an access to device’s native features and the single code base of Xamarin.Forms may not prove useful. However, Xamarin Native can ensure access to device specific features and functionalities in such instances.Xamarin is equipped with UI design environment for Xamarin Studio and Visual Studio, which makes it easier for the developers to create flawless UI and UX solutions. If your application demands complicated and intensive graphical user interface, then Xamarin Native is the right framework to choose. Xamarin Native allows its developers to create platform-specific user experience for its application. As mentioned earlier, Xamarin.Forms allows sharing of UI code across multiple platforms. And this would set certain limitations to the complexity of UI that can be shared. Since Xamarin Native allows creating complex and intense graphic UI for each platform, it is recommended for apps delivering high functionalities and customized user experience.Maintaining an app is always a tricky task, especially when it is launched in multiple platforms. Every minor update has to be communicated and implemented across the platforms. When you opt for Xamarin app development , you gain a definite advantage in this aspect as shared codebase helps in maintaining, debugging and updating the app logic faster.Updates and maintenance of Xamarin apps are easier as the developers only need to update a single source file. Since Xamarin apps share code across multiple platforms, it also reduces the line of code thereby cutting down the chances of errors or bugs.With Xamarin Native, developers need to work on the base code and then the platform-specific UI code. However, Xamarin.Forms offers a consolidated approach in this regard too, as all the updates can be performed on a single codebase. If you are developing a mobile application that require frequent updates, then Xamarin.Forms is what you need.Thus, after going through the above-listed specifications, it becomes clear that both Xamarin Native and Xamarin.Forms have their pros and cons. Choosing a cross platform mobile app development framework is purely based on your app requirements and budget limits. If you are developing a mobile application that require little platform-specific functionality where code sharing is more important than custom UI, then go for Xamarin Forms. On the other hand, if you are planning to create a cross-platform app with intricate designs, specialized user interactions and platform-specific APIs, then its better to use Xamarin Native. No matter the choice, always make it a point to seek the expertise and services of a reputed Xamarin development company