Xamarin apps share code across all platforms.
Target iOS, Android, Windows and Mac with a single, shared C# codebase. Use the same language, APIs and data structures on every platform.
C# is the best language for mobile app development.
With Xamarin, you write your apps entirely in C#, sharing the same code on iOS, Android, Windows, Mac and more. Anything you can do in Objective-C, Swift or Java, you can do in C#.
Native UI, native API access & native performance.
Xamarin apps are built with standard, native user interface controls. Apps not only look the way the end user expects, they behave that way too. This can’t be achieved with other solutions.
Apache Cordova (https://cordova.apache.org)
When using the Cordova APIs, an app can be built without any native code (Java, Objective-C, etc) from the app developer. Instead, web technologies are used, and they are hosted in the app itself locally (generally not on a remote http server).
Apps using Cordova are still packaged as apps using the platform SDKs, and can be made available for installation from each device’s app store.