DEV Community

Vijay Singh Khatri
Vijay Singh Khatri

Posted on • Edited on

Should I do Android or iOS?

Alt Text
So you want to become a mobile developer but unable to decide whether to choose Android or iOS? The truth is you are not the only one who has this dilemma. Many aspiring mobile developers have this problem. Even some experienced developers are also not an exception to this. The same is the case with some established freelancers too.

It is very important to note that selecting either Android or iOS depends on many factors. To begin with, primarily, it depends on your objective of why you want to become a mobile developer. It also depends on your current career level. The major important factors, which you need to consider are - your programming experience, the length of the learning curve, cost of learning, tools to use, ease of development, the operating system you have currently, the geographies you target, and the availability of documentation or training material, etc.

This article attempts to provide answers to all the above-mentioned factors. You will also get help on whether you can develop applications for both Android and iOS using any cross-platform solution.

Your programming experience

The major prerequisite to learn Android is having experience in Java programming. If you don’t have experience in Java programming, there is a possibility that you will feel it difficult to learn it. On the other hand, iOS is written in Swift, which is easier to learn. You can learn it even you don’t have any experience in programming.

Learning curve

The next question, which anybody wants to know before trying to learn a new technology or a course is – how long it takes to complete? The answer to this depends on the difficulty level of the chosen course and also the time you can spend to learn it. As mentioned earlier, when compared to Android, it’s a bit easier to learn iOS. So obviously the learning curve is less in iOS.

What makes the learning curve more in Android is - you need to lay more emphasis on compatibility and testing. The reason for this is – Android has multiple operating system versions, densities, and screen sizes. Android is so huge with several devices from different vendors. All these make the learning curve more on Android.

Cost of learning

When it comes to the cost of learning, it is more in the case of iOS compared to Android. The reason is - you need to subscribe to Apple to publish your apps to the App Store. The cost of an individual developer program in iOS is 100 USD. However, Google Play store requires you to pay a onetime fee of just 25USD as registration fee. Once paid, you can publish as many apps as you wish.

Ease of development

For iOS development, you can use the Xcode IDE, which is pretty easier to use. Using Xcode, you can develop applications for all Apple products including iPhone, iPad, Mac OSX, and iWatch. Xcode IDE consists of rich features such as UI design interface, code completion, managing directories’ hierarchy, profiling, debugging, core data, and assets management among others.

You can develop Android applications using the Android Studio, which also has rich features. However, on the ease of use scale, Android scores less compared to Xcode IDE.

One more important thing, which you need to know is - during developing an iOS-based app, you can design the screens using the drag and drop interface. You don’t need to write any code for this purpose. However, Android doesn’t have this ease of use and unless you have a stronghold in XML, you can’t develop screens with optimal design.

Device you use

The decision, which course to learn also depends on the device you have
or use. If you own an iOS phone, it will be advantageous for you to learn iOS, because you can use your own phone only for testing purpose. Suppose, you own an Android phone but you want to learn iOS, then it would be a costly affair. The reason being you need to shell out a good amount of money to buy an iPhone for testing purpose. On the other hand, Android phones are much cheaper compared to the iPhone.

Availability of documentation

For a learner, learning would become easier if enough authentic documentation or training material is available. Both Android and iOS provide the learners with excellent documentation.

Geographies you target

Another important factor, which you need consider is geographies. If you are targeting any specific country such as the USA, UK, or any other developed country for app development, then it is better to learn iOS. This is because - in the USA, UK, Japan, China, New Zealand or any other developed country, the usage of iOS is much more than that of Android. Android has a great presence in emerging countries. However, on the whole, Android has great penetration across the world.

So far, we have seen the differences between iOS and Android. Suppose, you don’t want to learn both Android and iOS but want to know if there is any cross-platform solution using which you can develop apps for both iOS and Android platforms. Yes. It is possible with tools such as React Native, Flutter, or Xamarin.

Here is a description of these.

React Native

React Native is a framework from Facebook, which you can use for developing apps for both iOS and Android. With the same code, you can develop native apps for both iOS and Android. If you know Javascript, it would be still easier, because Javascript is used for developing React Native applications.

Flutter

Flutter is one of the best frameworks for cross-platform development. The major advantage of Flutter is - it is open-source mobile application development framework created developed by Google.

Xamarin

Xamarin is another popular tool used as a cross-platform solution. Using Xamarin, you can develop not only Android and iOS apps but UWP, WPF, macOS also.

To conclude

When it comes to choosing between Android and iOS for learning the purpose, it is not easier to make a decision instantly because both are equally popular technologies. What is wise is - you need to meticulously delve on multiple factors before jumping into a decision. Thorough pondering on the above-mentioned factors will prevent you from repent later in your life. You can join the best mobile app development company to learn more and more about it and can share your knowledge with anyone.

Top comments (6)

Collapse
 
strzibny profile image
Josef Strzibny

If you are targeting any specific country such as the USA, UK, or any other developed country for app development, then it is better to learn iOS. This is because - in the USA, UK, Japan, China, New Zealand or any other developed country, the usage of iOS is much more than that of Android.

Do you have any statistics to support this claim? Does not sound right to me. Even if revenue is higher per similar app, the number of devices is hardly bigger. Then it really depends on what are you developing? Do you want to target the most people in general? Then it would be Andoid practically everywhere.

Collapse
 
vijaykhatri96 profile image
Vijay Singh Khatri

Hi,

There is no specific data, but as per the google trends you can find that Here are the complete statistics when it is about the reading: trends.google.com/trends/explore?d...

Collapse
 
strzibny profile image
Josef Strzibny

Actually, there are many statistics about this and you should do a bit better job in your research. "or any other developed country" claim completely fails, because you are most likely right only about the countries you explicitly mentioned (and I doubt China). Most of Europe is on Android for sure :).

Collapse
 
shawonashraf profile image
Shawon Ashraf • Edited

Cost of learning

You forgot to mention the upfront cost of owning a Mac. You don't need a paid developer account until you decide to publish your own apps to the app store, the free one will let you sideload 3 apps every week via Xcode.

Using Xamarin, you can develop not only Android and iOS apps but UWP, WPF, macOS also.

Xamarin, UWP and WPF are completely different frameworks. Maybe you meant C# since these 3 are based on the language?

Flutter is - it is open-source software

It's a framework :)

However, on the ease of use scale, Android scores less compared to Xcode IDE.

Xcode is miles behind Android Studio's (which is basically an Intellij IDEA fork) capabilities. Ask any experienced iOS dev and they'll give you a whole bucket list of Xcode's shortcomings.

As mentioned earlier, when compared to Android, it’s a bit easier to learn iOS. So obviously the learning curve is less in iOS.

This is purely subjective. Both can be a serious headache at times.

What makes the learning curve more in Android is - you need to lay more emphasis on compatibility and testing.

You've to write tests and check for device and version compatibilities on every platform. There's no exception to this rule.

Collapse
 
vijaykhatri96 profile image
Vijay Singh Khatri

Thanks for your feedback, You have read my complete article, most of them are a debatable topic, but I have corrected a few of them which I thought are correct or need to be updated.

Collapse
 
vijaykhatri96 profile image
Vijay Singh Khatri

I also agree with your point but, If a user started with or beginner then I can't give him a suggestion about that through he or she needs to start with the Kotlin, Here you can also read the difference between Java vs Kotlin.