Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

For the last 4 weeks, I have been trying to get into mobile development. Done a couple of tutorials, read some books, developed a couple of dummy Android apps.

The thing is my computer is a 5 years old laptop, it is slow and time has come to replace it and I’m looking at different offers online.

Have you got any recommendations? Is there any must-have that should make my developer life easier in the future? Is there anything specific that may be useful at a more advanced stage of development that I just can’t think of right now on the hardware side?

(I mean apart from good proc, lots of RAM, many USB ports...)

One thing I can think of is to have three OS on the same workstation: Windows, Unix and MacOS (so far I focused on android/java/eclipse but am interested in Iphone/objC/xcode as well) but that’s more on the software side.

Anyway, would be grateful for any recommendations.

Thanks in advance!

Mikael

PS: I’m quite free on the budget side of things PPS: I'm aware it's not really a programming question but will still be of interest to some programmers here.

share|improve this question
3  
I voted to move this question to programmers.stack... –  kubi Mar 9 '11 at 14:25
add comment

migrated from stackoverflow.com Mar 9 '11 at 14:58

This question came from our site for professional and enthusiast programmers.

2 Answers

up vote 3 down vote accepted

If you're looking to develop to many different platforms, including iOS, then there's actually no other choice then getting a semi-decent Mac. Running OS X on anything other than Apple hardware can be a chore, and you really need it to code for iOS devices. Plus, installing Windows and Linux on a Mac is easy enough, and you'll only really need Windows if you're going to code for one of Microsoft's mobile OSes.

For Android, any platform will do, so no restraints there.

As for the hardware, plenty of RAM is always nice (especially when coding for Android, due to the emulator and Eclipse), but other than that, you should be fine. I've coded for Android on a Core 2 Duo with no issues and my Core 2 Duo MacBook Pro handles the job OK (for iOS emulation especially so, since it's all native code).

Any i5 processor these days should do the trick.

share|improve this answer
    
The downside of MBP is that they have terribly slow disks. And you have no choice of 7200RPM ones. You can however choose SSD, if you happen to have too much cash... –  vartec Mar 9 '11 at 15:16
    
Yes, there is that issue, but it shouldn't impact too much for mobile development. I mean, it may take a tiny bit longer to compile (and launch the Android emulator, maybe), but that's about it. –  Neves Mar 9 '11 at 17:46
1  
Thanks! regarding the SSD, this users seems to think it makes a significant difference for development. kthoms.wordpress.com/2010/02/20/… –  MikaelW Mar 9 '11 at 22:01
    
Nice link, maybe it does some difference after all. :) –  Neves Mar 10 '11 at 9:36
add comment

Forget about processor speed, RAM, etc. - all modern machines are more than good enough in this regard, if you don't skimp too much.

If you want to develop for iOS, you need OSX, and if you need OSX, anything other than a Mac is a huge pain (and also, I think, not really legal). And Mac hardware really is fantastic (except for the limited number of USB ports and limited choice - but the first isn't as big a problem as one might think, and of course there are hubs, and the second has no bearing on the quality of each machine on its own).

Now, it depends on how you plan to use your machine: Do you want to be mobile? Then, obviously, a Notebook is the way to go. How mobile? Do you travel a lot with the computer? Then weight is the second most important aspect (as well as battery life).

The single most important aspect, though, is the screen. Get as high a resolution as you can.

My recommendation for a mobile mobile developer would be a MacBook Air 13" with maxed out RAM and the hi-res screen (and probably not the smallest harddrive). If mobility isn't such a concern, I'd say a MacBook Pro 15" with hi-res screen. An SSD is expensive, but is the single item that gives you the greatest performance boost, if you are concerned about that (which you really don't need to be - my 15" MBP is almost three years old and still doesn't feel old or slow at all).

share|improve this answer
    
Thanks for your msg! yes, I will probably go for MBP+SSD + other OSs as VMs. –  MikaelW Mar 9 '11 at 22:03
    
For Windows, I've had great experience with Parallels as the VM, but I'm sure other solutions are also quite good. DO NOT USE A WINE-BASED SOLUTION, those aren't VMs. With a VM, you do need lots of RAM, I'd consider 4 GB the bare minimum. I've granted myself the luxury of 8 GB. Also, you'll need at least 120 GB of storage space (60 would be enough for OSX and apps alone, but a Win7 VM can easily grow to 30 GB, and the dev documentation for Xcode is 5+ GB), so don't go for the very smallest SSD if you don't plan on using an (unsupported; involves screwing inside laptop) SSD+HDD setup. –  fzwo Mar 9 '11 at 22:16
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.