views:

558

answers:

8

I have never programmed on a mac; i did program on a NeXT machine using objective-c tho. I want to learn to develop iphone apps what is the recommended optimal (read lowest cost versus best developer experience) hardware to buy from Apple for iphone development?

thank you in advance.

+3  A: 

All you need is something powerful enough to run XCode and the iPhone simulator without getting bogged down. Get yourself the new Mac mini with 2GB of memory and that should be more than enough - that's probably the cheapest way to do it.

Mitch Flax
We have three of these were I work to develop iPhone apps. They all work just fine, and for the most part don't have any speed issues. If you want to work with audio, you may want to get a computer with built-in sound (like a laptop)
Ed Marty
+8  A: 

From Craig Hockenberry:

Buy a Mac


There’s no two ways about it. If you’re going to develop iPhone applications, you’re going to do it on a Mac. The whole toolchain is Mac-only: you can’t do it in Visual Studio or Eclipse or anything else that runs on Windows.

Don’t think that this is some evil plan by Apple to make you use a Mac. It’s no more nefarious than Microsoft requiring Mac developers to purchase Visual Studio in order to develop Windows versions of our products.

Buying a Mac can be an expensive proposition: if you’re just getting started and on a shoestring budget, here’s some advice on doing it on the cheap:

  1. Buy a used machine. A lot of perfectly good hardware can be found on Ebay. New models of the Mac Book Pro were recently introduced, so many people are selling hardware after they upgrade. This older hardware is perfectly fine for doing iPhone development: the apps you’re going to develop are small and compact and don’t need a lot of processor power to build and test.
  2. Buy a Mac mini. Even though you’re buying new hardware, you’ll save money because you’re supplying your own display, keyboard and other peripherals. If you’re like me, you have plenty of this stuff lying around.

If you’re having a hard time justifying the hardware expenditure, remember that you can run Windows or any other x86 based OS on this machine.

The only thing to keep in mind as you’re buying hardware: make sure that the Mac has an Intel processor. The development tools won’t run on the older PowerPC processors.

As others have said, a powerful machine is of little benefit for iPhone development: compiling is fast enough on the slowest mini and you're not going to be writing huge programs for such constrained (compared to desktop) hardware; the simulator does not do processor emulation so it will always be way faster on whatever Intel Mac hardware than a real live iPhone, etc. So buy a more expensive Mac only if you have some other use for it that would justify the expense.

Pierre Lebeaupin
+1  A: 

Any modern Mac (i.e. Intel processor) is fine as long as it as enough memory installed. The iPhone dev tools are really not very demanding. A faster hard drive will give you a performance boost for disk-heavy actions like building your app, but lots of people get by perfectly well with relatively slow laptop drives.

Chuck
+3  A: 

You'll need an intel Mac. Any of them will be fine, but I'd suggest going with at least a Core 2 Duo with 2GB (preferably 4GB). I believe all Macs sold in the last couple of years have been Core 2 Duo anyway, and will all support at least 2GB - but it does pay to get one that will let you put 4GB in. Compile times don't tend to be large for iPhone projects - although if you have some complex dependencies or template heavy C++ code in there that may be different.

Beyond that it's just down to personal preference. Personally I recommend a big screen (I have a 30") or multiple monitors. XCode has a multi-window model and it can get cluttered if you're not disciplined.

I developed my first iPhone app (vconqr - there's the plug) on a Core Duo (not even Core 2) MacBook Pro with 2GB of RAM and didn't feel wanting.

Phil Nash
You can get the Core 2 Duo MacBook right now, brand new for $200. This is pretty much what @phil-nash did his development on. I have the same spec macbook, upgraded the RAM to 2GB and the HD to 320GB 7200RPM - very easy on the non-pro Macbooks (I'm referring to the black and white ones)
Redbeard 0x0A
$200? Really? Where?
floater81
A: 

Get a used mac mini. Until you make some money on your first iPhone app don't spend much on new mac machines. Instead use that money on buying books, training courses and a little bit perhaps on advertising. Also don't forget to spend a bit of money on ui design by a professional designer coz usually we coders are obsessed with code and performance but don't focus on design. A good design, nice color schemes can make a lot of difference

Once u make money u can buy the best hardware. Smart way of investing in times of recession ;-)

Raj
+1  A: 

A Mac mini with lots of memory should do fine. I used a white Core 2 Duo MacBook (2007) with upgraded RAM, and that was fine (although the screen was a bit cramped for Xcode). I now have one of the new aluminum MacBooks with an SSD, and it's a little better, but the old machine wasn't a problem either.

Your NeXTSTEP experience should serve you well—the modern Foundation framework is very, very similar to what you'll remember, and UIKit is designed similarly to AppKit, so you'll have a bit of a head start on training. A lot of books will spend tons of time on stuff like memory management that you already know, so if you're looking for a book make sure you flip through it a bit and check that it's not too basic for you.

If you have fond memories of your time with NeXTSTEP, you'll probably enjoy the iPhone quite a bit. :^)

Brent Royal-Gordon
+1  A: 

Any Intel Mac will be fine. The demands of running the development tools and simulator are just not that severe. I have a first-generation MacBook, which was a 1.83GHz Core Duo and 2GB of RAM and that is more than adequate for iPhone development.

A Mini would be fine, and will be the cheapest legit Mac you can buy with refurbs recently going for $419 from the Apple Store. One bit of warning though is that you'll really want to upgrade to at least 2GB of RAM, the Minis all ship with 1GB, and have about the worst RAM upgrade process I've ever seen. You need a putty knife to pry it open. Seriously.

The other alternative would be building your own Mac. I have a Hackintosh I built with an Intel Core 2 Quad Q9300, Gigabyte EP-45-DS3L motherboard, 640GB HD, 4GB RAM and nVidia GeForce 8600 for around $600 after a bunch of rebates. This is far more price/performance than Apple will ever sell you, and also allows you to have hardware combinations that you simply can't get from Apple's limited product line. Using one of the hacked OSX distributions, with a little bit of trouble I was able to get everything working with the exception that it sometimes won't shut down completely and I have to give it a hard power-off (although sleep works, and getting sleep to work is problematic for a lot of Hackintosh hardware combinations).

I still think that if you are planning to release apps commercially it is a good idea to have a real Mac on hand, but if you just want to get started or have a reasonably powerful machine without spending $2500 and still getting a year-old substandard GPU, Hacs are pretty cool. You may even find that your existing Windows PC has generic enough hardware that you can get OSX to run on it. This is the case with a lot of current-generation laptops.

+1  A: 

Be careful when buying used Macs on eBay.

1) If they have been opened the warrantee is probably voided. 2) They are EASY to break so don't buy one with ANYTHING wrong with it. 3) They are WAY overpriced on eBay so check with Apple first. Some people are actually trying to charge MORE than Apple charges for a new computer! Without any upgrades! 4) DO NOT BUY ONE PRE-UPGRADED! See #1 and you can do it cheaper yourself. 5) Don't buy Apple Care if you are just going to open your box, it will be voided and useless for repairs.

Hope that helps.