The journey from an Android developer to an iOS developer

Ahmed
3 min readSep 14, 2022

--

Android development has been a renowned development, especially in South Asia. The reason for the above fact is the number of android users in that region. Consequently, freshers and novice developers prefer to opt for android development.

Similarly, I also started my career as an android developer. My first app was a calculator, followed by the Whatsapp clone, then the surveillance app, and so on…, but still I was not confident about my android development skill. The following were the major reasons for my inferiority in android development.

Complex syntax and hectic implementations

No matter how simplified the Kotlin language for android development is, the framework and implementation of android development are still quite complex for newbies. Let’s take an example of the recycler view, the recycler view is used to present a data set. if you want to display large data set in your app, you should use the recycler view. However, the implementation of the recycler view is too difficult. Below are the steps to implement a simple recycler view.

  1. Define a model class to use as the data source.
  2. Add a RecyclerView to your activity to display the items.
  3. Create a custom row layout XML file to visualize the item.
  4. Create a RecyclerView.
  5. Bind the adapter to the data source to populate the RecyclerView.

Moreover, the complexity of working with fragmentation is immeasureable.

Contrary to android development, it is super easy to implement the tableview(an alternative to recycler view in Ios) in iOS development.

Kotlin or Java, which language to choose

As a beginner to development, one might wonder which language to choose for the android development. Both the languages mentioned above have pros and cons,therefore, for the novice,its difficult to choose the language. However, android annouced Kotlin as their official language, however, most of the developers still using Jave and most of the libraries are being written in the Java. Further, android jetpack, which is the latest and intuitive way to make UI only supports Kotlin. Consequently, if you are a java developer, new features wont be available to you.

Contrary to this , apple was using objective C as their primary language, however, they completely shifted to Swift.

Swift is far more easier and developer friendly as compare to Kotlin.

So many devices to design a UI for, ughhh

Almost every mobile phone company uses android as their operating system, resultant , tens of different phone designs, different screen sizes. Designing the front end becomes difficult because of numerous screen sizes. Now they have folding phones, as well as the flip ones. Resultant, you need to put extra effort to make responsive view.

Contradictory to android, apple only has few screen sizes and they resembles to one other, making it easier for the developer to design.Moreover, similar to android apple also supports numerous different way to design a front end of an application:

  1. Storyboards(Drag and drop).
  2. Desiging through the swift langauge.
  3. SwiftUI.

Crowded market of android developers

The software developer market is flooded with the android developers, especially in the asian region. Almost 90 percent of the students of computer science make their final project in android , thus they pursue the career as an android developer. One good reason for the immense popularity of android development that one doesn't need to buy expensive apple products. Due to this reason, the demand of android developer is lesser compares to iOS developer(iOS developers comparivietly earn more).

Takeaway for the beginners

Although iOS development does have pros and cons,but I found it relatively much rewardful than any other development. Contrary,if you are new to development or programming and cannot afford mac and Iphone and apple development program, start learning and developing android applications. It will sharpen your development and programming skills,moreover, migration to iOS development becomes easier if you know one or two developments.

--

--