Nowadays, mobile developers have numerous opportunities for developing various types of apps for various operating systems, whether they’re hybrid or native. Choosing your first operating system may be very confusing. That’s why in this episode, we decided to compare iOS and Android to make things clear and understand which operating system will be the most appropriate for you.
iOS Demographics vs Android Demographics 3
It’s the demographics that tells us a lot about iOS and Android users. Currently, Android has the largest global platform share. Nevertheless, this specific market share is from developing countries that have lower income areas. Comparatively, iOS users are generally younger people who have a higher level of education, more engagement and earn more money. As a result, they can afford to spend more money on apps.
As we’ve already mentioned, Android has their market share in developing nations such as Asia and Africa, while iOS applications are highly popular in developed countries like Europe, Australia, and North America.
How much time will it take to learn Swift/Java?
Before start developing Android or iOS applications, you need to take the first step which is called “Learning a programming language.” Which begs the question, what language is more difficult to learn? Of course, it depends on you and how well you understand basic Development principles.
Development time varies according to different complexities and standards of iOS and Android languages. Comparing iOS and Android, we can say that iOS is more mature operating system. No surprise there, this system has many rules and standards. Due to the strict rules, the App Store approval is quite difficult. The good thing is that this operating system has many cool tools, such as the newer programming language Swift. This makes learning process faster.
If you’re an Android developer, you need to take into account a huge amount of various aspects, as well as more than 5000 devices from different vendors running different operating systems and screen sizes. Imagine how much time a developer will need to take all of these into account. Besides, in Android outputs from the code are not really easy for understanding. That’s why a beginner will have to dive into the depths of the code to get an understanding how it actually works. The good thing is that for developers who specialize in the Java, will be quite an easy task to learn Swift. The thing is that these both languages are both object-oriented.
If you decided to become an iOS developer, bear in mind that you’ll be creating your apps in using Xcode Integrated Development Environment. Despite the fact that this IDE is capable of supporting of multiple programming languages, the most widespread and popular one is Swift. But why Swift? The answer is simple, this language was developed by Apple specifically for iOS and OS X. The main question is still the same — How easy is all this? Only you can answer this question. Remember that if you decided to code for iOS, you’ll definitely have to buy yourself a relatively powerful Mac as well as iPad/iPhone. There’s no need to tell you that it will cost a pretty penny.
The situation with Android is actually the same. You’ll also need an IDE that will probably be the Android Studio. That means you’ll be programming in Java and at the same time using the Android SDK. The interesting fact is that Swift and Java are not all that different. If you understood the structure of one language, it won’t take too much time on transitioning to the other. The thing is that their structure is really similar due to the fact that these both languages are both object-oriented.
It’s also impossible to say what’s better — Android Studio or Xcode. They both have their own advantages and disadvantages. On the one hand, we can say that iOS simulator is better than Android one in terms of debugging. Nevertheless, on the other hand, you can install Android Studio both on a Mac and on a PC.
Publishing your application
So you finished your application and now can’t wait to publish your app. And here come the disadvantages of iOS.
If you decided to publish your app in Google Play Store, you can easily upload your application for a one-off payment within a short period of time (it may take only a few hours). A completely different situation is with the App Store. In this case, every application goes through a strict approval process that is carried out not by a machine but real-life testers. The process of approval for iOS may take a couple of days or even a week. Also, it doesn’t even guarantee that your app will be approved. Another disadvantage of App Store is that instead of one-off 25$ in Google Play, in Apple Store you’ll need to pay 100$ per year.
One of the main reasons why people start learning a programming language is the benefits that they’ll get after the learning. Speaking about Android, we can undoubtedly say that there is a huge amount of devices with Android as the operating system. Correspondingly, Play Store has much more downloads rather than Apple Store. Nevertheless, the App Store revenue is higher. Why? The answer is simple, iOS users are likely to spend more money on apps.
If you decided to develop apps only for Android, you wouldn’t be able to make so much money. Your app needs to be cross-platform. That’ll not only generate your revenue but also enlarge your audience. At the same time, if you decide to make apps only for Apple Store, you’ll be still making a decent amount of money by developing an app exclusively for iOS.
We conducted a survey among the mobile developers to find out what they actually think about which operating system is more difficult. Here’s what they had to say.
Steven Summers, a digital analyst at Touchpat, shared with us his opinion about this question: “My experience has shown that Android development is more challenging. Why?
Time — Generally speaking, Android development takes longer due to the fact that there are so many hardware differences out there. iOS might provide a few options, but that can cut down on development time A LOT because you are not designing to multiple brands/kinds of phones.
Cost — Due to the above, Android development has a tendency to cost more. More bugs mean more development time, which means more development hours which means MORE MONEY.
Revenue — Android also does not provide the same revenue.
Apple App Store makes twice the money Google’s Play Store does, despite most of the world using Android
This trickles over to the development side of things as well. I work with an app development agency (Touchtap ) and we did a blog post about the cost of iOS and Android development a while back — Android Development More Expensive than iOS?
Native iOS development definitely has an advantage but some people have loyalties to Android or just prefer not to use Apple products for various reasons. We wrote a blog about that too (iOS vs. Android — Where is your loyalty? )
You simply have to understand that most users in the world are not developers. Heck, most of them aren’t even very tech savvy. iOS caters to them. It’s easy and it works. It’s what they’re used to.”
The same point has Hovik Melikyan, an iOS developer. Here’s what he thinks about it: “In my experience, Android is more difficult and as a consequence, you are less productive when developing apps for Android compared to iOS.
The main reason is the platform architecture based around the so called Activities. Typically your app consists of multiple Activities. Essentially each Activity is a mini-app (or process) that is managed by the system; it can be destroyed and then recovered at any time at the OS’s own discretion. On top of that, Activities don’t share memory and the only way they can pass data between each other is by serialization.
All that forces you to write a lot more code compared to iOS or pretty much any other sensible platform.
The irony is that the original idea behind Activities was to save memory and battery life on devices with limited resources, but the end result is that the code you write becomes so much more complex that it’s not obvious anymore whether the whole effort actually saves memory and preserves battery life.
On iOS, by contrast, you develop a monolithic application pretty much like on any other OS; you focus on the functionality of your app, you can be a lot more productive and the development process itself can be more enjoyable”.
Having compared these operating systems, we can see that both iOS and Android have their own advantages and disadvantages. Android is very good in terms of compatibility with any hardware, simple rules for membership, and approval of applications publishing, as well as affordability of publishing fees. iOS, in its turn, is convenient in terms of a few different screen sizes and resolutions of devices for which the apps are intended, significantly short time of development, and cost/revenue model.
As the saying goes “Tastes differ”. Choosing iOS or Android — it’s actually up to you, depending on your goals and availability of resources. And what do you think about it? Please, fill in the form bellow. We’re really interested in your opinion.
iOS or Android: That’s The Question was originally published in JetRuby on Medium, where people are continuing the conversation by highlighting and responding to this story.
This post first appeared on JetRuby Agency - Featured Technical Stories Based In Our Experience, please read the originial post: here