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

Apache Cordova

705
892
+ 1
218
NativeScript

539
1.1K
+ 1
516
Add tool

Apache Cordova vs NativeScript: What are the differences?

Introduction: Both Apache Cordova and NativeScript are popular frameworks used for developing cross-platform mobile applications. While they both serve the same purpose, there are key differences between the two.

  1. Development Approach: Apache Cordova follows a web-based approach, where applications are developed using web technologies like HTML, CSS, and JavaScript. These applications are then wrapped in a native container to run on different platforms. On the other hand, NativeScript uses a Native UI approach, where developers can write platform-specific code and create native user interfaces using XML and JavaScript/TypeScript.

  2. Access to Native APIs: Apache Cordova provides plugins to access native APIs, allowing developers to utilize device features. However, the access to these APIs is often limited and requires plugin implementation. In contrast, NativeScript provides direct access to the native APIs of the target platform, enabling developers to utilize all the features without any plugin limitations.

  3. Performance: NativeScript uses a Just-in-Time (JIT) compilation approach to deliver high-performance applications. This means that the code is compiled at runtime, providing faster execution. On the other hand, Apache Cordova applications use WebView, which can lead to performance limitations compared to NativeScript.

  4. App Size: Apache Cordova applications tend to have a larger app size, as they require a WebView to be bundled along with the app. This can result in slower download times and occupy more device storage space. NativeScript, on the other hand, allows developers to directly access native components, resulting in smaller app sizes.

  5. UI Flexibility: With Apache Cordova, developers have limited control over the user interface, as applications follow web standards. Native user interface elements might not be fully customizable or may not look identical across different platforms. In contrast, NativeScript allows developers to create custom user interfaces with platform-specific design patterns and full control over UI components.

  6. Development Community: Apache Cordova has been around for a longer time and has a larger development community. This means that there is a vast amount of community support, plugins, and resources available. NativeScript, while growing steadily, has a smaller development community with fewer resources and plugins available.

In Summary, Apache Cordova and NativeScript differ in their development approach, access to native APIs, performance, app size, UI flexibility, and development community support.

Advice on Apache Cordova and NativeScript

Hello,

We're just brainstorming for the moment and we have a few questions.

We have an idea for an app that we want to develop, here are the prerequisites:

1) cross-platform (iOS, Android, and website);

2) as easy to maintain as possible / well documented / widely used;

3) Visual Studio Code and Copilot compatible;

4) Text to speech;

5) Speech recognition;

6) Running in background (screen off with TTS and speech recognition);

7) could be using TypeScript;

8) Monetized through ad and in-App payment for premium version;

9) Display on lock screen (Android only I guess)

So what would you recommend?

I've been trying to review the options available, and I've considered:

  • NativeScript

  • React Native

  • Flutter

  • Any other?

Thanks in advance for your help, and I'm open to any comments.

See more
Replies (2)
Gabriel Alao
Lead Developer at The Web Gurus LLC · | 2 upvotes · 13.5K views
Recommends

Use Flutter and Firebase as a backend service, Firebase also helps to speed up the development and rollout of the app. The cloud-hosted NoSQL database provides a real-time database that helps you store and synchronize data between the clients. This indeed makes it easier for you to access the data using any of the devices.

See more
Recommends
at

Hi there, for cross-platform functionality in terms of 3D assets if any, echo3D can help you with that. It's 3D asset management on the cloud so you can write your references to the objects and update them in the echo3D web browser. echo3D is not yet on this platform but it will be soon!

See more

I would like to evaluate a good option to migrate an existing WordPress portal, where the customer can continue to access the news and also have a private area where they can receive personalised information and can demand or interact with the company and also have mobile support on both iOS and Android.

Currently the whole back system is in SAP and my main doubts are;

  • Best solution for the web portal that can generate content and can render well in the mobile solution.
  • Best option for the mobile implementation of the same portal and its private area ( React Native?)
See more
Replies (2)
Recommends

I think that React Native or Vue Native is the best choice for modern cross-platform mobile applications. And both of these frameworks have a large community. Apache Cordova was the pioneer in this way. We used it in projects in 2014. Ionic is also an old tool and in 2014 it was based at Apache Cordova. I don't think that it has so a big community like React Native or Vue Native.

For a web system, React or Vue is a good and modern choice too.

See more
Brad Jones
CTO/founder at Meet Kinksters · | 2 upvotes · 16.9K views
Recommends

No shade on the hard work of/on Ionic and Cordova over the years, but they are not the future and you will be going down a dead-end for maintainability going forward. React Native is an excellent bridge for any pre-existing JavaScript/TypeScript skills you might already have from web development.

Flutter is worth considering as a close second but I would recommend RN for the above reasons. Also consider using Expo to ease your build process.

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 · 71.5K 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 NativeScript

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 · 57.3K 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 · 410K 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 · 112.6K 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 NativeScript
  • 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
  • 75
    Access to the entire native api
  • 47
    Support for native ios and android libraries
  • 46
    Support for javascript libraries
  • 46
    Angular 2.0 support
  • 44
    Native ux and performance
  • 37
    Typescript support
  • 35
    Backed up by google and telerik
  • 29
    Css support
  • 27
    Cross-platform declarative ui and code
  • 25
    Fully open source under apache 2.0 license
  • 11
    Vuejs support
  • 9
    60fps performance
  • 6
    Powerful data visualization with native UI
  • 5
    VS Code integration
  • 5
    Angular, typescript and javascript support
  • 5
    No need for Mac to build iOS apps in Telerik Platform
  • 4
    Extended CLI support
  • 4
    Cloud builds as part of Telerik PLatform
  • 4
    Truly Object-Oriented with Typescript
  • 4
    On-device debugging
  • 4
    Extensibility
  • 3
    Access to entire native api
  • 3
    Live reload
  • 3
    Easiest of all other frameworks
  • 3
    Easy to learn
  • 3
    Backed by google
  • 3
    0 day support for new OS updates
  • 3
    Publishing modules to NPM
  • 2
    Vue.js support out of the box
  • 2
    VueJS support
  • 2
    Svelte support
  • 2
    Powerfull mobile services as part of Telerik Platform
  • 2
    Native ui with angular
  • 2
    Vue support
  • 1
    Playground
  • 1
    Hot Reload
  • 1
    HMR via webpack
  • 1
    Very small app size
  • 1
    Write once, use anywhere
  • 1
    Easy to use, support for almost all npm packages
  • 1
    Rich ecosystem
  • 1
    Compile to Apple/Google Stores via CloudCompiler
  • 1
    Has CSS ;-)
  • 1
    It works with Angular
  • 1
    Code reuse with your website
  • 0
    Dart

Sign up to add or upvote prosMake informed product decisions

Cons of Apache Cordova
Cons of NativeScript
  • 2
    No native performance
  • 1
    Hard to install
  • 0
    Hard to install
  • 5
    Lack of promotion
  • 1
    Slower Performance compared to competitors

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

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

What companies use Apache Cordova?
What companies use NativeScript?
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 NativeScript?

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

Blog Posts

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