Symbian Developer Network

Documentation and Code

Multi-Language Programming

There are several runtime environments with different programming languages available on Symbian OS. Symbian C++ is the native language of Symbian because the operating system itself is written in Symbian C++. Additionally, Java is also included as the most common runtime environment on mobile phones. More recently, Flash Lite, the Web Runtime (widgets) and Python have been added to the mix. Whilst all of these runtime environments have their strong points, they also have some disadvantages and none is optimal for all purposes. To benefit from the advantages of different runtime environments, two runtimes can be combined in one project.

Multi-Language Programming - Part 4

This is the fourth and final paper in a series examining the possibilities of building Symbian OS applications by mixing multiple languages and runtime environments. In this paper we focus on Widgets, applications that use the Web Runtime (WRT). The Web Runtime is new to mobile but provides an environment similar to that of Apple OS X Dashboard Widgets or Windows Vista Gadgets. Widgets essentially use the web technologies of XHTML, CSS and JavaScript to provide a familiar environment for web designers and programmers. Widgets can be used to their full potential as thin clients for Web Services on the Internet.Read the paper (140KB)

Multi-Language Programming - Part 3

This paper is the third in a series examining the possibilities of building Symbian OS applications by mixing multiple languages and runtime environments. In this paper we focus on the popular Python programming language. On Symbian OS, Python is available in the form of PyS60 on S60 devices, which is open source and actively maintained by engineers at Nokia. There is also PyUIQ for UIQ 2.1 and UIQ 3 devices, although the project on SourceForge is only in an 'alpha' state and hasn’t been updated for more than a year. The Python interpreter does not currently come pre-installed on any Symbian devices and must either be packaged with the application or installed beforehand by the user.Read the paper (265KB)

Multi-Language Programming - Part 2

This paper is the second in a series examining the possibilities of building Symbian OS applications by mixing multiple languages and runtime environments. The first paper presented an overview of the runtimes that are available and the combinations which make sense. The paper also detailed a general pattern for implementing multi-language applications. In this paper, we show in depth two examples of solutions that combine the strengths of two different runtimes. The examples both use Flash Lite for the UI and interface with either Java ME or native Symbian C++. Luckily, we don’t have to start from scratch; there are several open source and commercial frameworks which provide the necessary glue.Read the paper (428KB)

Multi-Language Programming - Part 1

This paper examines the strengths and weaknesses of the available runtime environments and shows which combinations make sense to use in a specific project. Having read this paper, readers will understand the architecture of multi-language applications and will gain the necessary information about which language combination might be best suited for their use case. This paper provides an overview, and readers wishing to proceed in using combinations such as Java + Flash can find tutorials in the subsequent papers in this series.Read the paper (155KB)