Kotlin: The Future Of Android Development?

Written By John Sonmez

Have you ever heard of Kotlin? Kotling has been picked as the official programming language for Android development.

Here's what a speaker at the most recent Google I/O said about Kotlin:

“We believe this is a great step for Kotlin, and fantastic news for Android developers as well as the rest of our community. We’re thrilled with the opportunities this opens up.

For Android developers, Kotlin support is a chance to use a modern and powerful language, helping solve common headaches such as runtime exceptions and source code verbosity. Kotlin is easy to get started with and can be gradually introduced into existing projects, which means that your existing skills and technology investments are preserved.

Starting now, Android Studio 3.0 ships with Kotlin out of the box, meaning Android developers no longer need to install any extras or worry about compatibility. It also means that moving forward, you can rest assured that both JetBrains and Google will be supporting Android development in Kotlin.

In case you are concerned about other platforms that Kotlin supports (Kotlin/JVM for server and desktop, Kotlin/JS and Kotlin/Native), please be sure that they are as important for us as ever. Our vision here is to make Kotlin a uniform tool for end-to-end development of various applications bridging multiple platforms with the same language. This includes full-stack web applications, Android and iOS clients, embedded/IoT and much more.

Programming languages are just like human ones: the more people speak a language, the better. First-class support on Android will likely bring more users to Kotlin, and we expect the community to grow significantly. This means more libraries and tools developed in/for Kotlin, more experience shared, more Kotlin job offerings, more learning materials published, and so on. We are excited to see the Kotlin ecosystem flourish!

We will be partnering with Google to create a non-profit foundation for Kotlin. Language development will continue to be sponsored by JetBrains, and the Kotlin team (over 40 people and second largest team at the company) will operate as usual. Andrey Breslav remains the Lead Language Designer, and Kotlin will be developed under the same principles as before. We’ll keep our design processes open because your feedback is critical for us in moving Kotlin in the right direction.

If you’re at Google I/O, make sure you stop by one of the Kotlin talks on the schedule. And of course, don’t forget to register for KotlinConf in San Francisco in November. It will be an amazing event!”
(Source: https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-official/)

So… Is this the future of Android development? Watch this video and find out!

[responsive_video type='youtube' hide_related='0′ hide_logo='0′ hide_controls='0′ hide_title='0′ hide_fullscreen='0′ autoplay='0′]https://www.youtube.com/watch?v=wQIJP8xlSCc[/responsive_video]
Transcript Of The Video

John Sonmez: 

Today, I'm going to answer a question that a lot of you have been asking for a long time that you want me to do and answer on that—I hate to do these kinds of answers because I hate to give like a real technical opinion on things because things are going to change. I'd rather give profound wisdom that lasts through the ages, but I will do it. I will indulge you for now and I will talk about Kotlin. Kotlin, the new language. Not necessarily new language but the new language that Google has embraced for Android. I've got a lot of questions on this, and Kotlin or Java, what is the future of Android development?

This question is from Kevin and he says, “Hi, John. I'm Kevin. I got my Bachelor's degree in Software Engineering last year and I'm trying to master mobile development. I heard that Google is now trying to promote their brand new language Kotlin as the de facto standard for Android development. This confuses me a lot. Does it mean that Java is on its way to the trash as far as Android is concerned? Should experienced Android developer start learning Kotlin and prepare to drop Java? Yours sincerely, Kevin.”

A couple of things here. Let's look at iOS right now. Let's look at Swift versus Objective-C. Objective-C is definitely still out there. Apple is still supporting Objective-C. They're pushing Swift. Similar thing has happened there. There's plenty of Objective-C developers out there. There's plenty of iOS apps that are out there that are written in Objective-C that will continue to be maintained in Objective-C. Every time I talk to an iOS developer and I say, “Oh, hey. Are you just working in Swift?” they're like, “Yeah. I'd like to work in Swift and I do some stuff in Swift, but I do a lot more Objective-C development.” That's what they tell me. I've talked to a lot of iOS developers.

Now, maybe that's not the case for you if you just came in iOS development and you just started on Swift. In a lot of cases, that's true. Heck, I did a video on Cobol. Check out the video on Cobol and there's a lot of people still using Cobol, and there are some people that actually replied to that video and are like, “John, you're an idiot. Cobol is only going to grow.” They might be right about both. Maybe Cobol is still going to grow. I tend to think it's going to die off, but who knows. It might take a long, long time before it does die off.

With that said, if I were an Android developer today, I would be going full speed on Kotlin. By the way, it's not Google's language. Google adopted it. It does appear that Google is doing the same thing that Apple did, which is to push this language and I think it's going to be better for development. From everything I can gather, Kotlin seems like a really good language for Android development. I haven't spent a lot of time using it, but I've played around with it. There's a nice interactive tutorial online like it seems like they've made it really easy to use. There are some frustrations in doing Android development in Java that I've discovered that it seems like Kotlin has addressed. I like that but you got to look at—you know, I mean Google is definitely controlling the Android space. If they're pushing this, there's probably a good reason. It probably makes sense and just with all the hype I've seen and all the people that like Kotlin, it's a good bet.

I don't think it's going to die off. I don't think it's a bad bet, but at the same time, like I said, if you're a Java developer and you're like, “Oh, I got to switch to Kotlin,” that's not true like you're going to be able to do Android development in Java, my prediction is at least for the next five years. Right? I don’t think that's going away anytime soon. There's too much written out there. Too much code out there already. I mean it might last for the next 20 years. Who knows? There's too much out there already that's written in Java for you to think that it's just going to go away. I wouldn't worry about it. I wouldn't be afraid of going into Kotlin either. If I were starting out, I would just start out with Kotlin for the Android development because that's the direction I believe it to be heading.

Think about it and see where you're at, and maybe you learn some Kotlin and maybe you—if you like it, you go that direction if you're already a Java developer. I don’t freak out here. I don't panic. I don’t say, “Oh, crap. My world is coming to an end and I have to learn Kotlin.” I mean if it happens and you do have to learn Kotlin—remember this also because I've done a lot of mobile development. I've done iOS and Android development, and Windows phone development. The big thing with mobile development is not the language. It's the platform. It's the frameworks. If you understand how the components and the views, and the fragments and all that stuff works in Android, it doesn’t matter what language you're programming in. The key thing is that.

Same thing with iOS when I did iOS development, and I've done it multi-platform. I've done Android, iOS and Windows phone development. I've done it in Java. I've done Objective-C. I've done a little bit of Swift. I've done—used Titanium to do it with JavaScript. I've used Xamarin with C#, and the biggest thing has always been the platform. It's understanding the underlying platform and the framework itself rather than the language, although Objective-C is definitely the most difficult language I've had to deal with and I don’t wish that harm apply to anyone. My hat is off to you, iOS developers that are still doing Objective-C.

All right. That's all I got to say about that. If you like this video, if you haven't subscribed already, make sure you click that Subscribe button below and click the bell, for goodness sakes, so you don't miss a video. YouTube is screwing with me and they don't show you all the videos that come out. I do about one video. Well, okay. I do about two videos a day. I will spam you with a bunch of videos, but it will be worth it. I promise. You can always unsubscribe. I'll talk to you later.[responsive_video type='youtube' hide_related='0′ hide_logo='0′ hide_controls='0′ hide_title='0′ hide_fullscreen='0′ autoplay='0′]https://www.youtube.com/watch?v=wQIJP8xlSCc[/responsive_video]