Deciding between a career in Android Development and iOS Development is not always easy. To help you along your decision-making journey, this is the second article of a two-part series in which you’ll learn about the differences between the two fields of development. See the first installment delving into iOS here.
Now let’s get into the details of Android…
Android: The popular & affordable mobile OS
Android was introduced to the world a year later than iOS, in 2008. But this didn’t stop it from becoming the most popular mobile OS in the world. Android was built by Andy Rubin, Rich Miner, Nick Sears, and Chris White, and was later sold to Google for $50 million.
According to Stack Overflow’s 2019 Survey, Android is favored by 64.5% of developers in the world.
The Pros and Cons of working with Android
- Android is open-source and offers more customization than any other mobile platform as of now. This is something that’s beloved by developers and users alike.
- You do not need to spend a lot of money on expensive hardware to get started with Android development. You just need a laptop that works.
- The majority of the mobile market share in the world is owned by Android, so building apps for Android would make sense if you want to reach out to more users globally.
- The programming language, Kotlin has made Android development much easier than ever before! Google has made Kotlin an official language for Android development.
- If you want to build apps for smart cars, smart TVs, and smart wearables, Android would be the recommended path. I’d encourage reading up on Android Auto, Android TV and Android Wear from the official Google Developers page before you make your decision.
- While it is easy to upload Android apps on the Google Play Store, not many people are willing to buy your app on the Google Play Store. So if you want to make revenue as an entrepreneur from your app, Android may not be the best option.
- There are tons of Android devices with varying screen sizes, different operating systems and custom UIs by smartphone manufacturers. This is due to Android’s high customizability. This can result in different user experiences across different Android smartphones. And you may not have any control over this! This problem is commonly known as the Android fragmentation.
- It takes longer to build an Android app, since the amount of code required to achieve something in Android is relatively more when compared to iOS. Just developing a complex UI for Android takes 30% more time than doing the same for iOS.
- Android devices are more prone to getting hacked. This could mean that your app could also be hacked by those with malicious intentions. You’d need to take more security precautions if you’re building an Android app.
- Not every Android device gets operating system updates. This could leave you developing Android apps for outdated operating systems, which could mean some of your users miss out on the latest features provided by the latest Android OS by Google.
The “open-source” factor
Android is open-source, and it’s the #1 reason why developers love Android. You can just download the source code for Android, modify it and release your own customized Android OS! This isn’t possible with any of the Apple devices. Developers and users both love customizability.
One of the nice things about Android development is that there are a whole bunch of development environments (IDE’s) that you can use to build Android apps. Some of the popular ones are Eclipse, and NetBeans Android Studio. I’d recommend using Android Studio, since it is the official IDE by Google, built on top of IntelliJ’s IDEA.
Pre-2015, Java was the primary language used to write Android apps. Since the introduction of Kotlin, we’re seeing more and more developers move toward Kotlin. Keep in mind that Java is still largely used in legacy code in older projects that are owned by organisations.
Kotlin has a lot to offer in terms of ease-of-coding and features when compared to Java and we can only expect it outgrow Java in time.
Unlike iOS apps, Android apps can be built with pretty much any laptop which meets the requirements of the IDE that you’re using to write your apps.
But it’s important to note that Android uses a tool called Gradle to build your apps, and Gradle is faster on macOS and Linux. So I’d encourage getting a laptop with either of these operating systems.
Uploading apps on the Google Play Store…
Uploading your Android app to the Google Play Store requires you to get a Google Play Developer account, which requires you to pay a one-time fee of $25, after which you can upload as many apps as you’d like on the Google Play Store.
The Google Play Store has become more strict with their guidelines recently but it’s a lot more lenient with the app specifications than Apple’s App Store. So be sure to go through these guidelines if you’d want to upload apps on the Google Play Store.
Preparing for a Career in Android
To get hired as an Android developer, I’d recommend knowing both Java and Kotlin, since both of these are still sought after by most employers.
Of course, you still need to be good at implementing algorithms and data structures if you want to be an Android developer. Apart from training yourself in the core concepts of Android development, you also need to be able to implement algorithms and data structures in Java and Kotlin.
Choosing between iOS and Android can be quite a hard decision to make, given how both of them have their own advantages and disadvantages. See our article about iOS here. I hope this article series helped you to weigh the pros and cons of iOS and Android development bringing you closer to your decision.
Bapusaheb Patil is a Google Certified Associate Android Developer & IDF Certified UX Designer. He has spoken about Kotlin & Android at tech conferences, and has written many articles in top Android publications, while also being featured in AndroidWeekly. Apart from building Android apps, he also makes watchfaces for Android Wear.
To get trained for a career in Android development, take a look at OpenClassrooms’ Android Developer Program.