Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Beginning Phone Applications Development

I've been developing applications for a long time now, but now I want to jump into Phone applications development. There are four main candidates:

  1. Nokia's Symbian
  2. Apple's iPhone
  3. Google's Android
  4. Microsoft Windows Mobile Phone

Can anyone suggest one, considering documentation, market, samples and availabilty of emulators, I'm not a millionaire so I can't buy it unless I know it would mean profits!

I don't have much preferences as for languages, but to stay within C# would be nice, however I've been thru Assembler for a long time, so it's hard to scare me :)

like image 824
David Conde Avatar asked Nov 28 '22 18:11

David Conde


2 Answers

There are many factors to consider such as where the biggest market is, and so on. But ignoring those factors and thinking just about technical and money issues, the clear answer is start with Android.

The Android SDK is totally free. The iPhone dev tools need a Mac, so if you're not a Mac user, you need to buy a Mac. If you're not a Mac user, then it's probably a safe bet that you don't already know Objective C, which you'll need for iPhone. You don't even need a phone, there is an emulator that works wonderfully. It's very rare that I've made something that works in the emulator but doesn't work or works differently on a real phone. So the emulator is quite excellent.

Android programming is Java, and is very similar to C#.

Android development is much more approachable and easy for development (for getting started at least) than Objective C and iPhone.

There are many online resources available, but the book "Hello, Android" is actually very good. It's dated, though, goes back to version 1.5 of the SDK and we're at 2.2 today, but the fundamentals for getting started are pretty much the same.

You may decide to go another way, but in a handful of hours you can be writing your first Hello World program on Android free of charge. Even if you decide to start on another platform, you can hardly go wrong by giving Android a shot first.

Another thing that's worth noting is that Android is way easier to sell and distribute your apps than iPhone, making it a better place to start. There is no app approval process with the Android marketplace, so you can have your app posted for sure without wondering whether the powers that be will approve your first app for sale or to give away.

It bears mentioning that if you go the Microsoft route, your C# experience will transfer almost completely, and you'll be amazed at how close the compact SDK is to writing plain Windows apps. (At least, it was in 2007, the last time I wrote a Microsoft phone app.) But forget I brought this up-- if you want to be a serious phone developer for consumers, I recommend you forget about Microsoft at least for now.

like image 81
Unoti Avatar answered Dec 10 '22 06:12

Unoti


If your plan is to create and market Paid apps, versus just free ones, don't forget to also consider and evaluate potential revenues and existing competition, instead of just your development cost of entry.

My local, and not necessarily statistically significant, sample shows a larger number of iPhone developers making more money than Android developers. The amount of money to be made, if you produce an app just near the top 10% of apps in many categories, may be well over enough to amortize the higher initial costs of a development system, certificates and testing with iOS devices.

However, for iPhone development, you may have to create a stand-out app, as many app niches in the App store are already filled with several dozens of apps. The absolute number of potential competing apps in the Android store is far lower in many areas. You will need to evaluate the competition in your area of expertise or interest.

like image 23
hotpaw2 Avatar answered Dec 10 '22 06:12

hotpaw2