Need advice about which tool to choose?Ask the StackShare community!
Apache Cordova vs Qt: What are the differences?
What is Apache Cordova? Platform for building native mobile applications using HTML, CSS and JavaScript. 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 Qt? A leading cross-platform application and UI framework. Qt, a leading cross-platform application and UI framework. With Qt, you can develop applications once and deploy to leading desktop, embedded & mobile targets.
Apache Cordova and Qt belong to "Cross-Platform Mobile Development" category of the tech stack.
Apache Cordova is an open source tool with 766 GitHub stars and 327 GitHub forks. Here's a link to Apache Cordova's open source repository on GitHub.
According to the StackShare community, Apache Cordova has a broader approval, being mentioned in 96 company stacks & 45 developers stacks; compared to Qt, which is listed in 10 company stacks and 17 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
?
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!
Pros of Apache Cordova
- Lots of plugins48
- JavaScript35
- Great community26
- Easy Development25
- Easy to learn18
- Cross platform15
- Open Source7
- Easy, fast, not buggy in my experience with my code6
- Lots of descendants; PhoneGap, Ionic, Intel XDA etc6
- Can use CSS34
- Rich HTML 54
- Easy debugging4
- HTML, CSS and JS3
- Fast and hot reload3
- Rich css ui3
- Use what you code in your browser3
- Need a light system2
- Native Web Technologies2
- Without extra tooling needed2
- One code base everywhere2
Pros of Qt
- High Performance17
- Declarative, easy and flexible UI13
- Cross platform12
- Performance12
- Fast prototyping9
- Easiest integration with C++8
- Up to date framework8
- Python7
- Multiple license including Open Source and Commercial6
- Safe 2D Renderer6
- Great Community Support5
- HW Accelerated UI4
- Game Engine like UI system4
- No history of broken compatibility with a major version3
- JIT and QML Compiler3
- True cross-platform framework with native code compile3
- Reliable for industrial use3
- Pure C++3
- Been using it since the 90s - runs anywhere does it all3
- Open source2
- Easy Integrating to DX and OpenGL and Vulkan2
- From high to low level coding2
- Learning Curve1
- Great mobile support with Felgo add-on1
- Native looking GUI1
Sign up to add or upvote prosMake informed product decisions
Cons of Apache Cordova
- No native performance2
- Hard to install1
- Hard to install0
Cons of Qt
- Paid5
- C++ is not so productive4
- Lack of community support2
- Lack of libraries1
- Not detailed documentation1