“Developers, Developers, Developers!” Which platform truly answers that call? (Android vs. iOS)
For the budding app developers in the crowd, the wide expanse of the Mobile world tends to swallow us up. Everyone seems to have a phone, and whether it’s an Android or Apple device, there are always strong proponents from either faction of the market vying for your work to appear on their device first. But though the user base is continually welcoming, how do Google and Apple actually accommodate developers like us?
There are several important ways by which host companies like Apple and Google support developers in their work. We’ll cover just three of the most significant factors.
- Financially (Revenue)
- API Design
Most articles that seek to compare the iOS and Android platforms tend to bank towards a business-centric audience, but for many solo developers, their app is a work of passion, blood, sweat, and tears. Whether they have an MBA or not is most often out of the question, and the help they need is going to change drastically based on the platform’s accommodations, not the amount of revenue they’re getting. We will instead judge on the account of the new developer looking to start making their dream app.
Both Apple’s (Apple Developer) and Android’s (Android Developers) Developer websites appear to be geared towards the service of the experienced developer (who is more likely to be familiar with the sources of information necessary), and not the budding developer seeking to start development on the platform. How easy this is can be measured by the effort required to get to the documentation necessary to begin development from the main page.
At first glance, both parties fail to accommodate. Android’s site is primed for existing developers, with a jumbotron advertising the Android 12 Developer Preview. The Developer Preview is only available for users invested in the Pixel series, more likely to be longtime Android users or developers who are already aware of the benefits a Pixel provides for developers. Certainly less likely to be first-time Android developers.
Apple’s choice of face is a jumbotron advertising the Best of 2020 awards. (Admittedly, Android is lacking in the developer community app promotion department.) For new app developers, the promotion of good examples could serve well to inspire, but upon closer inspection all the linked page consists of is a list of the winners without context.
It takes 8 screens worth of scrolling to get to any mention of iOS Documentation. For context, the whole page is 10 screens worth of scrolling (a screen’s worth being the height of your devices’ screen). Not looking good. However, if one were to click on the Develop text on the navigation bar, it would only be another click until you finally reach the Apple Developer Documentation Hub. Unfortunately it’s mostly a billboard for new tech and announcements, but I’ll count it this time. For this round: 8 scrolls and 2 clicks.
For Android, It’s only two screens worth of scrolling to get to something that looks like a Documentation Hub. That’s right, no clicks! They’ve beaten Apple at their own game, managing to prioritize existing developers through their announcements section(including Educators, which is a huge plus), yet still retaining information for their new developers front and center. Their score: 2 scrolls.
In regards to finances, we’ll be talking about how a platform supports or takes advantage of a developer in terms of revenue. This goes both ways, a platform can give, or a platform can take.
At first glance, Apple isn’t doing so well. They require $100 US dollars every year for your developer license to remain active, which provides you publishing access to the App Store. Even then your App must be manually reviewed. This can take a lot of time and complicates app launches significantly, as sometimes big changes must be made by the developer themselves, even after a long review process. On top of that, you have to buy an Apple device in the first place to be able to develop for the platform at all. That’s an absolutely exorbitant overhead fee requirement, as the cheapest Mac (The Mac Mini) is priced at $679 if you qualify for Student Discounts. Otherwise it’s $699, and you still need a monitor alongside other essential peripherals. Exceeding $700 USD in initial investment fees does not bode well for a small indie developer, so take that for what you will.
Android does a whole lot better in this regard. A $25 USD one-time fee is all you need to start the process of publishing your app on the Play Store. There’s really not much else to it. You could even start development on a potato. Seriously, Android Studio runs on Chrome OS.
This is where Apple really shines. Their marketing vocabulary has always been impeccable, and it shows in their API work. Their Design Guidance is compiled in the Human Interface Guidelines document, with much of the website reflecting that same clarity in both navigation and copywriting. Their SDK naming schemes are also really nice, as everything is named in a straightforward manner. The integration Apple is able to achieve comes down to the level of control they have over their own hardware, meaning that they as a company can stave of fragmentation at their own pace, something Google is either unable or unwilling to do en-masse.
Android is awful at this. Case in point, my own newbie experience: Android’s recommended application storage library is called Room. I was unable to find any proof of that in the Getting Started documentation at first glance. It took me a lot of #I/O19 developer talks to understand that Room was in fact the place to store app-specific data. Meanwhile, Apple’s equivalent storage library is literally called “Core Data”. Nomenclature-wise, Android’s approach is equivalent to shibboleth. However, Google’s focus on adopting Kotlin and Jetpack Compose is a great progression in trying to fundamentally evolve the entire ecosystem, and refresh the onboarding process on the way. If only we knew what “Jetpack” meant at first glance.
Now, there are no winners or losers in this battle for developer acceptance as this is just information for you to digest and make your own decisions with. If you own a Mac and iPhone already, might as well go iOS. If you run Android and everything else, go Android. Sometimes it just comes down to what resources you already have on hand. Whether the publishers and platform will accept you or not, it’ll almost always be acceptance, but the process that leads to that acceptance could always be improved. I hope this was valuable to any mobile developers looking to get their feet wet in the world of mobile platforms, and I hope this helped you narrow down the best choice for you.