Apache Cordova vs Electron: What are the differences?
Apache Cordova can be classified as a tool in the "Cross-Platform Mobile Development" category, while Electron is grouped under "Cross-Platform Desktop Development".
Some of the features offered by Apache Cordova are:
- Cross-platform (CLI) workflow
- Platform-centered workflow
- Hundreds of plugins
On the other hand, Electron provides the following key features:
- Electron is open source
- maintained by GitHub and an active community.
"Lots of plugins" is the primary reason why developers consider Apache Cordova over the competitors, whereas "Easy to make rich cross platform desktop applications" was stated as the key factor in picking Electron.
Apache Cordova and Electron are both open source tools. Electron with 74.4K GitHub stars and 9.72K forks on GitHub appears to be more popular than Apache Cordova with 762 GitHub stars and 327 GitHub forks.
According to the StackShare community, Electron has a broader approval, being mentioned in 213 company stacks & 366 developers stacks; compared to Apache Cordova, which is listed in 96 company stacks and 45 developer stacks.
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 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
I didn't find any plugins for it. So I've implemented it by myself and shared it on GitHub.
Feel free to use!