Skip to main content
← Blog
Android

Java Alternatives for Android

2 min read
Java Alternatives for Android

You need Java to build Android apps — right? Not quite. There are other options that have been gaining ground over the past few years.

It all started for me at MaterialFest 2015, an event for developers and designers in Cádiz focused on Material Design. One talk stood out because it had nothing to do with Material — it was about building Android apps without Java. The guys from 47 Degrees presented Scala, a functional language with some compelling advantages:

  • Null safety
  • Context independence
  • Futures (goodbye AsyncTask!)
  • Pattern matching
  • Full Java interoperability — you could mix Java and Scala in the same project

It wasn’t perfect either:

  • Longer compile times
  • Larger APK sizes
  • A steep learning curve — the programming paradigm shifts completely

After sitting with the idea for a while, I started experimenting. I took a course by the language’s creator, Martin Odersky, then started writing actual code. Eventually I shipped my first Scala Android app, MovieList:

Around the same time, Kotlin started getting attention. It shared most of Scala’s advantages but was supposed to have a gentler learning curve. I had already committed to Scala, so I didn’t pay it much attention at first.

Then Google I/O 2017 happened. Google announced Kotlin as an official Android language alongside Java. That changed things.

I took a course by one of the early Kotlin adopters and the author of one of Google’s recommended Kotlin books. In 10 hours of course work we had built a complete app. What struck me most:

  • Data classes — no more boilerplate POJOs
  • Extensions — add methods to existing classes without inheritance
  • Android Studio integration — first-class support from day one

I decided to migrate my latest Scala app to Kotlin: KidsChat.

The bottom line: Android development isn’t just Java anymore. There’s a broader world out there, and now that Kotlin is official, there’s never been a better time to explore it.

Have you tried building Android apps in something other than Java? I’d love to hear about your experience.


More in Android