Need advice about which tool to choose?Ask the StackShare community!
Apache Cordova vs Crosswalk: What are the differences?
Key Differences between Apache Cordova and Crosswalk
Apache Cordova and Crosswalk are both popular frameworks used for developing hybrid mobile applications. While they share some similarities, there are several key differences between them.
Runtime Environment: Apache Cordova utilizes a WebView component provided by the native operating system to render the application's HTML, CSS, and JavaScript, whereas Crosswalk uses its own embedded runtime environment powered by the Chromium browser engine. This allows Crosswalk to provide better HTML5 and CSS3 support and improved performance compared to Cordova.
Performance: Crosswalk's standalone runtime environment ensures consistent performance across different devices and operating systems, regardless of the native WebView versions. On the other hand, Cordova's performance relies on the underlying WebView, which may vary depending on the platform and device, potentially resulting in performance inconsistencies.
Web Engine Features: Crosswalk incorporates the latest Chromium browser engine features, which includes support for the latest web standards, advanced APIs, and performance optimizations. Cordova, being dependent on the device's WebView, may lack support for certain HTML5, CSS3, and JavaScript features, limiting the capabilities of the hybrid applications.
Customization and Control: Cordova provides more flexibility and customization options as it allows developers to interact directly with the device's native APIs through plugins. This enables the integration of native functionality seamlessly into the hybrid applications. Crosswalk, on the other hand, limits direct access to native APIs, offering a more standardized development environment, but potentially limiting the scope of functionality that can be achieved.
App Size: Due to its embedded runtime environment, Crosswalk tends to have a larger application size compared to Cordova. This is because Crosswalk includes the whole Chromium browser engine along with the application code, resulting in a bigger download size for users. Cordova, being dependent on the native WebView, relies on the already-present components on the device and has a smaller application size.
Compatibility: Cordova offers broader platform compatibility as it supports a wide range of platforms, including iOS, Android, Windows, and more. Crosswalk, although versatile, has limited platform support, primarily focusing on Android, making it a preferred choice for Android-specific application development.
In summary, Apache Cordova and Crosswalk differ in their runtime environment, performance, web engine features, customization options, app size, and platform compatibility. These differences should be considered when choosing the appropriate framework for developing hybrid mobile applications.
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?)
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.
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.
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!
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
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)
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.
![Angular](https://img.stackshare.io/service/3745/cb8U-gL6_400x400.jpg)
![Apache Cordova](https://img.stackshare.io/service/1716/cordova_256.png)
![CSS 3](https://img.stackshare.io/service/6727/css.png)
![Ionic](https://img.stackshare.io/service/876/bYMCvtHD_400x400.jpg)
![JavaScript](https://img.stackshare.io/service/1209/javascript.jpeg)
![Android SDK](https://img.stackshare.io/service/1010/m8jf0po4imu8t5eemjdd.png)
![NativeScript](https://img.stackshare.io/service/2605/_fBe-iYT.jpeg)
![React](https://img.stackshare.io/service/1020/OYIaJ1KK.png)
![Swift](https://img.stackshare.io/service/1009/tuHsaI2U.png)
![Vue.js](https://img.stackshare.io/service/3837/paeckCWC.png)
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.
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.
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 inCordova
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!