Is Xamarin the best cross platform mobile development tool?
Yes. No. Depends.
Yes it is one of the best in the market right now, provided you /your team is performant with C# and/or XAML.
Plus you get to play around Xamarin.Forms (Share your code + UI ~90% reuse, it is framing up as one of the most cross-platform frameworks out there).
An inclination may be, that you or your team should be competent on C# + XAML to take benefits offered with Xamarin as a tool/technology, if you are web person (HTML + JS + CSS), the learning curve is significant but the effort will pay off once things get in order for your / your team.
Other popular frameworks React Native (by Facebook), Ionic 2 etc. do provide native feature capabilities, but they lack in certain hardware performant features (GPS, Background services and others)
Let me put it this way
You have a choice to either buy a BMW M4 Coupe vs Jaguar F Type V8, now both of them
But then you really cannot argue which one would be better, but rather you may incline yourself towards Jaguar or a BMW specific to your perceptions about the brand and customer feedback etc.
So yes, to summarise:
Nothing personal here, sharing my experience I had so far.
Hope this may help.
As @JimBennett says, there are pros and cons to all tools. I chose to use Xamarin.Forms as I come from a C# background (with C++ and others before that). Had I come from a web background, I would probably have gone for Apache Cordova so that I could make use of existing skills.
After doing all that, I still cannot say one tool is better than the other when comparing Xamarin.Forms and Apache Cordova. It largely comes down to what your existing skillset is, rather than one being hugely more capable than the other (although there may well be constraints that I haven't encountered yet).
Whilst I don't have a suitable test harness for comparing performance of Xamarin.Forms and Apache Cordova, my gut feel is that for simple apps, Cordova apps are more responsive than Xamarin.Forms . But I repeat - that is gut feel with simple functionality, not a result of timed comparable tests.
Xamrin.Forms is the worst framework for making apps. Go native if you want Xamrin.Android and Xamarin.iOS.
Don't believe in that 90% code share. because in that scenario your app will be such a bloatware , you will be wondering what is going on. Sharing 90% code means adding plugin or nuget package. Now the person whose nuget package you will be using he does not know why you are using his package so it will have other unnecessary plugins which you will not need and it will add your app memory. Then you have to deal with the linker mumbo jumbo. Everybody has their own theory , use sdk assemblies, do not use sdk assemblies. Make trial and error and after that you are ended with a hodge podge app.
One more thing xamarin.forms is used by developers who have recently started mobile development- means they have no idea about mobile development both for android and ios. Nobody i know stayed with xamarin forms for more than 1 year . They all moved to native development. So you can understand what kind of people you will attract if you are working on xamarin forms. So think atleast two to three times before selecting xamarin forms
It is a unique software which supports single programming language called C# for mobile app development. Xamarin is compiled natively that creates a go to option for developing high quality and performance apps by native look & feel.
Xamarin Advantages for App Development:
Xamarin Inc., as a wholly-owned Microsoft subsidiary acting as a separate legal entity, adheres to the Microsoft Privacy Statement: Privacy & cookies