Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does Android Jetpack require the use of the Kotlin language?

I can't seem to find a clear answer to this in Google, and all the documentation and samples I've seen for Jetpack seem to refer to and use Kotlin.

But do you HAVE to use Kotlin in order to use Jetpack? Or can Jetpack be used with traditional Java programs?

I was looking at Kotlin but it adds almost a MB to your app size. And seeing as my entire app is only about 200KB currently, I don't think Kotlin is worth increasing the size of my app by 500%!

like image 345
eidylon Avatar asked Aug 15 '18 04:08

eidylon


2 Answers

You just get more syntactic sugar when you use kotlin instead of java, but they have same functionality and you can even use them hybird.

Also android Jetpack is great, it shouldn't be limited by language. Although android-sunflower - the official demonstrate app of Android Jetpack wrote in Kotlin, it can still implement by java. In order to support Android Jetpack, I translated all kotlin implementations to Java, and added [app-java] module as the Java version of android-sunflower app, please check out android-sunflower-java.

like image 189
EffectiveMatrix Avatar answered Oct 02 '22 13:10

EffectiveMatrix


Jetpack is a collection of libraries plus guidance on how Google recommends building Android applications. These libraries all have Java APIs, so you don't need to move to Kotlin to use any of them. Both languages are still completely supported for Android development.

As for the APK size consideration, it's true that Kotlin will definitely increase it. It's hard to tell how much larger it'll be, but Proguard should strip out a lot of the standard library that you end up not using, so it could be much less than an entire MB. Here's an article that compared Java and Kotlin APK sizes of an essentially empty Hello world app that found the increase to be just 11 KBs, for example. So unless you're in a market where this is extremely important, you could probably get away with using Kotlin.

More importantly though, switching to Kotlin is more than just pulling in a library - it's a new language to learn, which means you have to put some effort into it, and it can change a lot about how you write your applications. You should look into the language more and see if you like what it offers.

like image 41
zsmb13 Avatar answered Oct 02 '22 15:10

zsmb13