Need advice about which tool to choose?Ask the StackShare community!

Apache Cordova

660
794
+ 1
188
Xamarin

1.1K
1.3K
+ 1
758
Add tool

Apache Cordova vs Xamarin: What are the differences?

Apache Cordova: Platform for building native mobile applications using HTML, CSS and JavaScript. Apache Cordova is a set of device APIs that allow a mobile app developer to access native device function such as the camera or accelerometer from JavaScript. Combined with a UI framework such as jQuery Mobile or Dojo Mobile or Sencha Touch, this allows a smartphone app to be developed with just HTML, CSS, and JavaScript; Xamarin: Create iOS, Android and Mac apps in C#. Xamarin鈥檚 Mono-based products enable .NET developers to use their existing code, libraries and tools (including Visual Studio*), as well as skills in .NET and the C# programming language, to create mobile applications for the industry鈥檚 most widely-used mobile devices, including Android-based smartphones and tablets, iPhone, iPad and iPod Touch.

Apache Cordova and Xamarin can be primarily classified as "Cross-Platform Mobile Development" tools.

Some of the features offered by Apache Cordova are:

  • Cross-platform (CLI) workflow
  • Platform-centered workflow
  • Hundreds of plugins

On the other hand, Xamarin provides the following key features:

  • Cross-platform development- Thinking about supporting iOS, Android, Mac and Windows? Xamarin allows you to write it all in C#.
  • Reuse existing code- Use your favorite .NET libraries in Xamarin apps. Easily use third-party native libraries and frameworks.
  • Discover as you type- Explore APIs as you type with code autocompletion.

"Lots of plugins" is the primary reason why developers consider Apache Cordova over the competitors, whereas "Power of c# on mobile devices" was stated as the key factor in picking Xamarin.

Apache Cordova is an open source tool with 762 GitHub stars and 327 GitHub forks. Here's a link to Apache Cordova's open source repository on GitHub.

Die Coder GmbH, BetRocket, and Dial Once are some of the popular companies that use Apache Cordova, whereas Xamarin is used by Rdio, Olo, and Rumble. Apache Cordova has a broader approval, being mentioned in 96 company stacks & 45 developers stacks; compared to Xamarin, which is listed in 74 company stacks and 65 developer stacks.

Advice on Apache Cordova and Xamarin
Needs advice
on
Vue Native
and
Apache Cordova

Heya, I'm very new on here! And I hope I can get advice on this matter :

We are working on a new app. The web version is on Sails.js (V1)/node.js/vue.js. Started with the Web App default settings (including login and payments, which we are using use). We started with a web version to give access to the customer to start creating the data while building the mobile version. (iOS and Android)

I heard of Apache Cordova, that using the same JavaScript/css could be used to not re-code the front-end of the app for iPhones and Androids. I've been told that it is end-of-life now (? - I couldn't find this info myself).

I saw that Vue Native might be an alternative and would only need a few adjustments from our web version as we are using Vue.js for the frontend.

I know next to nothing on this, so I would really appreciate it if you guys could point me to possible solutions you've used and why instead of searching through all the existing solutions. (I'm very open to know if there are alternatives to those two too !!)

We will need to be using the GPS functions of the mobiles, which is a big part of the app.

Thank you!

See more
Replies (1)
ahmed Tirhmert
Fullstack Web Developer | 3 upvotes 路 13.5K views

i don't have any experience with the vue native what so ever but i think Quasar and Ionic are the best options for an HTML/CSS/JS based mobile app ionic has full support of vue and quasar is built on vue you may have to change some configurations in your project files

See more
William Miller
Needs advice
on
Xamarin
React Native
and
PyQt

We are developing an AWS IoT app for large boats. The IoT devices have sensors all over the boat for engine oil pressure, position, water depth, fuel level, crew location, etc. When the boat has internet, we interact with AWS cloud using lambda and Amazon DynamoDB. When the boat is offshore, the captain and crew still need normal and emergency alerts and real-time sensor information. The crew might have an Android or IoS phone or a Windows or macOS PC to receive alerts and interact with sensors. We may use the AWS GreenGrasss edge computing solution and either MQTT or HTML for that function.

