6
\$\begingroup\$

I've been developing non-mobile apps for linux; mainly stuff like interpreters, compilers, database engines and business apps.

I've been told that if I wanted to learn how to develop iPhone/iPad applications, I should buy a Mac since Apple has all it's development tools for iPhone/iPad on Mac.

Now, what about Android phones / tablets? Are the development tools better on Mac or PC?

I need to buy a new laptop, and I would like to factor in mobile development in my choice of PC or Mac.

\$\endgroup\$
10
\$\begingroup\$

For iPhone / iPad development, you are going to need a Mac. See Tetrad's comment for relevant "Can I use a Hackintosh" discussion.

For android development the development tool is the same, it is the Eclipse IDE, and it is available across all three primary OS choices.

You can find the relevant information about it here: http://developer.android.com/sdk/index.html

and you will find eclipse here: http://www.eclipse.org/

--

Personally, I haven't noticed any major operating differences using Eclipse between any of my systems (Linux Laptop, Windows Desktop, Mac Laptop) outside of menus being placed in a few different places on the Mac.

\$\endgroup\$
  • 1
    \$\begingroup\$ iPhone/iPad development requires Mac OSX for deployment/debugging. Android can be developed anywhere. \$\endgroup\$ – Nate Nov 17 '10 at 21:46
  • 1
    \$\begingroup\$ @Nate: Yeah, but the only question in there (outside of the title) was "Are the development tools better on Mac or Windows for Android" But I'll add something for mac. \$\endgroup\$ – Jesse Dorsey Nov 17 '10 at 23:03
  • \$\begingroup\$ android works best in what? \$\endgroup\$ – Vishnu Nov 18 '10 at 4:50
10
\$\begingroup\$

If you really want to have your options open, just buy a Mac. You could always bootcamp it into Windows if you really need to be on the PC side of things. That way you get a proper native iPhone dev environment, and a really good Android environment (since, like was already said, it's very Unix-like). And the option to switch over later if you really need to.

Of course this costs the most amount of money.

\$\endgroup\$
4
\$\begingroup\$

If you intend to create games, which is a fair assumption IMO given this website's main theme ;) , there are also multiplatform engines both for android and iphone, like unity3d, although you still need a Mac because Xcode is used in the compilation and code signing.

So, the easy way to develop in both plattforms is buying a mac, cause the Android SDK, and specially the Android NDK (Native Development Kit) fits an unix-like environment like Mac very well

\$\endgroup\$
3
\$\begingroup\$

While it's true that Apples SDK only support Macs for iphone-development, i know of atleast one alternative that works on Windows. Airplay SDK: http://www.airplaysdk.com/

It's a cross plattform SDK and that comes with it's own advantages and disadvantages.

\$\endgroup\$
1
\$\begingroup\$

Corona Sdk and Unity 3d both support iOS and Android. You still have to run on OSX for iOS development, but supposedly you don't need to re-write your code for each platform.

Corona runs on windows, so you can try it out now without spending a lot of money.

http://www.anscamobile.com/corona/

http://unity3d.com/

\$\endgroup\$
1
\$\begingroup\$

As an alternative to buying a mac, you could also consider http://www.macincloud.com/

Not tried myself, so I can't vouch for it, but the idea of renting a mac for developing iPhone apps seems reasonable.

I once had plans to develop mobile apps and bought a mac mini. Unfortunately, I haven't had time for that, and my mac mini is collecting dust. I don't want to upset apple-fans, but if you already have a Windows PC as your main machine, buying a mac solely for the purpose of developing apps is only worth it if you are committed to developing apps.

\$\endgroup\$
-1
\$\begingroup\$

I strongly urge you to check out Unity 3D. Buy a MacBook and an iPhone Unity license and you'll be happy.

\$\endgroup\$
-1
\$\begingroup\$

I recommend u cocos2dx, corona or marmalade.

In cocos2dx if you know c++ it is easy to learn, developing in c++ you can deploy it directly to ios with a MAC and to Android using ndk, you can also use Lua for scripts. http://www.cocos2d-x.org/ I use this.

Corona and Marmalade are also cross platforms too.

Marmalade I think it is difficult to learn, the configuration and all of that, because it also uses c++. http://www.madewithmarmalade.com/

And Corona I don't really know how easy or hard is to use, but it is cross platform too :) http://www.coronalabs.com/products/corona-sdk/

\$\endgroup\$
  • \$\begingroup\$ If you could edit this answer to include the reasoning behind using those platforms and probably links to them, this answer would be a lot better. \$\endgroup\$ – MichaelHouse Jul 31 '12 at 22:22
-3
\$\begingroup\$

Use Adobe Air. It's the best way to develop real multi-platform games!

\$\endgroup\$