Posted on

Android Development Language Choice


android development language

We all know that Java is the language that’s been around with Android for almost a decade. Until the last few moths it was Java 6 for the most part, which is pretty old version. It says Java 7, but there were features missing. And this language was release in 2006. Long time ago

Environment Choice

Fist of all you want to chose a platform in which you develop before the language itself. And there’s quite a few of those.

Official

The most popular and one in most demand for finding job is Google’s official. IDE here is Android Studio. Java is the most popular language, Retrolambda was here for a while to give us lambdas, now with new compiler we have them officially supported. But I think about two years ago Kotlin was introduced to Android.

It’s a great JVM language that compiles to the same byte code as Java. This means you still use same API’s, class/method names are same. It makes Java/Kotlin code compatible, easy to covert. Especially with Android Studio assistance you can learn just few Kotlin basics in 2 days and already start using it.

All the official documentation is in Java, since Google releasing official support for Kotlin, we might see some Kotlin code in official tutorials, but as a second version.

Java will always be here and it’s a really awkward situation with Kotlin we’re having. For experienced developers Java is boring already and they want to use Kotlin everywhere. But 9 years of Java in Android and considering Kotlin as a quite new language you can’t completely use Kotlin everywhere yet. I mean everywhere, not just in your project

And I don’t think we will, until we shut down Java for Android completely. And it’s not going to happen

Xamarin

Here official IDE is Visual Studio and language is C#. And Using it you can write apps once and compile them to both Android and iOS. Obviously, this platform isn’t as popular as Google’s, which means that there’s less tutorials and help.

So it’s not the best choice to start using it if you’re just beginner or looking for your first job.

JavaScript

Now there’s bunch of other JavaScript frameworks for developing cross-platform apps. One of the most popular is React Native by Facebook.

Obviously, you’ll be using JavaScript. Me as a core Java developer, I’m used for strong types, compiler, autocompletes, full support from IDE’s that languages like Java, Kotlin, C# give. With JavaScript you get none of that.

Which in my perception brings you like 20 years back in time of software development. Remember those stories about guys punching cards of code, bringing them to some machine and then figuring there’s a typo/bug?

That’s what JS development is. You got to be smarter and remember more stuff with JavaScript, funny, right? Because this language was intended to be simple, but never meant to be used in big projects.

So honestly, I wouldn’t look at any language that has Script in the end other than if it has Type in the beginning

What To Choose

If you’re just getting started and haven’t written any Android app – definitely go with Java. There might be lot’s of noise with Kotlin now and you’ll be confused, just ignore it until you feel confident with Android platform itself.

Language is secondary, to learn Kotlin it takes 2 days, but Android platform – many years.

And if you’re already been developing Android apps forĀ  a while – definitely check this guide on pros of Kotlin.

 

If you like the stuff I’m writing about – subscribe, follow me on Twitter, Facebook, G+ and share with friends!