Question: We want to develop a cross-platform client to run on Windows, Mac, Android, IOS, and possibly Linux. We are primarily Python programmers, so PyQt or Kivy are options for us, but we have heard good things about React Native, Flutter, Xamarin, and others. We think an AWS Greengrass core on an RPI4 could communicate to the client with MQTT or a local webserver with a client web interface.

Any thoughts would be much appreciated.

See more
Replies (1)
Recommends
React Native

I don't know much about Xamarin but I know about PyQt and React Native.

However, I don't recommend PyQt because the apps made using PyQt are not that suitable for mobile apps. If you take a look at the PyQt interface, you will be able to see that the features are more of a desktop apps kind.

React Native uses JavaScript. React Native is immensely flexible in upgrading your apps because it allows you to formulate your app code into independent blocks.

In Xamarin, you have to write the code in .NET . The best thing about Xamarin is, that it extends the.NET developer platform with tools and libraries specifically for building apps for Android, iOS, tvOS, watchOS, macOS, and Windows

While the best choice for you depends on various factors but React Native app development is a promising overall choice. In today鈥檚 scenario, React Native has steady growth, flawless code structure, and brilliant and large community support. We suggest you go for React Native for your next project owing to its outstanding support from developers, easy availability, and cost-effectiveness.

See more
Decisions about Apache Cordova and Xamarin
Aleksandr Filatov
Contract Software Engineer - Microsoft | 2 upvotes 路 109.5K views

I've done some Hybrid Mobile apps with both technologies Apache Cordova and React Native and described my experience in my blog.

In a few words, I would suggest to use each technology in accordance what what is your current code base and what do you want to achieve.

React Native is a great option if you need that extra edge in performance with multi-threading and native UI rendering. Or you already have a web app based on React which you want to port to mobile.

On the other hand, if you have an existing web application code and you want to reuse some or all, including the ability to use web third-party libraries, then Cordova is the best option.

See more
Aleksandr Filatov
Contract Software Engineer - Microsoft | 2 upvotes 路 49.7K views
What is Proguard?

ProGuard is the most popular optimizer for Java bytecode. It makes your Java and Android applications up to 90% smaller and up to 20% faster. ProGuard also provides minimal protection against reverse engineering by obfuscating the names of classes, fields and methods.

How to use it in Cordova app?

I didn't find any plugins for it. So I've implemented it by myself and shared it on GitHub.

Feel free to use!

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Apache Cordova
Pros of Xamarin
  • 40
    Lots of plugins
  • 33
    JavaScript
  • 25
    Great community
  • 22
    Easy Development
  • 17
    Easy to learn
  • 14
    Cross platform
  • 6
    Open Source
  • 5
    Easy, fast, not buggy in my experience with my code
  • 5
    Lots of descendants; PhoneGap, Ionic, Intel XDA etc
  • 3
    Rich HTML 5
  • 3
    Can use CSS3
  • 2
    Fast and hot reload
  • 2
    Easy debugging
  • 2
    Rich css ui
  • 2
    Need a light system
  • 2
    HTML, CSS and JS
  • 2
    Use what you code in your browser
  • 1
    One code base everywhere
  • 1
    Native Web Technologies
  • 1
    Without extra tooling needed
  • 119
    Power of c# on mobile devices
  • 79
    Native performance
  • 76
    Native apps with native ui controls
  • 70
    No javascript - truely compiled code
  • 66
    Sharing more than 90% of code over all platforms
  • 44
    Ability to leverage visual studio
  • 43
    Many great c# libraries
  • 42
    Mvvm pattern
  • 35
    Amazing support
  • 33
    Powerful platform for .net developers
  • 18
    GUI Native look and Feel
  • 14
    Nuget package manager
  • 11
    Free
  • 9
    Enables code reuse on server
  • 9
    Backed by Microsoft
  • 8
    Faster Development
  • 7
    It's free since Apr 2016
  • 7
    Best performance than other cross-platform
  • 7
    Easy Debug and Trace
  • 7
    Open Source
  • 7
    Use of third-party .NET libraries
  • 6
    Xamarin.forms is the best, it's amazing
  • 6
    Mac IDE (Xamarin Studio)
  • 5
    C# mult paradigm language
  • 4
    Microsoft backed
  • 4
    Microsoft stack
  • 4
    Power of C#, no javascript, visual studio
  • 4
    That just work for every scenario
  • 3
    Small learning curve for Mobile developers
  • 3
    Compatible to develop Hybrid apps
  • 3
    Great docs
  • 2
    Ionic
  • 2
    Well Designed
  • 1
    Ability to leverage legacy C and C++

