views:

469

answers:

4

Hi there,

I am going to develop on Symbian (S60), and I know there are some ways to develop on this platfrom: Symbian C++, Java ME, Qt,OVI etc.

I need an overall brief guide on all the ways and I have a few questions:

  1. What's the difference between Symbian C++ and Jave ME when developing?

  2. If Java ME can run on Symbian ,why we need Symbian C++?

  3. Is there any other way to develop on Symbian? What about Qt and Ovi?

  4. What way you will choose if you are going to develop on Symbian?

I know this question might be somewhat subjective but I really need your help~

Thank you

+3  A: 

Regarding the non-subjective questions:

  1. Symbian C++ is of course much more difficult than J2ME development. There are now nice tools for Symbian C++, still I believe IDE support for J2ME is better. With Symbian you need not only now C++, but also climb a steep learning curve of Symbian's idioms.

  2. Java ME is a limited version of Java and has a lot of restrictions. There are no backgrounds apps for example and access to the resources of the phone is limited. It is also slower than native Symbian applications. What you'll use depends on the requirements of your applications. If speed and full access to system resources aren't top priority, you could go with J2ME. This will also have the benefit that you could easily port your application to run on other phones as well. Be warned that access to restricted APIs, both with J2ME and Symbian, requires signing of the application (i.e. buying a certificate).

kgiannakakis
+2  A: 

Native development for Symbian in C++ (so called Symbian C++) is really awkward. Nokia understand that and work on providing Qt framework as the primary application development layer and some results are already published with the latest Qt 4.6. Even if it is yet incomplete you should start with looking at that. Still you can download the traditional Symbian SDK and look at that as well. You will find more information about it on the Nokia site and forums.

jszpilewski
+6  A: 

The best way of developing on Symbian OS depends on what you already know, your budget and what you want to accomplish.

What's the difference between Symbian C++ and Java ME when developing?

Well, you wouldn't use the same tools, it's not the same runtime, it's not the same language.

Typically, one would use C++ when trying to do something that JavaME cannot do (telephony...) or when the JVM footprint creates a performance problem (startup time...).

JavaME is particularly useful when you plan on porting what you develop to non-Symbian phones (Although JavaME quickly becomes a nightmare when supporting multiple platforms). It is also a good entry point into the mobile industry for the many developers who were only ever trained to develop in Java.

If Java ME can run on Symbian ,why we need Symbian C++?

See above: Although modern JVMs execute bytecode at a rate pretty close to compiled C++, the JVM itself has a considerable footprint and J2ME simply lacks a range of APIs that are accessible in Symbian OS C++

Is there any other way to develop on Symbian? What about Qt and Ovi?

Python is popular, There is a Ruby runtime, you can use the Web Runtime... You can pretty much create your own runtime if you feel like it. Qt is the next big thing because it is close to the hardware, available on other platforms and Nokia is commited to expand its API coverage.

OVI isn't a development environment. It is the Nokia application store where you can upload developed applications (written in Qt, C++, Java, JavaScript...) so Nokia handset users can download them on their phones.

What way you will choose if you are going to develop on Symbian?

We're now back to "it depends".

If you're looking for good guides, I suggest looking at the Symbian Press books, particularly the Java, Python and Quick Recipes books.

QuickRecipesOnSymbianOS
Thank you very much~
Mickey Shine
Don't forget Flash as well - for some sorts of applications (graphics heavy, little integration with on-device services/data) it's quicker and easier than Java. It's deployed on pretty much every Symbian handset, although you do have to go through some hoops with install formats
Malcolm Box
Indeed. forgot flash. bad me. I believe you can even run flash apps stand alone on Symbian phones. No need to launch the web browser.
QuickRecipesOnSymbianOS
A: 

Thank you guys...

Guy Freeman