Java vs Native
>> reasonable argument against doing any native Symbian development at all
Most people I talk to who have used JavaME in anger have come to the conclusion that it's a bit of a toy language with so many bugs in the native interfaces that it has probably wasted millions of man hours of development time with projects starting in JavaME and then being re-written in C++ because the limitations/bugs could not be worked around.
I found 4 crippling memory leaks which would mean an application running in the background could not last for more than a few hours.
The HTTP support is atrocious with no timeout, no ability to cancel a request. And even simple things like fetching IMEI/IMSI or battery charge state are "banned" for 3rd parties. The official line is that you should write a C++ deamon which talks over a local socket to the java code but this is unproven and buggy :
- doesn't work in flight mode on some devices
- Packaging a JAR and a SIS file together is really messy since you may need both symbian singed and java certificates.
- Who knows if symbian signed would pass the above.
If a large % of developers are doing the above just to get the IMSI, creating really unstable apps along the way,then it doesn't make sense to close it off.
The big hope with the new java code is that it should be updatable OTA which means that if nokia are responsive, there might be a chance that commercial/enterprise grade sw will be feasible on java mobile. That is as long as the operators keep away from the security model