Programming IPhones/Android

Hey Guys,

I was think about adding an app to go along with my work in progress online company. I just found out Java can build Android app, but I also read that the apps could be written in Objective-C? And also HTML5/CSS3? I’m trying to get this down, I’m a complete noob in this field. I would like to make apps for the IPhone and Android…Don’t care for Windows Phone right now…

Thanks for the programming language direction help

Hi

Android is written in java with eclipse. Where as iPhone is written in objective-c. iPhone apps can ONLY be written in xcode on an apple mac. And there is no garbage collection in objective-c nor private methods. Android has both and can be written on any platform.

To test android apps, you can use the emulator, or plug your phone into your PC via the cable and set debugging on the phone to on, and off you go testing on the device. To test on an iPhone, you need an apple developer account and device security certificates. Which you need to pay apple to get. $99p/a for individual or $299 for a business. Android is $25 once off.

The iStore is bigger than androids, by something like 100,000 apps or so, last time I checked. And Android has double the iOS market share in the US alone.

Also, the iStore has a higher standard of apps compared to android, I think it is mainly due to apples policy. As it takes up 2 4 weeks for you app to get reviewed and accepted or rejected for no apparent reason. So if there is a bug or something you need to fix, it would take that long to fix it and push it to the store. Where as android is a few minutes and its live. So people tend to test thoroughly before submitting to iStore

Yes, you can write an app in HTML5/CSS3 and host it on a webserver, then both devices will run it.

Thanks man, that answered my questions. I do have one more, are you doing the Java/Objective-C route or the Web Server (HTML5/CSS3) route? To me, it seems the Web Server route would be best for web developers. Thanks.

I am currently doing the Java/Objective-C route. But my company builds on-deck apps, that make use of GPS, Camera, etc. So HTML5 option would not work for us.

Thanks Nightstalker. For IPhone development do you use a Mac? I did some research and it said you needed to use a Mac to build IPhone apps, and that is wasn’t legal to use a PC to do it…I want to develop for the IPhone, but don’t want to spend $10,000 for an iHype machine. Thanks

If you want to make both android and ios apps, look at phonegap or appcelerator titanium. There are loads other cross platform frameworks too (have a look at this google doc: https://spreadsheets0.google.com/ccc?hl=en&key=tZqwoiVT_UKDA-Y78HG-kiA&hl=en#gid=0).
If you follow the letter of the law for ios development then you need a mac, but I’m aware of people that have used osx in an vmware environment happily enough to run xcode and the ios sdk. Phonegap has an online build service in beta as well that will remove the need for a mac too: https://build.phonegap.com/

Yes, I use a mac. One of the most over priced piece of junk ever, but oh well.

The problem with phonegap, is that you still need to build it on a mac. And apps built with it, sometimes get rejected for no reason other than: “No other frameworks allowed”. So it is safer to build it how they want.

Why it can only be done on mac? Only apple will know. Guess they make more money that way. Same as creating a non-standard display port and charging R500 for an adaptor.

As wait until you use xcode. By far the worst IDE I have ever used. Intelli-sense does not work, completes the word without whatever it feels like, and you need a to press Alt + Esc to get a list of possible options. MacOSX is not TO bad though. It is just xcode that sucks and the price you pay for hardware and the non-standard stuff that need expensive converters and the fact that you can ONLY code on Osx.

Other thing to look at would be monotouch & monodroid. Write in C#, compile natively to both platforms. And yes, it is blessed by apple as it actually uses native calls without an intermediary layer.

Some others:
DragonFireSDK
AirplaySDK