Get Advice Icon

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

Apache Cordova

705
893
+ 1
218
Backbone.js

7.5K
3.5K
+ 1
675
Add tool

Apache Cordova vs Backbone.js: What are the differences?

## Introduction
Apache Cordova and Backbone.js are two popular frameworks used in web development. While both serve different purposes, they have distinct differences that set them apart.

1. **Language Used**: Apache Cordova is a mobile application development framework that uses HTML, CSS, and JavaScript, allowing developers to create cross-platform mobile applications. On the other hand, Backbone.js is a JavaScript framework that provides structure to web applications by providing models, views, collections, and events.

2. **Purpose**: Apache Cordova is specifically designed for building mobile applications that can run on different platforms with a single codebase. In contrast, Backbone.js aims to simplify the process of developing interactive web applications by providing a solid foundation for organizing code and managing data.

3. **UI Components**: Apache Cordova focuses on native UI components, enabling developers to create applications that have a consistent look and feel across different platforms. In contrast, Backbone.js does not provide pre-built UI components but focuses on data binding and application structure.

4. **Architecture**: Apache Cordova is more focused on the deployment and packaging of mobile applications, providing access to device features through plugins. Meanwhile, Backbone.js is centered around the MVC (Model-View-Controller) architecture, making it easier to separate concerns and maintain code.

5. **Community Support**: Apache Cordova has a large and active community due to its widespread adoption in the mobile development space. On the other hand, Backbone.js has a smaller but dedicated community that focuses on web application development.

6. **Learning Curve**: Apache Cordova is relatively easier to learn for developers familiar with web technologies, as it allows them to leverage their existing skills. However, Backbone.js has a steeper learning curve due to its focus on architectural concepts like MVC and data binding.

## Summary
In Summary, Apache Cordova is ideal for building cross-platform mobile applications with native UI components, while Backbone.js is preferred for structuring web applications using the MVC pattern and data binding.
Decisions about Apache Cordova and Backbone.js
Aleksandr Filatov
Contract Software Engineer - Microsoft · | 2 upvotes · 420.7K 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 · 116K 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
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Apache Cordova
Pros of Backbone.js
  • 48
    Lots of plugins
  • 35
    JavaScript
  • 26
    Great community
  • 25
    Easy Development
  • 18
    Easy to learn
  • 15
    Cross platform
  • 7
    Open Source
  • 6
    Easy, fast, not buggy in my experience with my code
  • 6
    Lots of descendants; PhoneGap, Ionic, Intel XDA etc
  • 4
    Can use CSS3
  • 4
    Rich HTML 5
  • 4
    Easy debugging
  • 3
    HTML, CSS and JS
  • 3
    Fast and hot reload
  • 3
    Rich css ui
  • 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
  • 135
    Javascript structure
  • 101
    Models
  • 98
    Simple
  • 76
    Restful
  • 59
    Easy api
  • 46
    Flexible
  • 45
    Open source
  • 44
    Fast to pick up
  • 34
    Events
  • 25
    JSON
  • 8
    OOP
  • 2
    Lightweight
  • 1
    Collections
  • 1
    Easy customizable

Sign up to add or upvote prosMake informed product decisions

Cons of Apache Cordova
Cons of Backbone.js
  • 2
    No native performance
  • 1
    Hard to install
  • 0
    Hard to install
  • 1
    Requires underscore.js

Sign up to add or upvote consMake informed product decisions

144
188
830
147
20.6K

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 Backbone.js?

Backbone supplies structure to JavaScript-heavy applications by providing models key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing application over a RESTful JSON interface.

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

What companies use Apache Cordova?
What companies use Backbone.js?
Manage your open source components, licenses, and vulnerabilities
Learn More

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

What tools integrate with Apache Cordova?
What tools integrate with Backbone.js?

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

Blog Posts

Vue.jsSpring BootUnity+7
2
1285
Sep 8 2017 at 2:54PM

Eventbrite-0

JavaScriptNode.jsReact+7
6
9879
What are some alternatives to Apache Cordova and Backbone.js?
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