Need advice about which tool to choose?Ask the StackShare community!
Android SDK vs Apache Cordova: What are the differences?
Android SDK: An SDK that provides you the API libraries and developer tools necessary to build, test, and debug apps for Android. Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment; 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.
Android SDK belongs to "Frameworks (Full Stack)" category of the tech stack, while Apache Cordova can be primarily classified under "Cross-Platform Mobile Development".
"Android development" is the top reason why over 280 developers like Android SDK, while over 31 developers mention "Lots of plugins" as the leading cause for choosing Apache Cordova.
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, Android SDK has a broader approval, being mentioned in 1084 company stacks & 907 developers stacks; compared to Apache Cordova, which is listed in 96 company stacks and 45 developer stacks.
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.
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 Android SDK
- Android development288
- Necessary for android155
- Android studio128
- Mobile framework86
- Backed by google82
- Platform-tools27
- Eclipse + adt plugin21
- Powerful, simple, one stop environment5
- Free3
- Больно3
Pros of Apache Cordova
- Lots of plugins47
- JavaScript35
- Great community26
- Easy Development24
- 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
Sign up to add or upvote prosMake informed product decisions
Cons of Android SDK
Cons of Apache Cordova
- No native performance2
- Hard to install1
- Hard to install0