What Is Google's New Kotlin First Initiative for Android App Development?
Updated: Aug 2, 2019
So Google have recently announced that they are Kotlin first when it comes to Android app development. So what does Kotlin First mean? But more importantly perhaps, how does this affect you as a developer? Let's talk about that today.
We're talking about this Kotlin First initiative that Google is now talking about and recommending for Android app development.
Giving a little bit of context, firstly, Google and Jetbrains (Jetbrains is the company that created the Kotlin language initially), have now formed a foundation TheKotlin Foundation. The purpose of that foundation is to protect, promote, and to advance the Kotlin programming language. I think that's a big clue there as to the intention of Google and also Jetbrains.
Now, Kotlin itself is an open source language being developed on GitHub. That's fantastic because that means that anyone can contribute to the language and that's unlike a lot of other programming languages which are closed sourced. That means you can't commit total add functionality self-taught.
One of the foundations' big tasks is to ensure that new features that are being created and contributed by developers don't actually break the overall design goals of Kotlin. In other words, there is someone driving that process. That's a good thing as well, because it makes sure that Kotlin advances in the right direction.
Now, one big advantage of Kotlin to look at is that there is no licencing problems with it unlike the potential licencing problems that exist with using Java on the Android platform.
Right now there isn't a problem, but you may be aware that Oracle, the creators of Java and Google have been in court multiple times over Google's use of Java in the Android platforms. Basically, you are doing away with any issues relating to that if you move over to Kotlin.
At the recent Google I/O conference (so that was in this month when I'm writing this which is May 2019), Google announced that from their statistics of the developers who are using their Android studio product, 50% now of these developers, these pro Android developers, are already using Kotlin. Again, that's a big thing. You can say that Kotlin only released 2 years ago has already hit 50% and that's basically pretty major in my opinion, and it's just going to go up and up from here.
They also mention (which I found was pretty interesting) that Kotlin itself, is the fastest growing language on GitHub. Now that's 2 more big reasons there why I think to be using Kotlin.
Getting back to Kotlin First though, which I mentioned in the introduction. What does that actually mean? At that same conference, the Google I/O conference, Google announced that Android is Kotlin First. By that Google is actually making more things or more stuff if you will, available for Kotlin developers first before other languages. That's certainly a departure from previous years where if the board introduced a new API or some new functionality, it would generally be available for Java developers first.
They are switching that now and they are actually making it available for Kotlin developers first. An example of what they used there was Jetpacks API's which are being released for Kotlin developers first. Pretty big statement there. Again, this was a big change as I mentioned where previously they promoted and released stuff for Java first.
Google also made a strong recommendation at that same conference that when you are creating a new Android project, starting a new project from scratch, they recommend you always do it in Kotlin. Again, that's a departure from previous years as well. Another one of the reasons among the 3 good reasons you can consider using Kotlin: less to type, less to test, and less to maintain.
If you add to that, that already 50% of the pro developers according to their stats are already using Kotlin, then I think the time is here for you right now to start adopting Kotlin for basically for your Android app development. What I'm saying is that, from my point of view and in my opinion, you should actually be developing in Kotlin and for anytime you are actually developing Android apps moving forward.
With that said though, that brings up an interesting question: "What's going to happen to people who are coding Android apps in Java now?" Well, the good news is, Google also announced that they will continue to support and invest in Java on the platform so it's not as if all of the code that you've written in Java (if you have) for Android apps are wasted because let's face it, years and years and years of our programming code that's been released are in Java for Android apps so it'd be crazy, I think, in my opinion, for Google to get rid of that and suddenly make that incompatible.
What I'm trying to say is all your code that you've written in Java for and for the Android app platform is still going to work. Secondly, it's also going to be supported moving forward by Google as well and you can also basically use C++ and Java is what they are saying anytime you want to create Android apps which is pretty good but their recommendation is to focus on Kotlin itself. Basically, you're still going to get support from all programming languages, and that's important as well.
The bottom line here is that Kotlin First should be your plan. So anytime you're creating new projects, certainly my recommendation and I'll be doing this moving forward, I'll be using Kotlin as the first approach. The first thing I'm gonna do is basically look at coding in Kotlin but any legacy applications will continue to be supported and you can still use Java if you want to.
If you haven't already though, check out the Google I/O conference videos. They're available on YouTube and the Google developers channel, I should say. There is a playlist there for the Google I/O Conference and I think there's about 178 videos there, fantastic videos to watch on lots of different areas within Android app development.
I certainly recommend you subscribe to that channel and check that out. There's a link also in the description to that playlist, to the playlist for the Google I/O developers conference so check those out. Specifically the one that will be of interest to you first, which I've quoted some points from, is the Google developers playlist. The Keynote, I should say, is about 30 or 45 minutes. Checkout that keynote, the developers keynote, for a lot more information about what's happened.
For me, this is quite big. Android are now pushing Kotlin, so I think you should be really looking to get skilled up as quickly as possible in Kotlin moving forward for Android app development.
All right, so I hope that helped. If you've got any questions feel free to leave a comment and I'll get back to you.