Get Advice Icon

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

Apache Cordova
Apache Cordova

522
410
+ 1
140
ES6
ES6

12.7K
9.8K
+ 1
145
Add tool

Apache Cordova vs ES6: 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; ES6: The next version of JavaScript. Goals for ECMAScript 2015 include providing better support for large applications, library creation, and for use of ECMAScript as a compilation target for other languages. Some of its major enhancements include modules, class declarations, lexical block scoping, iterators and generators, promises for asynchronous programming, destructuring patterns, and proper tail calls.

Apache Cordova and ES6 are primarily classified as "Cross-Platform Mobile Development" and "Languages" tools respectively.

"Lots of plugins" is the top reason why over 31 developers like Apache Cordova, while over 98 developers mention "ES6 code is shorter than traditional JS" as the leading cause for choosing ES6.

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

Slack, StackShare, and ebay are some of the popular companies that use ES6, whereas Apache Cordova is used by Teleport, Hybrid Heroes, and JustWatch. ES6 has a broader approval, being mentioned in 1461 company stacks & 1725 developers stacks; compared to Apache Cordova, which is listed in 96 company stacks and 45 developer stacks.

- 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 ES6?

Goals for ECMAScript 2015 include providing better support for large applications, library creation, and for use of ECMAScript as a compilation target for other languages. Some of its major enhancements include modules, class declarations, lexical block scoping, iterators and generators, promises for asynchronous programming, destructuring patterns, and proper tail calls.
Get Advice Icon

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

