Xamarim is for creating native mobile apps (Android, Windows Phone, and iOS) using Microsoft language C#
.
Cordova (or as it was formerly called: Phonegap) is the same but using Javascript
Both work as a proxy when calling internal functions of that mobile device, they internally call the right method, whether they are running on Android, Wphone or iOS, where we programmers call only one method.
Not wanting to enter the debate, what the best language, whether C# or Javascript, will be with the programmer himself how he wants and for what purpose will your application.
Shaman, you need a license is free since April 2016 (since Microsoft has acquired Xamarin), and has its own IDE (Xamarim Studio and Visual Studio), Cordova is free.
Shaman integrates into the compilation of the code so that you can do any application including native games, while, Cordova runs in a web panel, that is, the application will always be a web page where you can execute the commands in Javascript and "draw" in HTML5 and CSS3, that is, everything you can do in web, you can run with Cordova.
What are the main differences between these platforms?
The main objective of Xamarin is to bring . NET programmers to iOS, because the language is C#. They are known for, whenever Apple exposes new Apis, in less than 24 hours they are available in Xamarim. With Xamarim, we can create any native application, and now as supports Android and Windows Phone too, we can have our own libraries of our application (BLL and DAL for example) and create only "Views" for Web and with Xamarin, Android, iOS, and WP, never leaving the C#language, and never needing to learn Java, Swift, or Objective C.
Cordova follows more the principle of "mobile app" because it is the continuation of Phonegap, that we could make a web application and run it in a browser, and without Cordova, you cannot call commands from the phone, as the Contact List, the Photo Gallery because we are "blocked" only what the phone’s browser supports, for example links tel:
and mailto:
that opens the Phone and Email application respectively.
Native features that are unique to a particular operating system can be used?
Yes, they both have built-in tools that convert calls into native calls, but Cordova only has a few once it just runs as a Web Page. Xamarim has all the native calls of the 3 main mobile systems, since it has the ability to create all kinds of applications and not only webapps.
Platforms are mutually compatible?
These are two different things, not knowing your resources as a programmer, I’ll tell you in other words:
- with Xamarim, you can create a car from scratch
- with Cordova, you can just create the instrument cluster view
Just remind him that he doesn’t care which one is better, which one you like better. Answer objectively if you understand both at least if you can give an answer without being biased.
– Maniero