When to use Cordova or Xamarin?

Asked

Viewed 6,947 times

26

When researching a bit about platforms for application development mobile I came across Xamarin and Cordova.

Both proposed to develop a single code base for apps running on Android, iOS and Windows Phone.

How am I not expert developing mobile I had the following doubts:

  • What are the main differences between these platforms?
  • Native features that are unique to a particular operating system can be used?
  • Platforms are mutually compatible?
  • 4

    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.

1 answer

26


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
  • 1

    What exactly would a root car be ?

  • @gmsantos it means that you can create from scratch, from the lower layers and with Cordova you will be limited to more superficial layers. I’ve used both, if you want to do something simple that doesn’t need much performance, Cordova is a good choice. But if you need more control and employment, Xamarin is a better choice. But it also has its negative side, as said, pe pago ie, if you start an application, prepare your pocket and currently see that when you find a mistake, it takes a little time to solve (I’m doing this since yesterday)

  • But the fact of using only C# is very good. Nothing against other languages, but the code is simpler, in my opinion. If you are a student you can get a free license. If you are a student.

  • @Italopessoa interesting the student license, I will take a look.

  • 1

    http://xamarin.com/student

  • 1

    Xamarin is now free https://blog.xamarin.com/xamarin-for-all/. In addition the answer is partly wrong about the fact that you cannot make native calls, through plugins you can access any desired native functionality, see https://cordova.apache.org/docs/en/4.0.0/guide/hybrid/plugins/.

  • @True Brunorb, could you include a new answer or edit? Perhaps if the balexandre does not manifest it would be better to turn into a wiki response

  • 2

    @gmsantos edited it to contain the links of the Xamarin acquisition by Microsoft and said that now a license is not required :)

Show 3 more comments

Browser other questions tagged

You are not signed in. Login or sign up in order to post.