Earlier quoted context omitted.
> I do not understand, nor have any sympathy for, all these people who insist upon using Xcode > there are so many alternative toolsets you can use Actually no, if you want the latest, most supported tools, frameworks APIs etc. you have to use Xcode. Most of us don't want to use Xcode, but we also don't want to use C#, (Swift is actually very nice), which IS NOT a native solution.
How does one define `native`? To me, native is using the platform API's exactly - 1:1 - with zero abstractions. With Xamarin you do exactly that, in either csharp or fsharp. When using Xamarin a UIViewcontroller still is a UIViewController, you'll be directly interacting/pinvoking the underlying APIs that you already know and potentially hate :p (cough Android). See http://continuous.codes/ for an example of what can…
OTOH Codename One ( https://www.codenameone.com/ ) has a very different interpretation of "native". They use their own widget toolkit like QT which makes them "less native" in that regard. But they are native to Android (being Java based) and translate directly to C/Objective-C which means you can literally write OS native code and use native widgets within the hierarchy.
I think native is a worthless word in that regard as it doesn't properly convey meaning in these sort of complex situations. Once PhoneGap started billing itself as "native" this all went out of the window...