Both the S60 platform and the Series 40 platform are capable of running applications based on JavaTM MIDP. However, there is variation between and inside the platforms. Therefore, before starting to develop applications, the specification for each target device must be checked for detailed compliancy information. For example, if the target is to address a wide range of devices, it is good practice to begin development with the most constrained device available in the target group.
Major issues in porting applications across platforms include:
differences in user interface styles and the underlying APIs
differences in memory constraints
differences in implemented technologies
For more information on designing MIDlets for easy optimization, see Designing MIDP Applications for Optimization.
For more information on the different platforms, see Forum Nokia, Platforms. See also Porting on Forum Nokia.
For release information of the APIs supported in S60 and Nokia Series 40 platforms, see section Java API release information. For information on S60 and Nokia Series 40 devices, see section Devices.
The major sources of variation for devices based on the S60 platform are user interface, platform editions, feature packs, and lead software.
The S60 platform does not mandate a particular UI resolution, display orientation, or input method as part of its specification (although the UI style is part of the platform). Therefore, compatibility across S60 devices requires applications to be flexible and scalable.
The different editions of the S60 platforms are not automatically compatible. This means that checking the implementation details of each edition and device is necessary if the application is to support all S60 devices.
There are two main criteria that affect whether an application for one Series 40 platform device will run on another: screen resolution and Java API usage. Additional differences between Series 40 devices include memory issues, such as the size of heap memory, which are caused by changes in the platform capability between different editions. These differences also include color depth support as well as screen size variations, which affect application portability.
An application that uses Mobile Information Device Profile (MIDP) 1.0 and Nokia UI APIs should work on any Series 40 platform device that has the same screen resolution as that of the original target device. However, some incompatibilities may exist even between two Series 40 devices that have the same screen resolution. Therefore, it is always best to check the implementation details and known issues of each device.
Applications may require modifications to run well on Series 40 devices with screen resolutions that differ from the original target device’s resolution. In addition, if an application makes use of any of the technology extensions provided in a particular Series 40 platform edition or device, its compatibility will be limited to devices of the same edition or with the same technology extensions. Specific Series 40 devices may have unique capabilities, features, or issues. A good way of maximizing development investment is to design initially for the Series 40 platform, and then optimize the design for specific devices.
Adapting a Series 40 platform MIDP application to run on S60 platform devices should require little more than adapting the UI to the different screen size and key-input arrangement. However, checking the implementation details of each edition and device is necessary.
Note: Applications written for the S60 platform may not be adaptable to Series 40 devices, particularly if they take advantage of the additional memory or larger screen size employed on S60 devices.