Why do developers choose Apache Cordova?
Why do developers choose ES6?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con
      Be the first to leave a con
      What companies use Apache Cordova?
      What companies use ES6?

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

      What tools integrate with Apache Cordova?
      What tools integrate with ES6?

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

      What are some alternatives to Apache Cordova and ES6?
      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.
      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.
      See all alternatives
      Decisions about Apache Cordova and ES6
      Nick Parsons
      Nick Parsons
      Director of Developer Marketing at Stream · | 33 upvotes · 233.4K views
      atStreamStream
      Go
      Go
      Stream
      Stream
      Python
      Python
      Yarn
      Yarn
      Babel
      Babel
      Node.js
      Node.js
      ES6
      ES6
      JavaScript
      JavaScript
      #FrameworksFullStack
      #Languages

      Winds 2.0 is an open source Podcast/RSS reader developed by Stream with a core goal to enable a wide range of developers to contribute.

      We chose JavaScript because nearly every developer knows or can, at the very least, read JavaScript. With ES6 and Node.js v10.x.x, it’s become a very capable language. Async/Await is powerful and easy to use (Async/Await vs Promises). Babel allows us to experiment with next-generation JavaScript (features that are not in the official JavaScript spec yet). Yarn allows us to consistently install packages quickly (and is filled with tons of new tricks)

      We’re using JavaScript for everything – both front and backend. Most of our team is experienced with Go and Python, so Node was not an obvious choice for this app.

      Sure... there will be haters who refuse to acknowledge that there is anything remotely positive about JavaScript (there are even rants on Hacker News about Node.js); however, without writing completely in JavaScript, we would not have seen the results we did.

      #FrameworksFullStack #Languages

      See more
      Jake Stein
      Jake Stein
      CEO at Stitch · | 15 upvotes · 78.1K views
      atStitchStitch
      ES6
      ES6
      JavaScript
      JavaScript
      CoffeeScript
      CoffeeScript
      React
      React
      AngularJS
      AngularJS

      Stitch’s frontend is used to configure data sources and destinations and monitor the status of each. Although we have been using AngularJS since its early days, we recently introduced React components into our front end, which many of our developers find easier to work with. We started using CoffeeScript when it was one of the few options for a more expressive alternative to vanilla JavaScript, but today we opt to instead write new code in ES6, which we feel is a more mature alternative.

      See more
      Sezgi Uluçam
      Sezgi Uluçam
      Sr. Software Engineer at StackShare · | 6 upvotes · 59.9K views
      Flutter
      Flutter
      React Native
      React Native
      PhoneGap
      PhoneGap
      Apache Cordova
      Apache Cordova
      #JavaScript
      #MobileFrameworks
      #NativeApps

      For a front end dev like me, using a mobile framework for side projects makes more sense than writing a native app. I had used Apache Cordova (formerly PhoneGap) before (because React Native didn't exist yet), and was happy with it. But once React Native came out, it made more sense to go that way instead. It's more efficient and smooth, since it doesn't have the simulation overhead, and has more access to hardware features. It feels cleaner since you don't need to deal with #WebView, using native UI widgets directly. I also considered Flutter . It looks promising, but is relatively new to the game, and React Native seems more stable for now.

      MobileFrameworks #JavaScript NativeApps

      See more
      leonardo silveira
      leonardo silveira
      Software Engineer at Casa Magalhães · | 2 upvotes · 33.5K views
      Vue.js
      Vue.js
      Apache Cordova
      Apache Cordova
      NativeScript
      NativeScript

      So, i am preparing to adopt NativeScript.

      For years my hybrid projects used Apache Cordova.

      "Let's avoid to maintain two teams and double the deliver velocity".

      It was good for a few years, we had those september issues, (i.e. apple broke some backward compatibility) , but for the last years, things seems to be losing the grip faster.

      Last breaking changes, for instance, seems to have a workaround, however that growing feeling that simple things can not rely on so fragile webviews keeps growing faster and faster.

      I've tested nativescript not only on it's "helloworld", but also on how do they respond on issues.

      I got tweed support. I opened an github issue and got answers on less than 10 hours (yes i did it on another timezone and very close to a weekend). I saw the faulty docs get corrected in two days.

      The bad news is i only can adopt nativescript on newer projects, since there is no budget to revamp the current solutions.

      The good news is i can keep coding on Vue.js , without vou router, but that's ok. I've already exchanged vanilla html for real native app with background magic enabled, the router can be easily reproduced.

      See more
      Apache Cordova
      Apache Cordova
      redux-saga
      redux-saga
      React Native
      React Native
      AngularJS
      AngularJS
      Redux
      Redux
      React
      React
      #JavascriptMvcFrameworks

      We had contemplated a long time which #JavascriptMvcFrameworks to use, React and React Native vs AngularJS and Apache Cordova in both web and mobile. Eventually we chose react over angular since it was quicker to learn, less code for simple apps and quicker integration of third party javascript modules. for the full MVC we added Redux.js for state management and redux-saga for async calls and logic. since we also have mobile app along with the web, we can shere logic and model between web and mobile.

      See more
      Jonathan Pugh
      Jonathan Pugh
      Software Engineer / Project Manager / Technical Architect · | 19 upvotes · 198.4K views
      Pouchdb
      Pouchdb
      CouchDB
      CouchDB
      Font Awesome
      Font Awesome
      CSS 3
      CSS 3
      Apache Cordova
      Apache Cordova
      PhoneGap
      PhoneGap
      HTML5
      HTML5
      Ruby
      Ruby
      Babel
      Babel
      Webpack
      Webpack
      Visual Studio Code
      Visual Studio Code
      Figma
      Figma
      TypeScript
      TypeScript
      JavaScript
      JavaScript
      Framework7
      Framework7
      #Css
      #CSS3
      #SCSS
      #Sass
      #Less
      #Electron
      #HandleBars
      #Template7
      #Sketch
      #GraphQL
      #HTML5
      #GraphCool

      I needed to choose a full stack of tools for cross platform mobile application design & development. After much research and trying different tools, these are what I came up with that work for me today:

      For the client coding I chose Framework7 because of its performance, easy learning curve, and very well designed, beautiful UI widgets. I think it's perfect for solo development or small teams. I didn't like React Native. It felt heavy to me and rigid. Framework7 allows the use of #CSS3, which I think is the best technology to come out of the #WWW movement. No other tech has been able to allow designers and developers to develop such flexible, high performance, customisable user interface elements that are highly responsive and hardware accelerated before. Now #CSS3 includes variables and flexboxes it is truly a powerful language and there is no longer a need for preprocessors such as #SCSS / #Sass / #less. React Native contains a very limited interpretation of #CSS3 which I found very frustrating after using #CSS3 for some years already and knowing its powerful features. The other very nice feature of Framework7 is that you can even build for the browser if you want your app to be available for desktop web browsers. The latest release also includes the ability to build for #Electron so you can have MacOS, Windows and Linux desktop apps. This is not possible with React Native yet.

      Framework7 runs on top of Apache Cordova. Cordova and webviews have been slated as being slow in the past. Having a game developer background I found the tweeks to make it run as smooth as silk. One of those tweeks is to use WKWebView. Another important one was using srcset on images.

      I use #Template7 for the for the templating system which is a no-nonsense mobile-centric #HandleBars style extensible templating system. It's easy to write custom helpers for, is fast and has a small footprint. I'm not forced into a new paradigm or learning some new syntax. It operates with standard JavaScript, HTML5 and CSS 3. It's written by the developer of Framework7 and so dovetails with it as expected.

      I configured TypeScript to work with the latest version of Framework7. I consider TypeScript to be one of the best creations to come out of Microsoft in some time. They must have an amazing team working on it. It's very powerful and flexible. It helps you catch a lot of bugs and also provides code completion in supporting IDEs. So for my IDE I use Visual Studio Code which is a blazingly fast and silky smooth editor that integrates seamlessly with TypeScript for the ultimate type checking setup (both products are produced by Microsoft).

      I use Webpack and Babel to compile the JavaScript. TypeScript can compile to JavaScript directly but Babel offers a few more options and polyfills so you can use the latest (and even prerelease) JavaScript features today and compile to be backwards compatible with virtually any browser. My favorite recent addition is "optional chaining" which greatly simplifies and increases readability of a number of sections of my code dealing with getting and setting data in nested objects.

      I use some Ruby scripts to process images with ImageMagick and pngquant to optimise for size and even auto insert responsive image code into the HTML5. Ruby is the ultimate cross platform scripting language. Even as your scripts become large, Ruby allows you to refactor your code easily and make it Object Oriented if necessary. I find it the quickest and easiest way to maintain certain aspects of my build process.

      For the user interface design and prototyping I use Figma. Figma has an almost identical user interface to #Sketch but has the added advantage of being cross platform (MacOS and Windows). Its real-time collaboration features are outstanding and I use them a often as I work mostly on remote projects. Clients can collaborate in real-time and see changes I make as I make them. The clickable prototyping features in Figma are also very well designed and mean I can send clickable prototypes to clients to try user interface updates as they are made and get immediate feedback. I'm currently also evaluating the latest version of #AdobeXD as an alternative to Figma as it has the very cool auto-animate feature. It doesn't have real-time collaboration yet, but I heard it is proposed for 2019.

      For the UI icons I use Font Awesome Pro. They have the largest selection and best looking icons you can find on the internet with several variations in styles so you can find most of the icons you want for standard projects.

      For the backend I was using the #GraphCool Framework. As I later found out, #GraphQL still has some way to go in order to provide the full power of a mature graph query language so later in my project I ripped out #GraphCool and replaced it with CouchDB and Pouchdb. Primarily so I could provide good offline app support. CouchDB with Pouchdb is very flexible and efficient combination and overcomes some of the restrictions I found in #GraphQL and hence #GraphCool also. The most impressive and important feature of CouchDB is its replication. You can configure it in various ways for backups, fault tolerance, caching or conditional merging of databases. CouchDB and Pouchdb even supports storing, retrieving and serving binary or image data or other mime types. This removes a level of complexity usually present in database implementations where binary or image data is usually referenced through an #HTML5 link. With CouchDB and Pouchdb apps can operate offline and sync later, very efficiently, when the network connection is good.

      I use PhoneGap when testing the app. It auto-reloads your app when its code is changed and you can also install it on Android phones to preview your app instantly. iOS is a bit more tricky cause of Apple's policies so it's not available on the App Store, but you can build it and install it yourself to your device.

      So that's my latest mobile stack. What tools do you use? Have you tried these ones?

      See more
      Antonio Kobashikawa
      Antonio Kobashikawa
      Web developer | Blogger | Freelancer at Rulo Kobashikawa · | 5 upvotes · 48.2K views
      Koa
      Koa
      ES6
      ES6
      JavaScript
      JavaScript
      Ionic
      Ionic
      Vue.js
      Vue.js
      MongoDB
      MongoDB
      ExpressJS
      ExpressJS
      Node.js
      Node.js

      We are using Node.js and ExpressJS to build a REST services that is middleware of a legacy system. MongoDB as database. Vue.js helps us to make rapid UI to test use cases. Frontend is build for mobile with Ionic . We like using JavaScript and ES6 .

      I think next step could be to use Koa but I am not sure.

      See more
      Johnny Bell
      Johnny Bell
      Senior Software Engineer at StackShare · | 9 upvotes · 117.3K views
      atStackShareStackShare
      Apollo
      Apollo
      GraphQL
      GraphQL
      MobX
      MobX
      JavaScript
      JavaScript
      ES6
      ES6
      React
      React
      jQuery
      jQuery
      #Hooks🎣
      #Context

      We are always building new features and replacing old code at StackShare. Lately we have been building out new features for the frontend, and removing a lot of old jQuery code (sorry jQuery but it's time to go).

      We've mainly been using React, ES6 and JavaScript on the frontend to build out the components, and we've been slowly removing some legacy MobX and using GraphQL and Apollo for our state management, if we need to control state further than GraphQL and Apollo allows us to we use just plain React with #context , or the new fancy React #hooks🎣 .

      As we've moved towards the above tech, its really made smashing out new features and updating legacy code super fast, and really fun!

      See more
      Hampton Catlin
      Hampton Catlin
      VP of Engineering at Rent The Runway · | 9 upvotes · 12.4K views
      atRent the RunwayRent the Runway
      React
      React
      TypeScript
      TypeScript
      ES6
      ES6
      JavaScript
      JavaScript

      We use JavaScript because it's the standard for web development, especially with browser execution. And, over the years, some smart work by the W3C has taken Javascript from the most-hated-language to the okay-I-can-make-that-good. No small feat!

      Obviously, using ES6 and TypeScript is what makes it decent in browser contexts. Throw in a bit of React and now we're cooking with gas!

      See more
      ES6
      ES6
      JavaScript
      JavaScript
      Socket.IO
      Socket.IO
      Redis
      Redis
      MongoDB
      MongoDB
      HTML5
      HTML5
      FeathersJS
      FeathersJS
      Redux
      Redux
      React
      React

      I have always been interested in building a real-time multiplayer game engine that could be massively scalable, and recently I decided to start working on a MMO version of the classic "snake" game. I wanted the entire #Stack to be based on ES6 JavaScript so for the #Backend I chose to use FeathersJS with MongoDB for game/user data storage, Redis for distributed mutex and pub/sub, and Socket.IO for real-time communication. For the #Frontend I used React with Redux.js, the FeathersJS client as well as HTML5 canvas to render the view.

      See more
      Tom Klein
      Tom Klein
      CEO at Gentlent · | 4 upvotes · 30.5K views
      atGentlentGentlent
      Python
      Python
      Electron
      Electron
      Socket.IO
      Socket.IO
      Google Compute Engine
      Google Compute Engine
      TypeScript
      TypeScript
      ES6
      ES6
      Ubuntu
      Ubuntu
      PostgreSQL
      PostgreSQL
      React
      React
      nginx
      nginx
      Sass
      Sass
      HTML5
      HTML5
      PHP
      PHP
      Node.js
      Node.js
      JavaScript
      JavaScript

      Our most used programming languages are JavaScript / Node.js for it's lightweight and fast use, PHP because everyone knows it, HTML5 because you can't live without it and Sass to write great CSS. Occasionally, we use nginx as a web server and proxy, React for our UX, PostgreSQL as fast relational database, Ubuntu as server OS, ES6 and TypeScript for Node, Google Compute Engine for our infrastructure, and Socket.IO and Electron for specific use cases. We also use Python for some of our backends.

      See more
      Osamah Aldoaiss
      Osamah Aldoaiss
      UI Engineer | Maker at Triad Apparel Inc. · | 6 upvotes · 12.9K views
      atTriad Apparel Inc.Triad Apparel Inc.
      JavaScript
      JavaScript
      ES6
      ES6
      Node.js
      Node.js
      GraphQL
      GraphQL
      React
      React
      Lighthouse
      Lighthouse
      Gatsby
      Gatsby

      Gatsby has been at the core of our Shop system since day one. It gives its User the power to create fast and performant sites out-of-the-box. You barely have to do anything to get great Lighthouse results. And it all runs on ES6 JavaScript.

      The power of SSR React and then hydrating it client-side to add interactivity and App-like feel is what makes Gatsby powerful.

      It comes with a ton of plugins, that are mind-boggling: Image Processing, GraphQL, Node.js, and so much more. This is thanks to a great ecosystem, a great user-base and the revolutionary Community work, which led to the Gatsby repo to be one of the most committed to, out there.

      See more
      Pedro Arnal Puente
      Pedro Arnal Puente
      CTO at La Cupula Music SL · | 8 upvotes · 13.4K views
      atLa Cupula Music SLLa Cupula Music SL
      JavaScript
      JavaScript
      ES6
      ES6
      Babel
      Babel
      ESLint
      ESLint
      Webpack
      Webpack
      Vue.js
      Vue.js
      jQuery UI
      jQuery UI
      jQuery
      jQuery

      We are phasing out jQuery and jQuery UI in favour or Vue.js and @Vue-cli so we can support building a modern, well-architectured frontend.

      The JavaScript build pipeline is supported by Webpack , and includes tools like ESLint and Babel , so we can properly support the latest ES/JS versions, with ES6 as the minimum baseline.

      See more
      Ali Soueidan
      Ali Soueidan
      Creative Web Developer at Ali Soueidan · | 16 upvotes · 96.6K views
      npm
      npm
      Babel
      Babel
      PHP
      PHP
      Adobe Illustrator
      Adobe Illustrator
      Asana
      Asana
      ES6
      ES6
      GitHub
      GitHub
      Git
      Git
      JSON
      JSON
      Sass
      Sass
      Pug
      Pug
      JavaScript
      JavaScript
      vuex
      vuex
      Vue.js
      Vue.js

      Application and Data: Since my personal website ( https://alisoueidan.com ) is a SPA I've chosen to use Vue.js, as a framework to create it. After a short skeptical phase I immediately felt in love with the single file component concept! I also used vuex for state management, which makes working with several components, which are communicating with each other even more fun and convenient to use. Of course, using Vue requires using JavaScript as well, since it is the basis of it.

      For markup and style, I used Pug and Sass, since they’re the perfect match to me. I love the clean and strict syntax of both of them and even more that their structure is almost similar. Also, both of them come with an expanded functionality such as mixins, loops and so on related to their “siblings” (HTML and CSS). Both of them require nesting and prevent untidy code, which can be a huge advantage when working in teams. I used JSON to store data (since the data quantity on my website is moderate) – JSON works also good in combo with Pug, using for loops, based on the JSON Objects for example.

      To send my contact form I used PHP, since sending emails using PHP is still relatively convenient, simple and easy done.

      DevOps: Of course, I used Git to do my version management (which I even do in smaller projects like my website just have an additional backup of my code). On top of that I used GitHub since it now supports private repository for free accounts (which I am using for my own). I use Babel to use ES6 functionality such as arrow functions and so on, and still don’t losing cross browser compatibility.

      Side note: I used npm for package management. 🎉

      *Business Tools: * I use Asana to organize my project. This is a big advantage to me, even if I work alone, since “private” projects can get interrupted for some time. By using Asana I still know (even after month of not touching a project) what I’ve done, on which task I was at last working on and what still is to do. Working in Teams (for enterprise I’d take on Jira instead) of course Asana is a Tool which I really love to use as well. All the graphics on my website are SVG which I have created with Adobe Illustrator and adjusted within the SVG code or by using JavaScript or CSS (SASS).

      See more
      Interest over time
      Reviews of Apache Cordova and ES6
      No reviews found
      How developers use Apache Cordova and ES6
      Avatar of Kurzor, s.r.o.
      Kurzor, s.r.o. uses ES6ES6

      We started using CoffeeScript years ago, so the switch to ES6 is quite natural in our team. ES6 of course advances the JS standard to a level of an advanced language. We are using it today simply because it: 1. helps to keep the code shorter, 2. integrates easily with JSX, 3. helps to deal with immutable using const.

      Avatar of Jake Taylor
      Jake Taylor uses ES6ES6

      ES6 is a new-ish, modern form of JavaScript that adds in extra functionality that make code cleaner and easier to work with, such as arrow functions, const and let declarations, array helper methods, object/array destructuring etc.

      Avatar of Ryan VanBelkum
      Ryan VanBelkum uses ES6ES6

      ES6 (ES2015) is a huge improvement to the javascript spec. These additions are heavily leveraged in React development, such as spread operators, fat arrow functions, and classes.

      Avatar of papaver
      papaver uses Apache CordovaApache 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.

      Avatar of Mick Dekkers
      Mick Dekkers uses ES6ES6

      ES6/ES2015+ makes JavaScript a pleasure to write. Arrow functions, template literals and ES modules especially. RIP CoffeeScript.

      Avatar of Ataccama
      Ataccama uses ES6ES6

      ES6 brings some sweet features to the language. Our favourites are lambda-expressions, block-scoped consts and lets and Promises.

      Avatar of Ralic Lo
      Ralic Lo uses Apache CordovaApache Cordova

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

      Avatar of MobiBoats
      MobiBoats uses Apache CordovaApache Cordova

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

      Avatar of João Alvarenga
      João Alvarenga uses Apache CordovaApache Cordova

      Compilar o webapp, transformando-o em aplicativos nativos

      Avatar of Evan Luc
      Evan Luc uses Apache CordovaApache Cordova

      Cross platform mobile development framework.

      How much does Apache Cordova cost?
      How much does ES6 cost?
      Pricing unavailable
      Pricing unavailable
      News about Apache Cordova
      More news
      News about ES6
      More news