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

Android SDK

27K
20.5K
+ 1
799
Apache Cordova

706
893
+ 1
218
Add tool

Android SDK vs Apache Cordova: What are the differences?

Key Differences between Android SDK and Apache Cordova

Android SDK and Apache Cordova are two popular frameworks used for developing mobile applications. While both frameworks have their own strengths and weaknesses, there are several key differences between them:

  1. Language: Android SDK uses Java as the primary programming language, while Apache Cordova uses a combination of HTML, CSS, and JavaScript.

  2. Native vs. Hybrid: Android SDK allows developers to build native applications that are specifically developed for the Android platform. On the other hand, Apache Cordova allows for the development of hybrid applications that can be run on multiple platforms, including Android.

  3. UI and UX: Android SDK provides access to native UI components and design guidelines, allowing developers to create applications that closely follow the Android user interface and user experience. Apache Cordova, on the other hand, relies on web technologies and may not offer the same level of native look and feel.

  4. Performance: Since Android SDK allows for native development, applications built using this framework tend to have better performance compared to those developed using Apache Cordova. This is because native applications can fully utilize the device's resources, while hybrid applications have some overhead due to the interpretation of web technologies.

  5. Access to Device APIs: Android SDK provides direct access to various device APIs and features, allowing developers to create applications that can interact with hardware components such as the camera, GPS, and sensors. Apache Cordova also provides access to device APIs, but through plugins that need to be installed and integrated into the application.

  6. Development Environment: Android SDK requires a specific development environment consisting of Android Studio and the Android Software Development Kit (SDK). Apache Cordova, on the other hand, can be developed using any text editor or integrated development environment (IDE) of choice, making it more flexible in terms of the development environment.

In summary, the key differences between Android SDK and Apache Cordova lie in the programming language used, the type of application development (native vs. hybrid), the user interface and user experience, performance, access to device APIs, and the development environment.

Decisions about Android SDK and Apache Cordova
Omran Jamal
CTO & Co-founder at Bonton Connect · | 7 upvotes · 594.4K views

We actually initially wrote a lot of networking code in Kotlin but the complexities involved prompted us to try and compile NodeJS for Android and port over all the networking logic to Node and communicate with node over the Java Native Interface.

This turned out to be a great decision considering our battery usage fell by 40% and rate of development increased by a factor of 2.

See more
Aleksandr Filatov
Contract Software Engineer - Microsoft · | 2 upvotes · 413.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 · 113.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
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Android SDK
Pros of Apache Cordova
  • 289
    Android development
  • 155
    Necessary for android
  • 128
    Android studio
  • 86
    Mobile framework
  • 82
    Backed by google
  • 27
    Platform-tools
  • 21
    Eclipse + adt plugin
  • 5
    Powerful, simple, one stop environment
  • 3
    Free
  • 3
    Больно
  • 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

Sign up to add or upvote prosMake informed product decisions

Cons of Android SDK
Cons of Apache Cordova
    Be the first to leave a con
    • 2
      No native performance
    • 1
      Hard to install
    • 0
      Hard to install

    Sign up to add or upvote consMake informed product decisions

    - No public GitHub repository available -

    What is Android SDK?

    Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment.

    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.

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

    What companies use Android SDK?
    What companies use Apache Cordova?
    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 Android SDK?
    What tools integrate with Apache Cordova?

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

    Blog Posts

    Vue.jsSpring BootUnity+7
    2
    1261
    Android SDKBugsnagLeakCanary+3
    5
    1125
    Jul 16 2019 at 9:19PM

    Bugsnag

    JavaAndroid SDKBugsnag+3
    3
    458
    GitHubPythonNode.js+47
    55
    72791
    What are some alternatives to Android SDK and Apache Cordova?
    Android Studio
    Android Studio is a new Android development environment based on IntelliJ IDEA. It provides new features and improvements over Eclipse ADT and will be the official Android IDE once it's ready.
    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.
    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.
    Flutter
    Flutter is a mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.
    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.
    See all alternatives