Hey

Hey,

I'm an Android dev currently working in two projects. One is for a company that I work with, and the other one is a personal project. Yesterday I decided to migrate my whole project to Kotlin, to test the new features that this language offers. And I also wanted to test how difficult is the migration process from Java to Kotlin.

I have to say, is really fucking hard, IDK if I'm outdated with these new languages or what, but besides the fact that I had to tie together a lot of loose ends (Dagger2 to work with the katp, kotlin annotation processor, Butterknife to work with the kotlin version, RxKotlin instead of RxJava, and a couple more) and I almost blew my brains out. The language isn't that readable, I mean, it has lots of tools to write less code, making Parceleable implementations easier, avoid doing null != validations, and yes the code that you get when you finish migrating it is a lot shorter... but also less readable in my opinion.

I was using my own project as a POC to later apply this migration in the project of the company that I'm working with. But that's going to be impossible. Too many things to change, too many risks.

Had anyone worked with Kotlin? Is it really worth it? So far I'm pretty disappointed.

Kotlin a shit

It's literally the exact same as Java except less verbose.

Sup, Pajapajeet

If your app isn't mostly javascript/html with some java then you are doing it wrong.

We used Scala for a mobile project once (not kidding). It was a nice experience. Ended up migrating to Java 6 because I'm surrounded by sub standard pajeets

from Scala to Java 6 lmao wtf

There is literally not a single reason to migrate from a language that does already everything to another language, except if it has crucial features or libs unique to your project.

True story though. This was in 2012 pre java 8 craze and shit

Both Apps are pure Android Apps, no html/javascript, WebViews or whatever.

I'm not saying that I didn't get it working, but which is the price?

I ended up having an App that has a lot less of code within, but is also a lot less readable. I was expecting that Kotlin would help me to tackle the common Android verbosity issues; duplicated wiring code for the MVP/MVVM, having to extend from everything, etc.

I work with Kotlin at a large company that is switching from Java to Kotlin for everything. As someone who never learned or really bother using real Java I've actually liked it so far. It sounds like msot of the issues you are running into are related to libraries and not to the language itself.

Also Kotlin is best suited for declarative programming while I think standard Java is generally imperative. You probably need to shift the way you think about what you are working on.

What about performance?
Any improvements or everything stayed the same?

My personal project is just a hiking App that tracks the path that you do when you go hiking.

So I don't have a lot of Activities/Fragments involved. I couldn't say if there's some real performance improvement.

That sounds like the right advice, maybe I need to start a project from 0, instead of migrating from one language to another.

I want to think that this language has some use, since people like Jake Warthon have praised it.

Yeah we're still maintaining old java code, nothing is being transitioned without a total rewrite and planning.

Everything written in Kotlin has been started fresh.

Also what I've generally done is if I am writing something imperatively, I abstract it.

So I'll probably have the main layer where everything is just defining what is done. Then I'll have a second layer of abstraction that handles the actual action.

One project I worked on actually did start out as a Java project and I was tasked with converting it to Kotlin. It was a nightmare to work on and eventually I ended up scrapping most of what had been done previously.

>fun sayHello(maybe: String?, neverNull: Int) {
>maybe: String?

>when your programing language is so sjw that you have to ask it what types of inputs it should accept so you can avoid being guilty of micro aggressions and having the compiler report you to management and force you to take mandatory sensitivity training

lol, pure gold

I'm a game developer turning to app dev because there is more work available remotely.
I'm learning nativescript, and the livesync feature is just amazing.

this

Kotlin is literally java though.

This
Also this

>'m an Android dev
fuck off back to plebbit, Mr Pajeet.