Building an Android App: Tools
This is the third article in a series on building mobile apps, specifically Android. You can read part one here and two here. You’ll notice that I changed the title of the series to reflect a change in tooling which I discuss below.
Today I’d like to briefly take a detour from the technical process of building an app and talk about the developer tools that are available to build mobile apps.
If you’ve been following the last several blog posts, you’ll know that I’ve been playing with the Xamarin tools, Xamarin Studio in particular. I really like Xamarin’s offering because I can utilize my C# skills and familiarity with the .Net framework to build both Android and iOS apps. I’m still in the trial period of Studio so when that ends I’ll have two choices. I can let it revert to the starter edition or I can pay for the Indie license.
The starter edition is fine but has some limitations such as compiled app size (no more that 32k) and no third party dependencies. If you’re writing a real world app to do work, I think you’ll hit that limit pretty fast.
The Indie edition removes those two restrictions. You do still have to use Xamarin Studio but in my experience with it, that’s not too bad. I believe some features of Studio are restricted to the business edition or higher. However, the Indie edition sells for $299 per platform per developer. So if you are a solo developer who wants to use Xamarin to build for both Android and iOS, you’ll have to purchase licenses for both platforms. They did tell me that they give a ten percent discount for both but it’s still $538. And if you would want Windows phone, I think that would be yet more cost. As much as I like Xamarin’s tools so far, I simply can’t shell out that kind of money at the drop of a hat.
An additional cost is that if you wish to build iOS apps, you’ll need a Mac to compile the app on. Xamarin honors Apple’s requirement that iOS apps be built on their OS (and I can understand) but if you don’t have a Mac or access to one, you’ll need to buy one.
I found Android studio referenced on Google’s developer documentation site. Android Studio is based upon IntelliJ IDEA. Of course, you’ll be writing Java code but honestly, there isn’t a huge leap between C# and Java. So that doesn’t bother me too much. The actual IDE interface does appear to be a bit more complex or offer more features, depending on how you look at it.
Eclipse with ADT
Google provides a version of Eclipse with Android Development Tools (ADT) built in. Eclipse is a well know and solid IDE that can be used for many different languages and platforms. So it’s no surprise to me that you can use it for Android development. The nice thing about this option is that if you are familiar with Eclipse, you’ll feel right at home with little transition.
What about iOS?
To my knowledge you have several options to build iOS apps. You can use the Apple provided Xcode or Xamarin or or JetBrain’s AppCode IDE. However, as far as I know, you’ll still need a Mac or access to one to build your apps using these tools.
My focus with this series will be on Android apps because of the lower barrier to start and learn.