To the untrained eye, all mobile application developers have the same job. It’s easy to fall into that error; a lot of developers clacking away at their keyboards, coding in colorful, fancy text editors and you understand none of it. They are all smart-looking people who enjoy geeky jokes and might as well be married to their computers. But dig deeper, and you’ll understand that there’s a world of a difference between developing mobile apps for iOS and Android. So, if you want to get some insight into the daily work-lives of developers on both of these platforms, keep on reading.
Perhaps the most obvious difference between the two is the platform they work on. Apple is not known to play nice with its competitors, so it comes as no surprise that if you want to develop a mobile application for an iOS device you’ll have to be locked in the Apple environment. While it is common knowledge developers are wizards and can overcome this obstacle and develop for iOS on whatever platform they want, let’s be serious, it is a lot more convenient to work from a Mac (in fact, all our iOS developers work from Macbooks). So next time you see a mobile developer working on a Mac, it is more likely they are creating something for iPhones or iPads.
Android, however, is a lot more lenient. If you have a capable machine (read: mid-level computer) you can begin your Android mobile app development career. Around our very own office, you can find Android developers on both Macbooks and Windows machines (we still have no one working on a Linux, sadly).
All in all, you want to have a Mac (and an iPhone), install Xcode (the most important piece of software for developing mobile applications for iOS), learn the Swift programming language, and then begin working.
The Android development tools are available on all platforms and while Google does provide its own software for developing Android apps, if you’re knowledgeable enough, you can work with whatever tools you prefer. Moreover, you can use Java (the “official” language of Android development), Kotlin, C/C++, or other (more hack-y) languages to build mobile applications on Android.
There is one magical word to developing mobile apps for iOS: Xcode. Xcode is THE software for making iOS applications. In fact, it is the best and only tool available; yes, only (if you exclude all the technically-possible solutions). It sounds like a bad thing, but you will not see many developers complaining due to just how reliable Xcode is.
Jump over to Android and, again, you’ll find a much more open answer. While Google does supply its Android Studio, it is far from the only practical tool to create Android apps. The freedom to develop from a very customized toolset can be very tempting for some.
Developing for iOS is mostly done in Swift, the Apple programming language tailor-made for iOS development. Objective C is also an option, specially for veterans who refused to budge from their favorite language. Again, nothing stands between a crafty developer and what they want to do, so you can work in whatever language you want. But if you’re serious about it, Swift and Objective C are your only real options.
Due to the nature of Android, you get a lot more options when it comes to your programming language of choice. Java is the “official” mobile application development language of Android and it helped move a great number of ex-enterprise programmers onto the Android train. Other options include Kotlin, C, C++, C#, or even the standard front-end stack (HTML, CSS, and JS) using the widely popular PhoneGap. While the abundance of options doesn’t indicate that they are all used equally, the freedom of choice is a big selling point in itself.
All in all, Android is a very open system, while iOS is a lot more closed. But it is not exactly a good thing. The openness comes at the cost of having to account for the many different phones carrying Android and their unique but incredibly subtle differences that can make or break your application. On the other hand, Apple’s closed system might restrict your freedom a little too much for your preferences. It’s all a game of choosing your mix of drawbacks and benefits.
“As an experienced developer, all development is development and I love all of it. However, when it comes to the environments, I personally find working with iOS more simple and easy. With Xcode you get easier and simpler UI construction and coding. But Android, with a lot of tweaking and customizing your work environment, comes close, especially with the latest updates Google has been pushing out. Another thing to add is, uploading apps to the iOS app store is exponentially more difficult than the Play store.”
If you’re looking to get into mobile app development and still can’t seem to make a decision, we’ll be writing a piece on which to get into first soon. However if you want us to develop that mobile app for you, you can reach us here.