What do you need to get for mobile development?

This post is more than 2 years old.

Nerudo asked me:

I am looking to start out in Mobile App dev. I was wondering what is your setup or what set-up would you advise I get. By setup I mean "test devices, and develeopment tools."

Here is my list - and I'd love to know what my readers would add/change/modify.

First, let's talk hardware. At minimum you will want a Mac. I can't believe I'm saying that, but, you really do need a Mac. Why? While you can develop for iOS on Windows (you can do so via Flash Builder and you can make use of PhoneGap Build), you really want a native Mac environment to cover your bases. If you can only have one computer, then make it a Mac. In my office, my primary machine is a Windows 7 box and I've got an older Mac I can use just for builds. Android development can be done in any OS, so your stuck with at least one Mac machine. (I say "stuck" but obviously, if you prefer Mac, this is a win for you.)

You mentioned test devices, which is a good thing. Both Android and iOS let you simulate running applications, and sometimes that's good enough to get started, but you will need a real device before you release your application. Actually, let me clarify that. Technically you do not need a real device. You can write your app, test your app on the simulator, and release, but you are taking the risk that your app will not work the same on a real piece of hardware.

So what devices? If you are just developing for one platform, then get a respective piece of hardware for that platform. For iOS, you're lucky in that your choices are relatively simple. Get an iPhone or an iPad, or both, depending on where your app is meant to run. There are multiple versions of the iPhone and iOS, but how much that is an issue - again - depends on what your doing. For Android, it's a bit more chaotic. You've got multiple versions of Android out there and multiple types of hardware capabilities. If you aren't running a game, than the performance issues shouldn't be as much of a big deal.

One thing I'll add here. Even if you are building an app for a phone device, you should at least take a look at how your app is rendered on a tablet. Folks will run your apps on their tablets.

But the critical point here is - you really, really, really want to test on a physical device, even if it's your own phone.

On the software side, you need Eclipse and related tools (free) for Android and XCode for iOS. You can use other editors, of course, and for Eclipse at least everything can be command line driven, making it easier for other IDEs to build stuff out. For iOS, I'm just not sure if you can skip XCode completely.

This is just a high level list (and it doesn't talk about the various charges you to get to pay to publish your applications), but hopefully it gives you a basic idea.

Raymond Camden's Picture

About Raymond Camden

Raymond is a developer advocate for HERE Technologies. He focuses on JavaScript, serverless and enterprise cat demos. If you like this article, please consider visiting my Amazon Wishlist or donating via PayPal to show your support. You can even buy me a coffee!

Lafayette, LA https://www.raymondcamden.com

Archived Comments

Comment 1 by Misty posted on 1/16/2012 at 11:11 PM

Well, I have only Windows 7 Ultimate and Any Guidence on Phonecap usage so the code to be build can be deployed on any Mobile Device will be nice..

Please guide Thanks

Comment 2 by Raymond Camden posted on 1/16/2012 at 11:13 PM

I do PhoneGap development all the time. Before answering though, have you followed their Getting Started guide? It walks you through the entire process.

Comment 3 by Misty posted on 1/16/2012 at 11:33 PM

No, I have not went to that stuff yet, Can you give a Link for this
Thanks

Comment 4 by dave posted on 1/17/2012 at 12:17 AM

Misty,

Google is your friend.. or is should be.
Pet peeve alert. Someone on a discussion expects you to go do a google and paste the link.
C'mon, search for the getting started link before asking. Just sayin'.

Comment 5 by Raymond Camden posted on 1/17/2012 at 12:18 AM

I hate to be a jerk about this, but did you go to the PhoneGap web site? The Getting Started guide is listed on the top level nav under Developers. It's also on the home page by "Learn." I want to help - but you really need to do a bit of checking yourself first.

Comment 6 by Misty posted on 1/17/2012 at 2:44 PM

Thanks @dave and @ray..

Comment 7 by Pete posted on 1/17/2012 at 5:49 PM

Misty, this should help:

http://lmgtfy.com/?q=phoneg...

Comment 8 by Pete posted on 1/17/2012 at 5:53 PM

Actually on a serious note though, have you ever thought about doing native Objective-C coding? Or the pros/cons between that and PhoneGap

I couldn't decide between PhoneGap and Objective-C, and decided that PhoneGap might be a bit limiting with the devices features, it was also a year ago so it was all still a bit new and scary for me.

But having seen all the awesome stuff you've done I sort of regret my decision.

It'll be a long while before I'm as good at Objective-C as I am at coding in HTML + JS.

Comment 9 by Raymond Camden posted on 1/17/2012 at 6:57 PM

I would certainly not say you should regret learning Objective-C. If you know both, you are going to be extremely valuable.

Comment 10 by Simon Romanski posted on 1/18/2012 at 1:00 AM

Pete, that lmgtfy.com (let me google that for you) link was awesomely appropriate. I've never seen that before... easy one to remember too. Made me chuckle...

Comment 11 by Phillip Senn posted on 1/19/2012 at 2:16 AM

It's a bit intimidating to publish an app in the Apple app store - I have yet to do it. We have the developer's license, and have found out that you can publish a BTB app so that it is only available to your customers.
Some people see it as a negative to where you have to get Apple's permission, but you can see it as a positive as well. They have high standards and aren't going to let just any application on their devices. So for $99 you have a quality control team.

I told my son four years ago when he entered college that what he'd be working on hadn't been invented yet. Guess what he's working on now? The iPad and XCode.

Comment 12 by Pete posted on 1/19/2012 at 3:00 AM

It is a pain getting something in the app store... but it is the most relieving feeling when it gets accepted.

Comment 13 by Henry Cox posted on 1/21/2012 at 7:21 AM

Hello,
Just wondering if anyone has tried running MAC Lion or Leopard on PC or VM? If so, can you link to resources.
Thanks
Henry