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

Apache Cordova

692
866
+ 1
212
PhoneGap

573
668
+ 1
94
Add tool

Apache Cordova vs PhoneGap: 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; PhoneGap: Easilily create mobile apps using HTML, CSS, and JavaScript. 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.

Apache Cordova and PhoneGap 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, PhoneGap provides the following key features:

  • Android
  • Blackberry
  • iOS

"Lots of plugins" is the primary reason why developers consider Apache Cordova over the competitors, whereas "Javascript" was stated as the key factor in picking PhoneGap.

Apache Cordova and PhoneGap are both open source tools. It seems that PhoneGap with 4.15K GitHub stars and 974 forks on GitHub has more adoption than Apache Cordova with 766 GitHub stars and 327 GitHub forks.

According to the StackShare community, Apache Cordova has a broader approval, being mentioned in 96 company stacks & 45 developers stacks; compared to PhoneGap, which is listed in 86 company stacks and 36 developer stacks.

Advice on Apache Cordova and PhoneGap
Needs advice
on
IonicIonicPhoneGapPhoneGap
and
React NativeReact Native

Looking for some advice: we are planning to create a hybrid app for both iOS and Android; this app will consume a REST API. We are looking for a tool for this development with the following attributes:

  • Shallow learning curve; easiness to adopt (all team is new into mobile development, with diverse backgrounds: Java, Python & AngularJS),

  • Easiness to test (we discarded Angular-based tools already: creating a unit test in Angular we considered time-consuming and low value. At this point of the project, we cannot afford UI testing with Selenium/Appium based tools).

  • So far, we are not considering any specific capability of the device. Still, in the mid/long term, we would require the usage of GPS (geolocalization) and accelerometer (not sure if it's possible to use it from a hybrid app). Suggest any other tool if you wish.

See more
Replies (4)
Alcides Costa
CEO, Co-founder at inPlace · | 5 upvotes · 45.6K views
Recommends
KivyKivy

If your team has a strong background in Python and you want to release some prototype soon, you could try Python and Kivy. Kivy is an open-source, cross-platform Python framework for rapid development of mobile GUIs. It supports both iOS and Android. I have passed a similar situation recently: to start a mobile app with no background in mobile development. Kivy saved me a lot of time. I could develop a prototype and release it faster than I thoght.

See more
Frederico Bezerra

To be honest , You need to think these points :

  • Developer Experience

  • Tooling

  • Maintainability

My vote for now is going with React Native with Expo , using Typescript...

With this stack You could follow some patterns and principle that the Java and python programmers are familiar with.

Typescript is a javascript Superset that you can follow Procedural , Functional and OOP approaches and an easy learning curve.

With Expo you need to concern only with the shared layer (Typescript) and the Native ones will be expo responsibility.

Please check Expo.com and try to get started using typescript.

Good performance and with EAS (paid plan) you can create a full CI CD pipeline for your app connected to the stores(Apple and Android).

See more
Recommends
CapacitorCapacitorIonicIonic

If you already know how to build web apps, give Capacitor a try. You can think of it like "electron for mobile" in that you can build a web app but access native functionality. Pair it with Ionic if you want a UI kit that is optimized for mobile, or build your own UI from scratch.

A bonus to Capacitor is your app will run without modification on the web as a PWA, iOS, Android, and more.

See more
Recommends
React NativeReact Native

Other tools have very slow performance. They are usually selected because someone on the team likes Angular, but your customers won't care what framework you're using. They'll just know the app is slow.

See more
Needs advice
on
Apache CordovaApache Cordova
and
Vue NativeVue Native

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 · 50.8K 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
Decisions about Apache Cordova and PhoneGap

I wanted to develop a student app that possibly could be used by many teams (students from other schools)

I chose Ionic, because:

  • single codebase: previously, we used React Native for Android and Angular for web/PWA, which was troublesome

  • portability: runs on PWA (which is important, because iOS license is too expensive for school app), web, Android iOS (+ others, if needed)

  • full use of web technologies: Next.js, Tailwind, React in this example (in oppose to Flutter/Java/Kotlin)

  • stability and maintainability: low-entry level due to basic web technologies without new syntax (in oppose to React Native and Flutter), web is really stable and won't lose support (which doesn't have to be true with Flutter/Dart)

