views:

313

answers:

7

Hi,

I would like to learn mobile development, but I'm not sure which category would be the most cost effective one.

I know it's kind of a prophecy question, but anyhow, suggestions would be welcomed.

So, as i'm pretty familiar with C++ development , I though about learning QT.

I understand that using QT, I can develop once and then deploy to symbian,Mee-go, and of course to windows, linux and more. (does that mean I won't have to lean each OS internal calls, and just learn the QT library ? )

Learning development for android , mean I will have to learn Java, which is not my preferred way of action right now.

Another option is to learn Objective-C, but as it only apply to Iphone development, I think it's a pretty narrow zone for me.

I want to learn a library, which would be a wise decision career wise.

Any recommendations ?

A: 

I would say iphone. It is hot right now. I think Android will be future but iphone is present. Your familiarity with C/C++ will help a great deal on iphone development. you can only use objective-c when interfacing with the GUI/toolkit and write all your main logic in C

coderguy123
A: 

Currently, I think iPhone is the most popular option, but the development can change quickly. Choosing platform by the development environment should be considered secondary. It's all about the market.

I do have a strong belief in Android, as it has grown its popularity very quickly. It's free enough to be supported by any mobile manufacturer. There are already a great number of them, and still counting. iPhone OS can only be run on hardware from one single company, so they will probably have a hard time keeping up with Android.

That's my view. The market may even change before you have completed the development of your application.

Johan
A: 

If you use PhoneGap, you can develop in HTML and JS and create native applications for each platform. Any additional functionality can be added in the native language.

hemisphire
+1  A: 

Go with HTML5, js and a web backend and run on any data-enabled phone. Unless you need access to the phone or GPS or camera you don't need to be a phone app.

jmucchiello
+1  A: 

QT abstracts a lot of the underlying OS calls. There are QT wrappers for socket communication, threads, services, and whatnot.

The rest of the question is pretty subjective. You will have to decide for yourself if the future is in Symbian, Android, iPhone OS, or Windows Phone 7. You will also have to consider the development environment and expenses. For instance, iPhone development can only occur on a Mac and you will have to shell out $99 for a developer certificate to run code on a non-simulated phone or put your app on the app store. The Android SDK, on the other hand, is free and runs on Mac, Windows, and Linux -- but has a more fragmented market.

Most object-oriented languages have about the same learning curve when jumping from one to another. The languages themselves are usually pretty easy. Learning each language's native libraries is often the tough part.

BrianEnigma
A: 

Agree with jmucchiello that HTML5 Web apps are the way to go but I think websites can access some of the phone hardware features.

Google Search already accesses GPS location (on Android anyway). Google Voice web app for iPhone uses the phone microphone and speakers so simulates phone functionality.

Jeremy Simon
A: 

If you are looking for mobile web development, then HTML5 is definitely a good choice.

Now mobile apps development is another story. Mobile apps tend to be more user-friendly and they drive the revenues for mobile developers. For Mobile apps development, I would suggest looking at a cross-platform technologie such as ELIPS Studio which allows developing once in ActionScript3 / XML (popular amongst web developers) and for all the big 4 platforms including iPhone and Android, instead of learning and developing 4 times.

manu