The best way to develop on Symbian

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

I need a complete quick guide in all ways, and I have a few questions:

  • What is the difference between Symbian C ++ and Jave ME in development?

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

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

  • How do you choose if you are going to develop on Symbian?

I know this question may be somewhat subjective, but I really need your help.

thanks

+7
java c ++ mobile symbian nokia
source share
4 answers

The best way to develop on Symbian OS depends on what you already know, your budget and what you want to achieve.

What is the difference between Symbian C ++ and Java ME in development?

Well, you will not use the same tools, this is not the same runtime, this is not the same language.

Generally, use C ++ when trying to accomplish what JavaME cannot do (telephony ...) or when the JVM trace creates a performance problem (startup time ...).

JavaME is especially useful when you plan to port what you are developing for phones other than Symbian (although JavaME is quickly becoming a nightmare across multiple platforms). It is also a good entry point into the mobile industry for many developers who have just ever learned Java development.

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

See above: Although modern JVMs run bytecode at a speed close to compiled C ++, the JVM itself has a significant footprint, and J2ME just lacks the set of APIs available 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 web runtime ... you can pretty much create your own runtime if you want to. Qt is the next big thing because it is close to the hardware available on other platforms, and Nokia intends to expand its reach of the API.

OVI is not a development environment. This is a Nokia application store where you can download developed applications (written in Qt, C ++, Java, JavaScript ...) so that users of Nokia phones can download them to their phones.

Which way would you choose if you are going to develop on Symbian?

Now we are back to "it depends."

If you are looking for good guides, I suggest looking at Symbian Press books, in particular Java, Python, and Quick Recipes.

+9
source share

Regarding non-subjective questions:

  • Symbian C ++, of course, is much more complicated than the development of J2ME. Now there are good tools for Symbian C ++, but I think that IDE support for J2ME is better. With Symbian, you need to not only C ++ now, but also climb a steep learning curve in the Symbian idioms.

  • Java ME is a limited version of Java and has many limitations. For example, there are no background applications, and access to phone resources is limited. It is also slower than native Symbian apps. What you will use depends on the requirements of your applications. If speed and full access to system resources are not a top priority, you can go with J2ME. It will also benefit that you can easily transfer the application to other phones. It should be borne in mind that in order to access limited APIs, both with J2ME and Symbian, signing the application is required (i.e. Purchasing a certificate).

+4
source share

The native development for Symbian in C ++ (the so-called Symbian C ++) is really inconvenient. Nokia understands this and is working to provide the Qt infrastructure as the main level of application development, and some results have already been published with the latest Qt 4.6. Even if it is not completed, you should start with this. However, you can download the traditional Symbian SDK and look at it. You will find more information on this on the Nokia website and forums.

+2
source share

My choice is J2ME because its a great Java family. Simpler forums, sites, etc. exist for Java related queries than c / C ++. Therefore, for support, for example, for questions, etc. java is better.

C / C ++ is better than java / j2me in terms of memory management. But nowadays, many mobile phones come with a very sophisticated garbage collector. Therefore, this will not be taken into account over time.

The j2me code is not only for symbian, it will work on sony ericsson, samsung, which supports CLDC, MIDP, etc.

So please prefer J2ME / Java

So, if you plan to use multiple phones, OS, then select java / J2ME

+1
source share

All Articles