More like a sub company/department inside a company: Android.

I still use it as my main driver, but every time I try to get back into development with it(did it professionally for 2 years nearing on 3 and was a lead Android dev, mind you not necessarily by merit....) I end up hating everything about it.

The tooling is meh, the API is hideous and even with the addition of Kotlin, which I do find a nicer language over Java I still dislike it. The ammount of shit needed to make something as simple as store data, manage fragments, integrate with the NDK, make JSON API calls or even shake motions is just ludicrous and counter intuitive. I can see why people would hate Java based on Android, a language that I generally love and defend.
I firmly believe that people extend frameworks or tooling for 2 reasons only:

1 the stack is so awesome that you just want to create packages and libraries to extend the functionality of a powerful environment, like gems for Ruby, python packages, Node packages, php composer, nuget etc

2 the stack is so fucking hideous that people need to fix shit: the entire android square utility framework, butterknife, flutter, react native, codenameone, etc etc

The case with Android is the second. I have not met a professional Android developer that completely likes everything about Android, but will seldom find people that HATE other frameworks or environments.

Android it is for me. Still my daily driver and I love every Android phone I have ever owned. It just makes me feel lots of more compassion for fellow Android devs.

  • 0
    @irene i agree and even like the idea. But we both know that not having a way to run our own build server code would give certain people a heart attack.
  • 0
    @irene Android development kit uses the jvm byte code to generate dex or elf byte codes which are then run on Android’s VM. So they could’ve picked any other language but wanting something to compete with iOS and having a huge developer base, java made most sense at the time.

    It is also worth mentioning that the ndk is also available allowing you to use c/c++ while requiring you to compile code require for different architectures and bundling it into your apk. (Has been available since the beginning)
  • 0
    Regards to op’s points, most of the mentioned utilities (rn/flutter/codenameone) attempt to address a different issue in the mobile development space - namely the divide between iOS/Android development knowledge and code. The other utilities such as butter knife, okhttp, gson are all libraries similar to which exists in other languages because it people want tools more familiar to them - js/python also have multiple libs for http etc

    Personally I haven’t come across anything which I might "like" - sure when reading the intro it seems great but as soon as you dig a bit deeper it starts to smell ;)
  • 0
    @irene @rusty-hacker yup, everything about it starts to smell in Android development real quick.
Add Comment