Sign up to add or upvote prosMake informed product decisions

Cons of Apache Cordova
Cons of Xamarin
  • 2
    No native performance
  • 1
    Hard to install
  • 0
    Hard to install
  • 8
    Build times
  • 4
    Visual Studio
  • 3
    Complexity
  • 3
    Price
  • 3
    Scalability
  • 2
    Nuget
  • 2
    Build Tools
  • 2
    Maturity
  • 2
    Support
  • 0
    Maturidade
  • 0
    Performance

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is Apache Cordova?

Apache Cordova is a set of device APIs that allow a mobile app developer to access native device function such as the camera or accelerometer from JavaScript. Combined with a UI framework such as jQuery Mobile or Dojo Mobile or Sencha Touch, this allows a smartphone app to be developed with just HTML, CSS, and JavaScript.

What is Xamarin?

Xamarin鈥檚 Mono-based products enable .NET developers to use their existing code, libraries and tools (including Visual Studio*), as well as skills in .NET and the C# programming language, to create mobile applications for the industry鈥檚 most widely-used mobile devices, including Android-based smartphones and tablets, iPhone, iPad and iPod Touch.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Apache Cordova?
What companies use Xamarin?
See which teams inside your own company are using Apache Cordova or Xamarin.
Sign up for Private StackShareLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Apache Cordova?
What tools integrate with Xamarin?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

+7
2
907
What are some alternatives to Apache Cordova and Xamarin?
PhoneGap
PhoneGap is a web platform that exposes native mobile device apis and data to JavaScript. PhoneGap is a distribution of Apache Cordova. PhoneGap allows you to use standard web technologies such as HTML5, CSS3, and JavaScript for cross-platform development, avoiding each mobile platforms' native development language. Applications execute within wrappers targeted to each platform, and rely on standards-compliant API bindings to access each device's sensors, data, and network status.
React Native
React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native.
Electron
With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker. The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on io.js and Chromium and is used in the Atom editor.
Ionic
Free and open source, Ionic offers a library of mobile and desktop-optimized HTML, CSS and JS components for building highly interactive apps. Use with Angular, React, Vue, or plain JavaScript.
Flutter
Flutter is a mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.
See all alternatives
Reviews of Apache Cordova and Xamarin
Review of
Xamarin

I'm working in Huge company and I'm in charge to choose the cross-platform environment to develop Mobile application for all our services. I choose Xamarin but because the error i get everytime in Visual Studio, I want to leave it and recommand another solution. In fact that's why I'm here.

Weird, Install VS2017 with Xamarin on a new PC Create a new app GOT ERRORS.....!!!!!

Thank you for considering this

How developers use Apache Cordova and Xamarin
Foundbite uses
Xamarin

Xamarin enables us to develop for 3 platforms (iOS, Android and Windows Phone) with one core codebase coded in C#. Xamarin has allowed us to release an app on all three platforms and develop them simultaneously - not bad for a team of 2!

papaver uses
Apache Cordova

used in conjunction with ionic to build out ios and android app for a client. a little slow to run on devices but saves a ton on development time.

Ralic Lo uses
Apache Cordova

Used Apache Cordova to package single page web application written HTML/CSS/javascript as a iOS/Android application.

Ana Phi Sancho uses
Xamarin

Self taught : acquired knowledge or skill on one's own initiative. Platform: OSX 10.8 or later. Mac computer user.

MobiBoats uses
Apache Cordova

Used with Ionic to support various plugins and integrations with the native environment of iOS and Android.

Robert Brown uses
Xamarin

Build & ship OS X & iOS apps from Visual Studio on Windows. Requires paid team license.

Daniel Kovacs uses
Xamarin

Mobile app development with PCL and Xamarin.iOS and Xamarin.Android.

Jo茫o Alvarenga uses
Apache Cordova

Compilar o webapp, transformando-o em aplicativos nativos

Olo uses
Xamarin

Cross platform, white labelled native mobile apps

Evan Luc uses
Apache Cordova

Cross platform mobile development framework.