Where to start on mobile development?— The hardware

W

Throughout the twelve years, I’ve been on this never-ending path of mobile development, I have heard this (not so easy to answer) question more times I can keep track of. And the time has come for me to answer this in a more formal way that I can do it on a 5-minute chit-chat.

silhouette of road signage during golden hour

I’ve got your point… So… Where to start on Mobile Development?

I can’t tell you the perfect recipe for becoming the next mobile developer on one of the Big Five. But I can give you general tips that might make your “I want to learn something new and appealing” path easier. And as a starting point let’s talk about the hardware. Do I need a specific computer? Do I need to have a Mac? Do I need to have al sorts of test devices? Which one to chose?

Tools (Hardware requirements) or more simply “do I need to get a new computer or does this one will make the work?”

So, first of all, you’ve got to have a computer, which you probably do, if you want to know whether you can do it on a tablet/iPad or Smartphone, the answer is no, sadly computers are needed for coding in general. But the real question is, what kind of computer?

I have noticed two sides on this question, on one side we have the people who are optimistic enough to think any computer they have in hand is enough, and on the other, the ones who think they have to buy an “expensive-new-last-generation-almighty-computer” to be able to start this path. The answer goes straight into which Operative System you want to develop for, you may not even know what an Operative System is (for there more technical people reading this, yes I have been also asked this question), easy enough, do you want to start with iOS or Android?

If you said Android, then the answer is ‘YES’, it is highly likely that any computer you’ve bought in the past 3–5 years will be enough for learning, I won’t go technical on this but a fair amount of RAM approximately 4Gb and a 2.5GHz processor should do the job.

If you are willing to start with iOS (I know, Apple has some really appealing characteristics), you may find yourself disappointed by knowing you need a Mac. If you are thinking you can emulate a Mac on your PC, you are free to try, but I’d like to avoid you the pain and suggest you not to do it, it is guaranteed to be an annoying process and you’ll end up either giving up, buying a Mac, or asking someone close to lend you their Mac for your testing because your PC won’t cooperate.

And if you fell into the third type, “I want both, I’ve heard there are some languages that can work on both, and even in Windows Phone”, the answer is, yes, but you’ll still need a Mac for the iOS part.

Now that I’ve just said that you may be wondering, well if I don’t have a personal preference, and I already own a mac which one should I choose? Well that’s quite an answer itself and I’ll leave it for another part of this series.

black computer keyboard beside silver imac

If you wonder about my personal preference, I have been working on a Mac for a while now, and it makes the mobile development world much easier. A big advantage is you can have both Android and iOS on the same computer.

On the other side if you are a more technical person who’s claiming ‘you haven’t mentioned what about Linux!’ well, this article was intended for entire beginners, and usually I don’t expect them to worry about Linux, but basically even if there is a possibility you can emulate Mac more efficiently on it, Apple will make your life a bit hard.

Testing devices — smartphones, tablets, emulators, there’s a world of options out there. Which one?

Fortunately, this is not a big problem. Whenever you start your path on mobile development, you will have to set up a series of tools, which will themselves have an emulator on Android or a simulator on iOS.

Definition? I’ve always said Wikipedia has the answer to almost anything: “an emulator is hardware or software that enables one computer system (called the host) to behave like another computer system (called the guest)”.

And what about the definition of simulator? Again, let’s go search on Wikipedia:

mobile simulator is a software application for a personal computer which creates a virtual machine version of a mobile device, such as a mobile phone, iPhone, other smartphone, or calculator, on the computer. This may sometimes also be termed an emulator.

For the sake of this article I will use emulator as a unified term. So, in short, you can have an emulator in your computer, and there is no actual need of buying or using an actual device for the purpose of learning. I have to clarify that the Android emulator requires extra hardware specifications which can be found on their documentation:Run Apps on the Android Emulator | Android StudioBeginining with revision 27.0.2, the Android Emulator includes a feature called Quick Boot that launches the emulator…developer.android.com

Quoting: “The same system requirements for Android Studio, but your system must be running a 64-bit processor.

And on Windows/Linux, the accelerated emulator requires an Intel® processor with support for Intel® VT-x, Intel® EM64T (Intel® 64), and Execute Disable (XD) Bit functionality. On Linux, you can also use an AMD processor with support for AMD Virtualization™ (AMD-V™) and Supplemental Streaming SIMD Extensions 3 (SSSE3).”

Something you may have noticed is that in this case you also need a 64-bit processor, but I come back to what I said above, almost all new computers already have this. But I have sometimes come across some that don’t have it and it’s annoying not to have an emulator. It is also important to understand that emulators have their own downsides as some features can’t be tested on them, for example, you can’t plug in headphones to it. In the past Android emulator used to be a nightmare, it took hours to start, and most of the time you’d end up plugging in your own device because testing that was easier. Thankfully this annoyance has come to an end, and both iOS and Android emulators are reliable for learning.

angry face illustration

Ok got it… I chose the computer… I will later deal with the emulator… Anything else?

To deal with the basics you are all set up, I could come up with a list of other things, as mentioned above you could get physical devices, cables to connect or wireless accessories. That’s all you need for now.

If you have any questions I’ll be glad to help, please let me know in the comments. Clap on the story if you liked it and follow me if you want more like this.

About the author

Evana Puig

Add Comment

By Evana Puig

Evana Puig

Get in touch

Mobile Developer expert in Android and iOS, with 10 years of experience. Visit me at evanapuig.com. Author, and topic master at raywenderlich.com