With an overly increasing market for mobile applications in both of its major platforms- Android and IOS, it is only probable that the developers continue to hunt for a faster, a more comprehensive way of creating these. This where open source cross-platform frameworks like React Native and Xamarin come to play. With both these frameworks topping the charts in their fields it is only necessary to closely examine and compare their features so that the user is better equipped to make a choice.
If simple facts are to be believed then React native has about three times more users than Xamarin, on the various platforms where the users of these frameworks form communities and interact we can see a wide disparity in the number of people committed to one of the two, be it Github or Reddit. But this does not necessarily indicate better technical prowess. What it does show is that Facebook is making extra efforts in securing a community for its framework, a field where Microsoft effectively lacks.
If we care to examine the technical aspects of the two, we see the amount of ease of usage that React native provides to its customers- basic knowledge of the Java Script and you are ready to develop mobile apps. Xamarin, on the other hand, uses the C# language, which is more popular with the native users of Android or IOS.
This also introduces to one of the areas where React Native falls short of customer expectations is that it has no provisions for the native features of Android or IOS, the need to be created from scratch every time you have to include them in your development process, this tedious task compels you to write in both Java and Objective C. Whereas Xamarin offers no such problems.
As far as the need for emulators is concerned, in Xamarin one has the compulsion to integrate them in order create anything, whereas React native can function without it, but for a better or more complex application your work has to be integrated with these external emulators at the end.
Another area where React native has not been scoring high is the lack of maturity in its framework, it is easily susceptible to damage and prone to attack via bugs, etc. It has taken a lot of public heat, since often, these bugs are hard to fix, and time taken in doing so might range to days.
So, while React native might appear to be more lucrative a strong proposition can be made claiming that Xamarin with its impeccable centralized support among other things is a better boat to sail in for the long term.