Being an iOS and Android app developer, mastering both OS
In our later post, we interviewed Fernando Rodríguez − an expert in application development. Now it’s him who addresses us directly to talk about his experience on taking the leap from developing apps only for iOS to becoming also an Android app developer.
By Fernando Rodríguez:
About a year ago, I was teaching a Big Nerd Ranch course on iOS development in Menlo Park for Facebook developers. I used to meet my friend Eduardo, who lives in Silicon Valley for dinner after the lessons. He had also begun as an iOS developer, but had recently crossed sides to the “dark side” and − at that time − was working mainly as an Android app developer.
In addition, Google I/O 2013 was taking place at the same time, so Eduardo was attending the I/O while I worked. That made it even worse, as I was forced to stand for hours his indoctrination on all the “cool and new things” that Google was developing when we met. It was slightly annoying, though not enough to shake the foundations of my “faith” in iOS.
We used to dine at an Australian restaurant called “Outback Steakhouse” that is right in front of Apple’s headquarters. It’s Steve Wozniak’s favourite restaurant and is teeming with Apple employees. I mean, it was probably the worst place on Earth for Eduardo to wear his brand new Google Glass! I had dinner with the constant fear that − at some point − the security guy would approach us to show us the way out.
I resisted for several days, but eventually I had to try…
The one I tried were clearly a prototype, but a prototype with tremendous potential nevertheless and I must add that the only truly new device that has been launched in recent years. And there was more to them: they were an unmatched nerdy thing that brought out a special sex appeal in some people, among whom I would include myself.
On my way back home, the idea of becoming an Android app developer began to crawl and creep into my mind. For years I’d had a Nexus 1, but it didn’t manage to win me over completely: it had a small space between its plastic cover and the screen’s glass that consistently caught a hair from my head when I answered the phone to later pull it out when I hanged up. But those glasses…
I was soon engaged in learning how to become an Android app developer and figuring out how Android Studio worked − I believe I’m one of the very few that can say it works smoothly − like there was no tomorrow.
Mastering both platforms is much easier than it may seem, since the concepts handled are often the same or very similar. The programming languages are not that different though, even taking into account Swift’s recent arrival.
Android has some surprises for those coming from iOS or from almost any other operating system. For example, the basic unit of interaction with the user is a process called an “Activity” rather than the app itself. These “Activities” are like iOS’ UIViewControllers and encapsulate some of the app’s features (like taking a picture, editing a document, sharing something, etc.). Well-designed Android apps get embedded into the system, becoming a set of “Activities”.
Another feature inherent to Android is the way in which information is shared between “Activities”. This is embodied in an object called “Intent”. The idea is good, but its implementation is somewhat cumbersome and often leads to having to proceed disproportionately. It reminds me of how objects distributed via CORBA communicate when I used to be a C++ developer.
It’s perfectly possible to be both an iOS and an Android app developer
The demand for cross-platform developers − especially for those who master these two platforms − is huge and continuously increasing in Spain and abroad. Facebook alone, after having trained all its employees both as Android and iOS developers, has opened a development centre in London to recruit in Europe (US immigration laws inhibit them from bringing in enough developers to Menlo Park).
If you are an Android or an iOS application developer, it’s vital to learn how to develop on the other big platform: you will learn a lot and will increase your market value to a great degree, as the amount of people who really dominate both platforms is scarce. As a professional, neglecting any of the two major platforms is no longer affordable − even if you don’t like one of them very much.
Agbo Training offers online and in-person courses on the basics of iOS and Android. Do you feel like learning something new?