views:

540

answers:

3

I already know the differences between Java Edititions (ME, SE, EE), the ME Configurations (CDC and CLDC), Profiles (like MIDP), and additional APIs specified by JSRs.

But I am totally clueless about the differeces of the several Wireless Toolkits.

For example, Mobile Tools for Eclipse explicitly supports these ones, and states that others exist, too:

  • Sun Wireless Toolkits
  • MOTODEV SDK for JavaME
  • Nokia SDK S40/S60
  • Sony Ericsson J2ME SDK
  • Sprint PCS Wireless Toolkit for Java
  • Siemens SMTK for Series 60
  • mpowerplayer
  • Microemulator

I want to develop a MIDP application that runs on as many devices as possible, and I am going to use Antenna for build automation. Anyway, I have to install one or more of the toolkits, but don't know which.

So there are these sub-questions:

  • What are the differences?
  • Is there any single one which is the best?
  • Or do I need to install several / all of them?
  • I have a Sony Ericsson Device for testing, does this nessecarily mean I need the Sony Erricson J2ME SDK?
+2  A: 

The device specific toolkits generally just contain debugging tools and emulators, transfer programs and custom libraries (ie, device specific audio libraries).

Generic midp code should be compatible with all devices, especially Sony Ericssons

I find it is usually audio code which facilitates a need for device SDKs. Nokia also used to use a special kind of canvas but this will only be applicable for really old phones.

EDIT: generally, install an SDK if you need it for something, otherwise use Sun WTK

Sam
Yeah, but there's actually a newer SDK from sun - Java ME SDK 3.0 (meant to replace the WTK).
Orr Matarasso
A: 

I find the Sony toolkit the easiest to use, mainly because it has standard size screens (ie 176x220 and 240x320) that are easily switched between on the emulator

If you are using Antenna to build you applications you should only need to install the WTK and a Blackberry SDK to get a complete set of builds, unless you are going to use device specific apis

kgutteridge
+1  A: 

Each toolkit provides the base CLDC/MIDP classes that are required. In some cases they will be specific to a device, e.g. if you choose the Nokia S60 3rd Edition FP1 toolkit (which I have used) it will use CLDC 1.1 and MIDP 2.0. In addition to this you will find that each vendor specific toolkit will come with added extras that will only be available on certain devices. Since you are looking to write for as many devices as possible you will not be using these extras and should therefore probably stick to the Sun WTK.

When building with Antenna you can specifiy which CLDC and MIDP versions you want to use if you use the Sun WTK too. If you use any other toolkit you might have problems with Antenna because it looks for very specific files (which are hard coded) so if you sepcify your WTK.home variable as Nokia S60 it won't find the files it needs so you will need to do some hacking (all of the class files for Nokia S60 are packaged in 1 jar file, unlike Sun WTK which has them all separated into the JSRs).

DaveJohnston
this is where J2ME polish comes in handy
Sam