Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Developing for iPhone or Android? (As a C# developer) [closed]

Tags:

android

iphone

I'd like to start developing for iPhone or Android in my spare time, as a chance to learn something new but also hoping make some extra income.

I'm not sure which is the best development for me to start developing on. I own an iPhone, but I don't have a Mac (which I would need to use the SDK), plus with the iPhone I believe there's an annual charge to develop for it.

As far as I understand Android, the SDK is free and can be used on Windows.

Professionally I develop using .net and C#, which sounds more similar to the Java based Android enviroment.

Another negative I perceive against iPhone is it has a much more crowded App Store, I would think apps get better exposure on Android?

like image 231
Peter Bridger Avatar asked May 20 '10 08:05

Peter Bridger


3 Answers

Both can be good/bad for various reasons.

iPhone - good

  • Great SDK & get to use Xcode which rocks
  • Well documented online (many tutorials)
  • Large deployed base of devices
  • Well established app store
  • Get to learn Objective (I find it a fun language)
  • Most people tend to upgrade their iPhone OS so you can get away with only developing for the latest and greatest

iPhone - bad

  • Crowded app store, very hard to break through (the "gold mine" is a myth)
  • App Store apps need to be approved by Apple, with some often rejected for dubious reasons
  • Have to buy a Mac (not necessarily a bad thing)
  • Have to learn Objective C (can be a hassle)
  • Have to pay $99/year to publish apps
  • Can only multitask on iPhone 4.0+. Hardware restrictions will mean many devices will not be able to use this however

Android - good

  • No restrictions on apps that you can develop/publish
  • Wide deployment of devices and growing - set to overtake iPhone soon
  • Can multitask on Android
  • Get to code in Java which is widely known
  • Some of the SDK tools integration with Eclipse is nice (although still needs a bit more work)
  • Only have to pay $25 to publish apps (one off fee)
  • Can develop on any platform (Mac/Windows/Linux)
  • Great Android devices coming out this year - platform could really take off.
  • Nice XML way of laying out views. While not as flash-looking as the iPhone Interface Builder, it is very powerful.
  • Get to work in Eclipse (which some people think rocks)

Android - bad

  • Have to support wide variety of screen sizes and devices
  • Many people still using old versions of Android OS (1.5) so you'll probably have to support those if you want to reach that market
  • SDK is not as polished as iPhone SDK
  • Android Market is not as popular as iPhone App Store - hit apps will not make as much $$$

All in all, starting with whichever is fine in my opinion, especially as now Android is gaining ground. Given your background I'd say you should go for Android.

like image 191
pheelicks Avatar answered Oct 28 '22 06:10

pheelicks


In my honest opinion - I see the recent changes in iPhone SDK a kick in the teeth. I'm an Adobe person and you would assume, an infinite number of developers begin building applications in CS5 would be great for you App Store? Apparently Apple do not agree.

However - if your looking for exposure, getting an App into the App Store will yield more results if you build a quality app. As the Android store hasn't got a footing yet (if they'll ever be one), all marketing is on your own head.

I recently defunct Apple as they force us developers to 'be them' and I don't agree with their ethos.


That said, having programmed for both, The Android is slightly tricker to get installed and took a very long time to sort itself out. Although the instructions are very good and the examples are well defined.

If you've got a mac, installing the iPhone SDK is a sinch and you ready to build apps. It does cost £50 for the developer connection and yes android is free. [Correction - this may cost a one of fee of $25]

If you are building an iPhone app thats heading for the wild, you will need the connection (this can take up to 3 weeks in my experience) so you can test it on your iPhone.

And you'll definitely need to purchase a Mac.

--

With Android, its java, and with the newest rendition, a very good API to work with. As an additional bonus its build upon Eclipse, so it'll take you seconds to understand whats going on.

--

As a final thought - being an Actionscript/JS developer, the transition to Java was a logical and simple step and (please don't shoot me if you don't agree) Objective C is a train wreck of two different language styles. I found it very very difficult.

but don't just take my word for it, definitely try them both, as I see Android emerging market just an ice berg right now, but Apples is established.

like image 41
Glycerine Avatar answered Oct 28 '22 06:10

Glycerine


Two disadvantages of iPhone/iPad apps ecosystem are:

  1. Apple test & accept apps before puts them into AppStore (this take time and acceptance depends on Apple current policy) -- Google seem not to care about that so much.
  2. AppStore it's the only official place for iPhone apps -- on Android you can install apps from unsafe source (i.e. website or email attachment) -- so you can provide and charge for app in various ways.
like image 44
Grzegorz Gierlik Avatar answered Oct 28 '22 05:10

Grzegorz Gierlik