See more
James Bender
Lead Application Architect at TekPartners · | 5 upvotes · 24.9K views

I've yet to see a non-native application that I felt performed as well and/or provided the same user experience with Cordova/PhoneGap/Xamarin. Frankly, at best they all seemed like underpowered web applications deployed to a sandbox that ran on a phone. They didn't feel "slick" or "mobile-first" and in some cases the performance was unacceptable. At previous companies, we built a few of these apps at the client's insistence, and in every case, they re-engaged us about 18 months later to re-write the app(s) natively.

We are doing some research on React Native and Flutter, but I am not yet convinced that they can provide the same level of experience and performance as native, though I am trying to keep an open mind.

See more
Gabor Galazzo

As a startup, we need the maximum flexibility and the ability to reach our customers in a more suitable way. So a hybrid application approach is the best because it allows you to develop a cross-platform application in a unique codebase. The choice behind Ionic is Angular, I think that angular is the best framework to develop a complex application that needs a lot of service interaction, its modularity forces you (the developer) to write the code in the correct way, so it can be maintainable and reusable.

See more
Aleksandr Filatov
Contract Software Engineer - Microsoft · | 2 upvotes · 235.2K 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 · 85.2K 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 StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Apache Cordova
Pros of PhoneGap
  • 45
    Lots of plugins
  • 34
    JavaScript
  • 26
    Great community
  • 23
    Easy Development
  • 18
    Easy to learn
  • 15
    Cross platform
  • 7
    Open Source
  • 6
    Lots of descendants; PhoneGap, Ionic, Intel XDA etc
  • 6
    Easy, fast, not buggy in my experience with my code
  • 4
    Can use CSS3
  • 4
    Rich HTML 5
  • 4
    Easy debugging
  • 3
    Rich css ui
  • 3
    Fast and hot reload
  • 3
    HTML, CSS and JS
  • 3
    Use what you code in your browser
  • 2
    Need a light system
  • 2
    Native Web Technologies
  • 2
    Without extra tooling needed
  • 2
    One code base everywhere
  • 0
    44
  • 46
    Javascript
  • 13
    Backed by Adobe
  • 11
    Free
  • 9
    Easy and developer friendly
  • 6
    Support more platforms
  • 3
    It's javascript, html, and css
  • 2
    Common code base across all mobile platform
  • 1
    Not bound to specific framework
  • 1
    Powerful Framework
  • 1
    Runs on mobile browser
  • 1
    Similar UI across all platform
  • 0
    Free easy fast and not buggy in my experience

Sign up to add or upvote prosMake informed product decisions

Cons of Apache Cordova
Cons of PhoneGap
  • 2
    No native performance
  • 1
    Hard to install
  • 0
    Hard to install
  • 2
    Never as good as a native app
  • 1
    Created for web pages, not for complex Apps
  • 1
    Poor user experience
  • 1
    Not build for high performance
  • 1
    Hard to see

Sign up to add or upvote consMake informed product decisions

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 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.

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

Jobs that mention Apache Cordova and PhoneGap as a desired skillset
CBRE
United States of America Texas Richardson
CBRE
United States of America Texas Richardson
CBRE
United States of America Texas Richardson
CBRE
United States of America Texas Dallas
CBRE
United States of America Texas Richardson
CBRE
United States of America Texas Richardson
CBRE
United States of America Texas Richardson
CBRE
United States of America Texas Richardson
What companies use Apache Cordova?
What companies use PhoneGap?
See which teams inside your own company are using Apache Cordova or PhoneGap.
Sign up for StackShare EnterpriseLearn More

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

What tools integrate with Apache Cordova?
What tools integrate with PhoneGap?

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

Blog Posts

Vue.jsSpring BootUnity+7
2
1055
What are some alternatives to Apache Cordova and PhoneGap?
Xamarin
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.
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