Moving from Android to iOS development

Nermin Turkovic
Impala Studios
Published in
3 min readSep 2, 2016

After some time working as a backend and web developer I started to be curious about mobile app development so I decided to become an app developer. I started developing some small Android projects and I liked it a lot. After this short period (less than 1 year) developing for Android I decided to look for a job as a mobile developer, it was what I wanted to do so I went for it. And I was lucky!!! I got a job at Impala Studios as an Android developer and for some months I had been working on some Android projects where I have learned a lot and discovered the many things a developer can do. New technologies, new features, etc. But after some months I became an iOS developer and I have to admit I wasn’t very enthusiastic about this. I was learning Android at a fast pace and wanted to gain more knowledge and experience and, of course…. Objective-C :(

Who doesn’t like Objective-c?

I am very used to the Android architecture and the iOS architecture has been a big change for me. I know Android is not perfect, I am not saying that, I am just saying that they are different, in my opinion, but I will show you some funny examples.

For example in iOS there are delegates for almost every class and it kind of ‘encourages’ chaining delegate calls. Another example is the UITableViewController, it has delegate and dataSource properties. This idea is great as the data source is completely separated and you can modify it with a very small impact on your table view, same thing for the delegate. The issue comes when you realise that there are some methods in the data source that should be in the delegate and the other way around. If you don’t have enough experience working with UITableViewController you will lose some valuable time looking for the function you need.

Then we have our lovely IDE, Xcode, which would be great if it wasn’t for the random crashes like the one in the image below. I was getting this error for some time when I added a breakpoint in the AppDelegate class and after some time it didn’t happen anymore.

Best crash ever!!!

There is also the difficulty of refactoring/renaming variables, methods or classes, the fact that you cannot have 2 simulators running at the same time (WTFFFF!!?!??!), the folders in the project navigator do not match the physical folders in the project directory (WHY APPLE? WHY?), constant conflicts in the project file, etc. Basically, it sucks. Probably you’ve had a lot more bad experiences with Xcode, which you are more than welcome to share :D

Anyway after 4–5 months working as an iOS development I am starting to like it (a bit), it will never be Android. You know, people say that the first love is unforgettable :D, but there are many other cool things which I will try to explain in a future post. In this post I only wanted to share my experience with you. I hope you liked it and let me know your thoughts in the comments.

--

--