IOS developers use Android phones

iOS vs. Android: What is the heart of app developers?

Mike Gerasymenko, Dean Cook

iOS and Android are the most frequently used operating systems for mobile devices and are fighting for the end user’s favor. For laypeople, developing an app for Android may seem similar to developing for iOS. However, the reality of developers is very different.

EnlargeDeveloping apps for iOS or Android: Both operating systems have their pitfalls, but also their advantages
© Fotolia / artinspiring

Each operating system has its own pitfalls, but also has advantages. The software developers Mike Gerasymenko and Dean Cook both work at Messenger Wire and discuss the challenges and opportunities in app development for Android and iOS operating systems.

1. What are the main differences in iOS and Android development?

Mike: There is a big difference in the development environments used. On Apple devices, we use IDEXcode to create applications. You also need an Apple developer account to develop and publish iOS apps. Only developers who are registered there are able to run apps on the device. In contrast to the Google Play Store, the App Store has stricter rules, which include, for example, manual checking for each version of the app. This complicates the release process on iOS as each developer also needs to consider the amount of time it takes Apple to review the app.

Dean: The operating systems are also different. The Android platform is more open, which is attracting more students, hackers, and hardcore programmers. This is also influenced by the price of the hardware as the Android phones are cheaper. In addition, the approval process of the Android app activation in the Play Store is a little faster, but a one-time registration fee of 25 US dollars has to be paid. Furthermore, the Play Store enables better control over staggered rollouts. For example, it is possible to create a beta program.

2. Which is more time consuming: iOS development or Android development?

Mike: No real trend towards one type of development can be seen here. The development time of a feature is largely determined by the skill of the developer and the level of detail in the feature specification. If you include the test time in the development time, it becomes clear that Android requires a lot more testing effort because there are many different end devices. Apple, on the other hand, focuses on only placing a few models on the market.

3. What are the challenges in iOS development and Android development?

Dean: With Android, the main challenges are that there is a multitude of different devices, which in turn have different characteristics or specifications. The test effort, for example to do justice to every hardware and screen size, is immensely high. Another point is that the community often wants quick solutions to a problem, which among other things can lead to bad programming practices or there is not much focus on correct execution.

Mike: The challenges arise from the properties of the device. In both iOS and Android development, most of the time we have to consider device limitations such as storage capacity, CPU performance, network throughput and screen size when developing the complicated solutions. In addition, there are some restrictions of the operating system, such as user rights, status of the background and foreground application, different font sizes and the option to start the application in split screen.

4. Does it make sense to build an iOS app first or an Android app first, or should you develop apps for both platforms at the same time?

Mike: This mainly depends on the target country in which the app is to appear. Android has a market share of over 80 percent, but is mostly found on older and cheaper devices. According to a recent study, Apple devices dominate in Northern Europe, North America and Australia. For a startup, it makes sense to start with a platform in order to prove the proof of concept and at the same time to keep the price low. Because developing on multiple platforms increases the workload. For Wire, it's important that the messenger support multiple platforms so that people can communicate no matter what device they are using. We call it the Sync Engine: The app is synchronized on all platforms so that the user can see, access and edit all content identically on all devices. The Android and iOS teams work closely together to achieve this. Other apps, like Ummo, were only designed for iOS.

5. Which programming languages ​​do you have to master for iOS development and Android development?

Mike: The current standard for iOS is Swift, a programming language developed by Apple. Before Swift existed, iOS apps were developed using Objective-C. We're just about to move away from Objective-C. But because our code base is very large, it is difficult to rewrite these lines of code in Swift. So we're creating the new features of the app in Swift and keeping the old ones in Objective-C. Fortunately, Apple has managed to ensure that both programming languages ​​work together smoothly.

Dean: The development of Android apps requires knowledge of the Java programming language. But knowledge of C ++ is also an advantage. Other Java virtual machine languages ​​are Scala or, more recently, Kotlin. Compared to Java, Kotlin has a clearer and simpler syntax and is already being used productively in widely used apps, such as Pinterest.

6. What are the downsides in iOS development and Android development?

Mike: Generally speaking, mobile devices present more migration challenges (updating one version to another without the locally stored data becoming inconsistent). Especially with Wire, where the history of a user is not stored in the cloud, but on the respective device. In addition, the development time on mobile devices is significantly longer than with web solutions, as there are longer feedback loops and less “trial and error”.

Another disadvantage is that testing on mobile platforms is generally difficult. All applications are heavily dependent on the platform SDK, which means that it is difficult to assume how your application will behave “in real life”. Most solutions are expensive or very time consuming.

7. Is app developer an attractive job?

Dean and Mike: App development is already a future trend for both men and women that will continue. The use of mobile applications and tablets have long since replaced conventional laptops and computers. Google Play alone currently offers 3.3 million apps, followed by around 2.2 million apps in the Apple App Store. Native apps offer enormous opportunities for companies to attract new target groups.

The job of app developer therefore has great future potential and more and more companies are desperately looking for professionals in this field. So if you are interested in the profession of app developer, you should be primarily interested in user behavior and stay on the ball with technical progress.

A big plus point: Of course, it also feels really good when friends and family start using the product that you helped to develop and give valuable feedback.