Kotlin

I'm not actually using it but I did take a look recently and learned the basics. It's not just for Android development but is a replacement for Java, runs in the JVM and is compatible with Java code (so you can have a project with a mix of Java and Kotlin). If I were an existing Java Android developer working on an existing project then I would probably continue using Java. But if I were now looking to move into Android development or starting a new project then I would choose Kotlin over Java. The reason for that is that Google have moved from Java to Kotlin so it is the strategic language on Android.
 
I'm not actually using it but I did take a look recently and learned the basics. It's not just for Android development but is a replacement for Java, runs in the JVM and is compatible with Java code (so you can have a project with a mix of Java and Kotlin). If I were an existing Java Android developer working on an existing project then I would probably continue using Java. But if I were now looking to move into Android development or starting a new project then I would choose Kotlin over Java. The reason for that is that Google have moved from Java to Kotlin so it is the strategic language on Android.

Thanks for that. A useful reply. I'm going to be writing an Android app from scratch so I'll probably use Kotlin right from day one. I'm quite looking forward to getting started.
 
Anyone using Kotlin for Android development?
Yep! Use it both in the workplace and personal projects.

If you are what made you change?
Many reasons, at the start we saw the push Google was giving it, since it's not a large invesment to introduce it to a project with how it interfaces with Java files we gave it a try. There's been no looking back!
It's clearly the future of Android programming (for the next few years anyway) with the amount of support Google is giving it.
We find we write more concise, readable code which is easier to reason with when reading it. We find it easier to write less error-prone code due to how it treats nulls.

Personally I far prefer the language than the version of Java 7/8 that we get with Android, yes Java in later versions has similar things to what Kotlin provides, but sadly we don't have this on Android.
Some of the things I miss when I go back to Java on Android:
- Real support for things like lambda's, functions as first class citizens and more functional type programming.
- I love the way nulls are treated, love the power of whens/sealed classes, love data classes.

There's too many things to list really, no one I've talked to at work or elsewhere has gone back to Java after using Kotlin (on Android).
 
Yep! Use it both in the workplace and personal projects.


Many reasons, at the start we saw the push Google was giving it, since it's not a large invesment to introduce it to a project with how it interfaces with Java files we gave it a try. There's been no looking back!
It's clearly the future of Android programming (for the next few years anyway) with the amount of support Google is giving it.
We find we write more concise, readable code which is easier to reason with when reading it. We find it easier to write less error-prone code due to how it treats nulls.

Personally I far prefer the language than the version of Java 7/8 that we get with Android, yes Java in later versions has similar things to what Kotlin provides, but sadly we don't have this on Android.
Some of the things I miss when I go back to Java on Android:
- Real support for things like lambda's, functions as first class citizens and more functional type programming.
- I love the way nulls are treated, love the power of whens/sealed classes, love data classes.

There's too many things to list really, no one I've talked to at work or elsewhere has gone back to Java after using Kotlin (on Android).

Thanks for the reply.

I'll use Kotlin from the start then. I did do some Java programming a few years ago but now I have forgotten most of what I knew so I'd be starting from scratch no matter which language I used. I could do something with Python or JavaScript but I'd prefer to keep it native as I want to make my app look as good as possible and I want the skillset when it comes to getting a job in the future so Kotlin sounds like the best option for me.

The only thing I am going to struggle with is building an Android app and an iOS app at the same time.
 
The only thing I am going to struggle with is building an Android app and an iOS app at the same time.
There is a large push from JetBrains to make Kotlin multiplatform, we have had some success in my work with sharing a small amount of Business logic between both our iOS and Android apps but it's still early days.
I like the idea as long as it is restricted to business classes which is what JetBrains seem to be trying to achieve. You might want to look into it.

https://www.jetbrains.com/lp/mobilecrossplatform/
 
There is a large push from JetBrains to make Kotlin multiplatform, we have had some success in my work with sharing a small amount of Business logic between both our iOS and Android apps but it's still early days.
I like the idea as long as it is restricted to business classes which is what JetBrains seem to be trying to achieve. You might want to look into it.

https://www.jetbrains.com/lp/mobilecrossplatform/

That does look cool. Thanks for sharing. Now I just need to figure out how to actually make an app on each platform :). I've never done any mobile development before so this will be interesting.
 
I haven't really used Kotlin but from what I've seen it and Swift are more similar than Java and Swift are so if you're having to write two apps from scratch it'll probably be less of a learning curve.
 
I haven't really used Kotlin but from what I've seen it and Swift are more similar than Java and Swift are so if you're having to write two apps from scratch it'll probably be less of a learning curve.

That is a good point. I don't know much about Swift at all but I did briefly use Objective-C and found it to be an interesting language. The only problem is that I need to get a Mac and an iPhone to do any iOS programming which is going to be expensive (but I don't mind any excuse to buy cool new technology).
 
Any problems let me know. You need to make sure you install VMWare tools to prevent the graphics from being laggy and to let you change resolution from what I remember, the Github project above will let you install the latest version.
 
Back
Top Bottom