Recently, many application developers tend to agree that Xamarin can be considered a native development tool. In fact, there is the view that "everything that can be done in an iOS application using Objective-C or Swift, and everything that can be done in an Android application using Java, can be done in C # using Xamarin."
Nevertheless, there are many pitfalls in the rivalry of the native platform and the Xamarin platform. So, let's compare Xamarin with native development tools and the development of hybrid platforms (Ionic, PhoneGap / Cordova).
Xamarin
Technology stack: one stack, one code base (C #, .Net framework + native libraries)
Code sharing: Yes, up to 96% using Xamarin.Forms
UI / UX (User Interface / User Expierence): complete customization of the UI for each platform is possible
Performance: good, close to native
Hardware capabilities: high. Xamrin uses platform-specific APIs and supports communication with native libraries.
TTM (time to market): with Xamarin.Forms TTM occurs quickly due to limited configuration and advanced code sharing.
Native
Technology stack: different stacks for each platform
Code sharing: No, different code bases
UI / UX (User Interface / User Expierence): only platform dependent UI
Performance: excellent
Hardware capabilities: high. Native tools have full support for OOTB capabilities
TTM (time to market): Xamarin, iOS and Xamarin.Android take more time as the amount of custom code increases.
Hybrid
Technology stack: one stack, one codebase (JavaScript, HTML5, CCS)
Code sharing: yes, 100%
UI / UX (User Interface / User Expierence): common UI for all platforms (limited customization options)
Performance: Medium - Low
Hardware capabilities: medium. Features may be available through third-party APIs and plugins, although there are some risks due to the poor quality and unreliability of most of these tools.
TTM (time to market): TTM for native Android or iOS applications may be the same as for Xamarin.Forms or hybrid tools. However, building applications for multiple platforms may require you to either extend the time-to-market or increase the number of interested developers.
Thanks to a single code base and minimal configuration, hybrid solutions quickly enter the market. These tools are even used for prototyping conceptual projects.
Is there an alternative to Xamarin today?
Hybrid mobile development tools are developing quite quickly, but they still lack the performance and capabilities of their own, which are offered by Xamarin. At the same time, costs remain comparable. If we consider two approaches (hybrid and Xamarin), then the most popular dilemma is Xamarin versus Ionic and Xamarin versus React. However, React Native is losing popularity due to a number of limitations in the underlying technologies (web technologies stack).
However, there is a mobile JavaScript-based development tool that surpasses hybrid solutions, at least in terms of UI. This is about NativeScript. This cross-platform open source framework supported by Telerik and using a single code base allows you to implement a native UI and connect to native APIs for better use of mobile devices. Its main difference is that it uses XML markup, which is compiled not in HTML web browser, but in native equivalents of Android and iOS.
This approach fills the gap between native and hybrid development, and its methods are similar to what Xamarin does. The main difference between the two tools is the programming language. Therefore, the comparison of Xamarin and NativeScript should be the subject of more detailed research.
At the same time, discussing the advantages and disadvantages of Xamarin and the native Android / iOS development seems more complicated: both options prove that they are valuable in terms of quality and performance. Therefore, the choice usually depends on the type of application you want to create.
Xamarin Tips
When comparing all the pros and cons, it is not difficult to conclude that these shortcomings can be detrimental to the development. Most business owners choose the Xamarin platform, as this reduces time to market (Time-To-Market) and engineering costs by sharing code and using a single stack of technologies.
Based on the experience of our team, we can conclude that the best use of Xamarin is to develop mobile applications for business. With a standard interface that covers 90% of projects, the logical core of a product can be easily shared across platforms.
Source:
www.altexsoft.com/blog/mobile/the-good-and-the-bad-of-xamarin-mobile-development