views:

235

answers:

7

Hello,

I really would like to write an app or apps for iPhone / iPad. I've never done this so far because most of my work has been in windows environment. I recently got an i7 with windows 7 and love it, and this is what I am using to do development on currently. I would love to try out writing a simple App on a mac for either an iPhone or iPad.

The question I had was are there any developers using a macbook to do windows based programming as well as writing apps? And what is their setups like? (example: using bootcamp)

Most importantly, is it recommended based on the experience they had doing so? any problems / performance issue?

These are the concerns I have to address before justifying spending time and money on this.

Thanks, Voodoo

+5  A: 

I use VMWare Fusion on my Mac, and made a living as a .NET programmer for several years. As long as you have at least 4 GB of RAM, I never really had any performance problems, even running SQL Server and Visual Studio both in the virtual machine. Just for reference, my machine is a MacBook Pro 15", 2.93Ghz, dual core. That's more than enough to run OS X and Windows 7 at the same time.

I was not a fan of Boot Camp, because of the reboot requirement, but if that is not an issue for you... then running Windows under Boot Camp is completely indistinguishable from a normal Windows notebook.

I would get some sort of cooling pad to set the MacBook (or Pro) on, as the fan drivers do not run as efficiently under Windows, and it will get a little warm (but I have never had any hardware issues due to heat).

EDIT: One other thing I thought of... the one thing that running two OSes at the same time will fight over is your hard drive. Tip: don't play iTunes on the Mac while trying to run Visual Studio in VMWare... it really will be frustrating, especially when you know that the computer is capable of so much more. If you have the cash, a SSD will less this problem TREMENDOUSLY, and really is the best upgrade you can possibly do for your computer, once it has at least 4gb of RAM.

mmc
+ Thanks for the response. I would still like to hear from more people on this.
VoodooChild
+1 for at least 4gb memory. I have only 2gb and it can get frustrating!
Mongus Pong
VMware is great for development. BootCamp is great for playing games. :-)
Warren P
+1  A: 

I'd just like to add to mmc that if you do use bootcamp, realize you how many hours you spend with an IDE open and not coding, and how it kind of makes having OS X pointless. VMWare fusion is very good alternative.

Dave
+1 good point. Can you not hibernate your windows and logon to mac?
VoodooChild
I don't believe so. You could set up something like this though... http://www.xen.org/ I think you can run OS X and any windows at the same time. You just need a base linux OS
Dave
+1  A: 

I'm .NET developer, I have Macbook Pro 2.66 C2D. 4GB 1067 DRR3 Ram. I can say that mac is awesome workstation for programming/design, multiplatform because its pretty fast, you always have possibility to run several os via VMware Fusion or similar.

Just make sure you not assign too much ram for external os like windows, because then you'll feel some lag. I also like it because after all day working with windows @work, I can relax on osx, it's beautiful, works fast, nice-n-smooth :)

Also I do some Python, Java stuff, it's very good on osx, also you have possibility to develop for IPhone, IPad and etc, which is really nice and you can't do that on windows. Also mac looks/is nice, it's not heavy, the screen is really bright and colorful, comparing to other laptops, also battery is very strong (I can work approx. 5 - 6 hours without power cable).

Also you have pretty powerful tools like MonoDevelop with which you can develop C# right on your osx, linux or whatever. Also you can code with xcode in C#, but you will need external plugin installed.

Lukas Šalkauskas
+1 thanks for your input. Regaring using monodevelop and all other plugins....they can't be very good alternative to VS..
VoodooChild
They are pretty good :) I do stuff with them with no problems. But yeah using visual studio is a little bit easier, but you have change for that as well - run it on virtual machine :)
Lukas Šalkauskas
A: 

My friend is using bootcamp in his mac while progamming .net apps and he's thinking of buying a pc. He said it's kinda difficult as some keys are different specially when debugging. Maybe he's not just used to it but i think pc is still better when developing in .net.

hallie
you can just add an external keyboard if you don't like the one on the unit... that not a solid reason....Anyways, why do you think pc is still better? I mean what makes you think that? or is this a gut feeling?
VoodooChild
yep that's one workaround, but external keyboard is additional weight on the backpack. Well maybe its just me but i don't like to program on a computer running 2 OS at the same time. I mean, it still consume resources specially when the project is big.
hallie
A: 

Mono is available for OS X. I've heard it's pretty compatible. Haven't had the chance to test it on Linux yet. It's a project for later.

Here's a link to their Compatibility page: http://mono-project.com/Compatibility. There's some gaps, notably Silverlight, WPF, WF and WCF but it looks usable.

It all depends on how much you really need the missing / not fully supported features.

Home page: http://mono-project.com

Mike
A: 

I am a .net developer and program in f#,c# and other ms technologies as well as java and some other non ms technologies. VMWare Fusion is an excellent , you can get windows booted up in less than 30 seconds wheh you suspend. Also, you can treat you vm as a network node and test cross platform service calls/integration between different services running on different operating systems.

NoelAdy
+1  A: 

As much as I am a Mac maniac, I think it is always best to got with the hardware a dev tool was originally intended for. I think switching back and forth between operating systems with their different interface grammars and keys slows you down a lot. Then there is always some hiccup or kludge to work around. That is especially true if your already very comfortable and productive in one environment.

If your doing this for money it's just not worth it.

I told a young and broke acquaintance of mine that he would be better off getting a second minimum wage job for a couple of weeks to earn enough money to buy a Mac mini than he would be trying to boot Mac OS on generic Intel. It's possible but save for the fun of doing it, there is no way it is time and cost effective.

If you love the Windows environment why pay a lot of money for Apple hardware just to occasionally run the Apple dev tools for writing iPhone apps? It will degrade the utility of all your Windows software. Instead, scrape up enough for a MacMini or a second hand laptop (anything that will run 10.6 is good enough) and use that for iOS dev and then do everything else on your Windows box as the gods of computing intended.

TechZen
Thanks, that is a good advice. The main reason was not because of money. It was because I didn't want to haul two notebooks around :)
VoodooChild