Need advice about which tool to choose?Ask the StackShare community!
Android SDK vs Apache Cordova: What are the differences?
Key Differences between Android SDK and Apache Cordova
Android SDK and Apache Cordova are two popular frameworks used for developing mobile applications. While both frameworks have their own strengths and weaknesses, there are several key differences between them:
Language: Android SDK uses Java as the primary programming language, while Apache Cordova uses a combination of HTML, CSS, and JavaScript.
Native vs. Hybrid: Android SDK allows developers to build native applications that are specifically developed for the Android platform. On the other hand, Apache Cordova allows for the development of hybrid applications that can be run on multiple platforms, including Android.
UI and UX: Android SDK provides access to native UI components and design guidelines, allowing developers to create applications that closely follow the Android user interface and user experience. Apache Cordova, on the other hand, relies on web technologies and may not offer the same level of native look and feel.
Performance: Since Android SDK allows for native development, applications built using this framework tend to have better performance compared to those developed using Apache Cordova. This is because native applications can fully utilize the device's resources, while hybrid applications have some overhead due to the interpretation of web technologies.
Access to Device APIs: Android SDK provides direct access to various device APIs and features, allowing developers to create applications that can interact with hardware components such as the camera, GPS, and sensors. Apache Cordova also provides access to device APIs, but through plugins that need to be installed and integrated into the application.
Development Environment: Android SDK requires a specific development environment consisting of Android Studio and the Android Software Development Kit (SDK). Apache Cordova, on the other hand, can be developed using any text editor or integrated development environment (IDE) of choice, making it more flexible in terms of the development environment.
In summary, the key differences between Android SDK and Apache Cordova lie in the programming language used, the type of application development (native vs. hybrid), the user interface and user experience, performance, access to device APIs, and the development environment.
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 development289
- 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 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
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