# EPOC SDK Products and support

## Contents

- Overview
- Developer products

- C++
- Java
- OPL
- Connectivity

- Technical Services and Support

## Overview

EPOC supports an unparalleled range of software development options for wireless information devices. Development of applications for EPOC devices is supported in three languages: C++, Java, and Symbian’s Basic-like OPL language.

PC-based applications for data conversion, synchronisation and remote control of EPOC machines may be written in Windows C++ or Visual Basic.

Developers are supported through Symbian’s EPOC World website. All SDKs are available free to developers. For up to the minute information, visit http://www.epocworld.com/.

## Developer products

Section Contents

- C++
- Java
- OPL
- Connectivity

Symbian’s SDK product range is designed for both corporate developers and independent software vendors. SDK products for OEMs are also available.

The principal platform for all EPOC development is the Microsoft Windows-hosted EPOC Emulator. The Emulator uses the Win32 API to emulate the underlying hardware services required by EPOC devices. It implements all user-side EPOC APIs exactly as on an EPOC machine to provide a full emulation of a generic EPOC device.

As well as forming an essential component of all EPOC SDKs, it is freely available in standalone form from Symbian, providing a showcase for potential EPOC developers and users.

C++ software is built and debugged on the EPOC Emulator using Microsoft Visual C++, and then rebuilt for target machines using a customised GNU C++ Compiler implementation.

Java and OPL are interpreted languages. Programs may be developed and debugged under the Emulator, and then transferred to an EPOC target machine without rebuilding.

### C++

EPOC is written in C++. The C++ SDK provides access to all EPOC user-side APIs. EPOC is thoroughly object-oriented in its design, giving the compactness and re-use essential to produce efficient software for the device classes it targets.

The GNU C++ Compiler is required to compile for native platforms, and is supplied with the C++ SDK. Microsoft Visual C++ (not supplied) is required for PC-based development. EPOC Connect (not supplied) is used to transfer binaries to the EPOC target machine.

The full C++ SDK is available free to developers, refer to the EPOC World website for details.

### Java

Java is an industry-standard language supporting application and applet development on a very wide variety of machines. The EPOC SDK for Java provides a Java Compatible VM and library for the EPOC platform, and supports implementation of Java applications and applets written using any standard Java development system. The EPOC Emulator is included, together with tools and utilities shared with other EPOC SDKs.

Native method development is also supported — note that this requires the EPOC C++ SDK.

The EPOC SDK for Java is available free to developers, refer to the EPOC World website for details.

### OPL

OPL is a Basic-like rapid application development language, with historical roots in the Organiser II and Series 3 handheld computers from Psion PLC, available since the mid 1980s. OPL may be programmed directly on many EPOC devices. For convenience, the OPL SDK supports PC-based development using the EPOC Emulator and tools and utilities shared with other EPOC SDKs.

OPL provides access to EPOC’s most commonly-used APIs. Other APIs may be accessed using OPL extensions (known as OPXs) written in C++. OPXs may also be used to implement optimised library functions for OPL programs. OPX development requires an EPOC C++ SDK.

The OPL SDK is available free to developers, refer to the EPOC World website for details.

### Connectivity

Exchange and synchronisation of data between other machines and EPOC machines is vital for practical use of wireless information devices. The EPOC Connectivity SDK supports conversion and synchronisation of EPOC data formats with a range of PC applications. Additionally, it supports remote control of EPOC devices from a PC. PC-based applications may be developed in either Windows C++, or Visual Basic. Together with the other EPOC SDKs, this provides an exceptionally flexible basis for rapid development of corporate connectivity applications.

The Connectivity SDK is available free to developers, refer to the EPOC World website for details.

## Technical Services and Support

Symbian offers a range of technical and support services to developers.

Developer support is managed through Symbian’s EPOC World website. Free membership allows developers full access to SDKs. Open public areas provide general information about EPOC and EPOC World services including training and other open developer events.

Professional EPOC World membership provides access to an extensive range of quality support services including support forums moderated by experienced Symbian developers, knowledge bases, example code, Beta test programs and technical papers, and regular SDK updates on CD.

Premium support services are available to companies requiring higher levels of support including multiple prepaid incidents and confidential services with guaranteed response times.

To register for any of the above services or to find out more information please go to the EPOC World Web site at http://www.epocworld.com/.