Android / Java
OUR UPS DEVELOPING WITH ANDROID / JAVA
– Has massive support from the community. Java is probably one of the most popular programming languages even at other platforms and frameworks which also implies some of these solutions are also applicable to Android’s Java core classes..
– Very easy to learn to write. Android has one of the best if not the best documentation. The documentation has a lot of code snippets in orderly fashion that will guide you from project creation to publishing your app.
– Android uses Android Studio as the primary IDE which was developed by Jetbrains. It simplifies the development that even children can develop apps by using it.
– Java is the best OOP language by far. It is 100% all the time that you can apply OOP practices, principles, and methodologies.
– Faster compilation time than Kotlin in cold start builds.
OUR OUPS DEVELOPING WITH ANDROID / JAVA
– In coding experience. It is too verbose and sometimes it takes a lot of lines if necessary to write a definition of a function. Sometimes, you’ll find yourself in a callback hell if you want to avoid spaghetti code, or in the other way around — you found yourself in spaghetti code if you want to avoid callback hell.
– Android is slowly moving away from Java to Kotlin as its primary and preferred language, so you will expect the community to do the same. You won’t be able to see a solution for new Android specific problems that is written in Kotlin.
– As the community moves towards Kotlin, the library developers will also be migrating their code to Kotlin and you won’t be able to see their documentation in Java.
– Limited interoperability with Kotlin. Not all libraries that are written in Kotlin will work. This problem occurs when the library is written in Kotlin and thus will have to create adapter classes in order to work.