FP2 devices released after S60 5th Edition. Earlier S60 3rd Edition FP2
devices do not support those attributes.
Developers can take benefit of other proprietary JAD attributes after
verifying that they are supported on the target device. For more informa-
tion and the full list of proprietary JAD attributes, please refer to Forum
Nokia and the online Java Developer Library. 8
3.4 Computing Capabilities of Java ME on Symbian OS
Unlike many feature phones, Java ME on Symbian OS provides Java
applications with an execution environment that has no fixed limit on
Java computing resources. Developers can focus on the main task of their
application rather than on managing resource utilization and working
around various computing constraints.
If you have ever ported an MIDP application from one feature phone to
another, you probably understand what we mean and still remember the
pain. If a certain JSR is not supported, you cannot target a certain device
using Java ME but constraints on computing resources are a different
story. They make you do things that are not necessary in order to get you
closer to your goal of the application's main use cases.
From a software engineering point of view, to build an application,
you need to create an abstraction of the problem domain as close as
possible to real life. Then you apply relations between the various entities
and lay down the execution path that enables each of the application's
use cases. But when you have computing constraints, you find yourself
resorting to workarounds and tricks to reduce resource utilization, such
as manipulating the JAR size, the RMS size, the number of threads, the
number of connections, and so on. On low-end devices, computing
constraints can be a real nuisance. Not so with Java ME on Symbian
OS. In general, Java ME on Symbian OS poses no limits on computing
3.4.1 Constraints on JAR Size
There is no predefined limit on the size of the MIDlet suite's JAR file.
Even an extremely large Java application (e.g., 700 KB) will be installed
successfully on a Symbian smartphone.
There are low-end phones and feature phones (not Symbian smart-
phones) which limit the JAR size to 120 KB. As a developer, you find
yourself checking every few builds to ensure you have not exceeded
the 120 KB limit. So you start resorting to various techniques that restrict
your application from growing in size. For example, each class has an
overhead, so developers may avoid defining Java interfaces or abstract
8 www.forum.nokia.com/document/JavaMEDevelopers Library