4
AleCx04
6y

During my small tenure as the lead mobile developer for a logistics company I had to manage my stacks between native Android applications in Java and native apps in IOS.

Back then, swift was barely coming into version 3 and as such the transition was not trustworthy enough for me to discard Obj C. So I went with Obj C and kept my knowledge of Swift in the back. It was not difficult since I had always liked Obj C for some reason. The language was what made me click with pointers and understand them well enough to feel more comfortable with C as it was a strict superset from said language. It was enjoyable really and making apps for IOS made me appreciate the ecosystem that much better and realize the level of dedication that the engineering team at Apple used for their compilation protocols. It was my first exposure to ARC(Automatic Reference Counting) as a "form" of garbage collection per se. The tooling in particular was nice, normally with xcode you have a 50/50 chance of it being great or shit. For me it was a mixture of both really, but the number of crashes or unexpected behavior was FAR lesser than what I had in Android back when we still used eclipse and even when we started to use Android Studio.

Developing IOS apps was also what made me see why IOS apps have that distinctive shine and why their phones required less memory(RAM). It was a pleasant experience.

The whole ordeal also left me with a bad taste for Android development. Don't get me wrong, I love my Android phones. But I firmly believe that unless you pay top dollar for an android manufacturer such as Samsung, motorla or lg then you will have lag galore. And man.....everyone that would try to prove me wrong always had to make excuses later on(no, your $200_$300 dllr android device just didn't cut it my dude)

It really sucks sometimes for Android development. I want to know what Google got so wrong that they made the decisions they made in order to make people design other tools such as React Native, Cordova, Ionic, phonegapp, titanium, xamarin(which is shit imo) codename one and many others. With IOS i never considered going for something different than Native since the API just seemed so well designed and far superior to me from an architectural point of view.

Fast forward to 2018(almost 2019) adn Google had talks about flutter for a while and how they make it seem that they are fixing how they want people to design apps.

You see. I firmly believe that tech stacks work in 2 ways:

1 people love a stack so much they start to develop cool ADDITIONS to it(see the awesomeios repo) to expand on the standard libraries

2 people start to FIX a stack because the implementation is broken, lacking in functionality, hard to use by itself: see okhttp, legit all the Square libs, butterknife etc etc etc and etc

From this I can conclude 2 things: people love developing for IOS because the ecosystem is nice and dev friendly, and people like to develop for Android in spite of how Google manages their API. Seriously Android is a great OS and having apps that work awesomely in spite of how hard it is to create applications for said platform just shows a level of love and dedication that is unmatched.

This is why I find it hard, and even mean to call out on one product over the other. Despite the morals behind the 2 leading companies inferred from my post, the develpers are what makes the situation better or worse.

So just fuck it and develop and use for what you want.

Honorific mention to PHP and the php developer community which is a mixture of fixing and adding in spite of the ammount of hatred that such coolness gets from a lot of peeps :P

Oh and I got a couple of mobile contracts in the way, this is why I made this post.

And I still hate developing for Android even though I love Java.

Comments
  • 0
    I've never had the force to learn Obj-C, and I developed my first iOS app in Swift. As this moment, I wasn't able to find docs on the web to make HTTP Requests (It was Swift 2).
    It made my experience with Swift & iOS absolutely horrible.

    Somehow, I got a lot of documentation concerning Android et I switched from web to mobile through big Android documentation which made me discover the joys of géo-localisation, camera, and other mobile-related stuff.

    I guess I've had exactly the opposite experience as you had.
  • 0
    @Orionss that is weird. It is really a 5 min goggle search and doing it in both swifr or obj c is cake.

    But that is the thing, I already knew obj c pretty well, and even though I know Java even more and had the docs with me I always felt that Android apps were over engineered, over complicated and less powerful. Its too much work for little gains.
  • 0
    @Frederick i completely get you because I feel the same way. It is not a problem of language, Java is fine. It is a problem of API design from Android which makes it messier.

    Just trying to follow a complex fragment based app becomes an amazing disaster(for example)
Add Comment