StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Frameworks
  4. Cross Platform Mobile Development
  5. Apache Cordova vs Ionic vs Xamarin

Apache Cordova vs Ionic vs Xamarin

OverviewDecisionsComparisonAlternatives

Overview

Xamarin
Xamarin
Stacks1.3K
Followers1.5K
Votes785
Ionic
Ionic
Stacks9.5K
Followers8.6K
Votes1.8K
Apache Cordova
Apache Cordova
Stacks686
Followers892
Votes218
GitHub Stars955
Forks345

Apache Cordova vs Ionic vs Xamarin: What are the differences?

**Key Differences between Apache Cordova, Ionic, and Xamarin**

Apache Cordova, Ionic, and Xamarin are popular platforms for building cross-platform mobile applications, but they differ in various aspects that impact development and performance.

1. **Language and Framework**: Apache Cordova uses HTML, CSS, and JavaScript for app development, Ionic is built on top of Cordova and uses Angular for the framework, while Xamarin uses C# and .NET framework.
   
2. **User Interface**: Ionic offers a set of pre-built components and UI elements for creating visually appealing interfaces, while Apache Cordova and Xamarin require more customization for UI design.

3. **Performance**: Xamarin generally provides better performance as it compiles down to native code, while Apache Cordova and Ionic rely on web technologies, which can affect performance. 

4. **Community and Ecosystem**: Ionic has a large community and a rich ecosystem of plugins and tools, while Apache Cordova and Xamarin also have strong communities but with different levels of support.

5. **Native Features Support**: Xamarin offers the most robust support for native features and APIs of the underlying platforms, followed by Ionic, while Apache Cordova may require additional plugins for accessing diverse native functionalities.

6. **Cost**: Xamarin is a paid platform with a free trial, while Apache Cordova and Ionic are open-source and free to use, which can be a determining factor for small projects or budget-constrained developers.

In Summary, Apache Cordova, Ionic, and Xamarin differ in language and framework, UI capabilities, performance, community support, native features access, and cost considerations for app development.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Xamarin, Ionic, Apache Cordova

Anonymous
Anonymous

CEO at ME!

Jun 7, 2020

Decided

While with Ionic it is possible to make mobile applications with only web technologies, Flutter is more performant and is easy to use if you are willing to learn Dart, which is a fun language. Plus, it has awesome documentation and, while its ecosystem isn't near as big as JavaScript's is, it has a good package manager called Pub and its packages are generally high quality.

403k views403k
Comments
William
William

CEO at Stealth Startup

Feb 11, 2021

Needs adviceonlambdalambdaAmazon DynamoDBAmazon DynamoDBWindowsWindows

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.

464k views464k
Comments
Saber
Saber

Senior software engineer at Shortcut

Jun 28, 2021

Needs adviceonIonicIonicReact NativeReact NativeJavaScriptJavaScript

Greetings!

I have been searching lately for frameworks to build mobile apps.

We are trying to make something like a quiz app as a way for customers to contact us. I considered Ionic and React Native because we use JavaScript most of the time in websites, e.g., Vue.js/Nuxt.js. But Flutter seems a decent choice as well, especially since you can use Android/iOS-like components. We are looking for something that works in the long term, something that's time and cost-effective, especially when paired with backend services like Firebase or a GraphQL server. I would like to know your opinions and recommendations. Thank you!

281k views281k
Comments

Detailed Comparison

Xamarin
Xamarin
Ionic
Ionic
Apache Cordova
Apache Cordova

Xamarin’s 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’s most widely-used mobile devices, including Android-based smartphones and tablets, iPhone, iPad and iPod Touch.

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.

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.

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.;Visual Studio or Xamarin Studio- Create, build, debug, and deploy apps in Visual Studio. Or use Xamarin Studio, a fully-featured IDE that is built for mobile app development.;Native UI, Native Performance- Xamarin delivers high performance compiled code with full access to all the native APIs so you can create native apps with device-specific experiences.; Point and Click UI Design- Xamarin provides a world class Android UI designer. Use Apple Xcode UI designer to create interfaces and Storyboards that automatically sync with your Xamarin.iOS project.
Performance obsessed;Utilizes Angular and React;Native focused;Beautifully designed;Based on Web Components;
Cross-platform (CLI) workflow;Platform-centered workflow;Hundreds of plugins
Statistics
GitHub Stars
-
GitHub Stars
-
GitHub Stars
955
GitHub Forks
-
GitHub Forks
-
GitHub Forks
345
Stacks
1.3K
Stacks
9.5K
Stacks
686
Followers
1.5K
Followers
8.6K
Followers
892
Votes
785
Votes
1.8K
Votes
218
Pros & Cons
Pros
  • 121
    Power of c# on mobile devices
  • 81
    Native performance
  • 79
    Native apps with native ui controls
  • 73
    No javascript - truely compiled code
  • 67
    Sharing more than 90% of code over all platforms
Cons
  • 9
    Build times
  • 5
    Visual Studio
  • 4
    Price
  • 3
    Complexity
  • 3
    Scalability
Pros
  • 248
    Allows for rapid prototyping
  • 228
    Hybrid mobile
  • 208
    It's angularjs
  • 186
    Free
  • 179
    It's javascript, html, and css
Cons
  • 20
    Not suitable for high performance or UI intensive apps
  • 15
    Not meant for game development
  • 2
    Not a native app
Pros
  • 48
    Lots of plugins
  • 35
    JavaScript
  • 26
    Great community
  • 25
    Easy Development
  • 18
    Easy to learn
Cons
  • 2
    No native performance
  • 1
    Hard to install
  • 0
    Hard to install

What are some alternatives to Xamarin, Ionic, Apache Cordova?

Flutter

Flutter

Flutter is a mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.

React Native

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.

NativeScript

NativeScript

NativeScript enables developers to build native apps for iOS, Android and Windows Universal while sharing the application code across the platforms. When building the application UI, developers use our libraries, which abstract the differences between the native platforms.

Framework7

Framework7

It is a free and open source mobile HTML framework to develop hybrid mobile apps or web apps with iOS native look and feel. All you need to make it work is a simple HTML layout and attached framework's CSS and JS files.

Qt

Qt

Qt, a leading cross-platform application and UI framework. With Qt, you can develop applications once and deploy to leading desktop, embedded & mobile targets.

PhoneGap

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.

Expo

Expo

It is a framework and a platform for universal React applications. It is a set of tools and services built around React Native and native platforms that help you develop, build, deploy, and quickly iterate on iOS, Android, and web apps.

Vue Native

Vue Native

Vue Native is a mobile framework to build truly native mobile app using Vue.js. Its is designed to connect React Native and Vue.js. Vue Native is a wrapper around React Native APIs, which allows you to use Vue.js and compose rich mobile User Interface.

Shoutem UI

Shoutem UI

Shoutem UI is a set of styleable components that enables you to build beautiful React Native applications for iOS and Android. All of our components are built to be both composable and customizable.

Sencha Touch

Sencha Touch

Sencha Touch 2, a high-performance HTML5 mobile application framework, is the cornerstone of the Sencha HTML5 platform. Built for enabling world-class user experiences, Sencha Touch 2 is the only framework that enables developers to build fast and impressive apps that work on iOS, Android, BlackBerry, Kindle Fire, and more.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase