My first Android app

Posted by on May 5, 2015 in Blog | No Comments

android-vs-ios

It was many years ago, 2007 or 2008, I don’t remember. I bought the first iPhone on a trip to Las Vegas.

First time I saw it, I was amazed: The big screen, the lack of physical keyboard, the smooth animations, the multi-touch screen… it was years ahead, it was the future. So I decided I was going to be an iPhone developer (There were no iPads and iOS had another name).

After being 7 or 8 years developing iOS apps, I decided to start developing Android apps. There were several reasons: Nowadays there are many Android phones that are more or less as good as the iPhone, and in some cases, even better. I wanted to try something new and different. I wanted to have a wider vision of the mobile software industry, and given the opportunity, I wanted to develop personally my own Android apps.

My first step is to choose the tool to create apps: there are 2 in the Android world, Eclipse and Android Studio. Eclipse is the older and more developed tool, while Android Studio is the new tool developed by Google, but it doesn’t have as many plugins as Eclipse. I decided to start with the new tool because Google is spending a lot of resources on it.

Secondly, I had to learn a lot about APIs, frameworks, and libraries, so I started looking for books, videos, resources, and blogs… I found a several-hour course in Youtube from my University (in Spanish), so I followed it. Then I decided to create a small quiz app (a game called Bible Master) using everything I learnt. I also used Google Documentation, which in my opinion is as good as Apple docs.

After a few weeks working in my spare time, following the course, asking questions in stackoverflow, asking my android developer friends (I have several of them who are very good), then I released my first (and only one) Android app: Bible Master

Advantages I see in the Android development world: There are more devices which means a bigger market, although according to several studies, most of their users don’t spend money on apps (remember, there are many different business models, another famous one is just using adverts). The way resources are managed, specially strings/texts, is in my opinion better than Apple Xcode. The tool Android Studio, although new, is a good tool and does many things like downloading APIs automatically. Java is an easy language that any programmer knows. Framework documentation is more or less as good as Apple. And something very important, when you upload an app, it’s released in a few hours, not weeks or many days as spent by Apple reviewing the app. I really like that point. I also like a tool called Gradle, which is a package or library manager, like Cocoapods in the iOS world.

Disadvantages: I only see one thing I dislike, which is the way user interfaces are created. They are called layouts and although in theory they can be created/modified using a graphical editor, in practice you always edit manually the XML files that represent those layouts. Actually I spent almost 95% of the time editing those files. And not only that, because there are thousands of Android models/devices with different screen sizes and proportions, it’s incredibly difficult to create a user interface that is adaptable or suitable to many different device models. In that point, Apple Storyboards and Autolayout, two tools used to create user interfaces for the iPhone, are better by far.

In conclusion, both platforms (iOS and Android) are great. Some things are better on the iOS (like tools) and others are better in Android (more open Ecosystem), but in the end, you are going to have fun with anyone :)

Leave a Reply