Symbian Developer Network

Documentation and Code

Introduction to runtimes

Roy Ben-Hayun

This series of article will give developers, technical leaders and technical decision makers a glimpse into different aspects of non-native development options for Symbian OS. ‘Runtime environment’ is the term used to describe an application execution framework running on a hosting platform (i.e. Flash or Java running on a desktop or mobile) but is sometimes incorrectly used to refer to the programming language only. Runtime environments, which were part of Symbian OS since the beginning, are becoming increasingly important players in the software industry.

The business case for Runtime environments

This is, therefore, where our column begins – with what drives the market today and where can Runtime environments provide a suitable answer for those who seek a solution to their business needs. ISVs have needs, developers have needs and the Symbian ecosystem also has its needs. Some of those needs overlap and Runtime environments can help in achieving those strategic goals.

So in this section, we will find out what the goals of licensees, partners, network operators or other stakeholders are, and how Runtime environments can help them to achieve those goals. You could also find out what Symbian’s strategy is regarding Runtime environments.Read the paper

The Runtime concept

When we say Runtime we can easily point to some obvious examples like Java or Flash, but a quick answer is diverting our attention from the fact that different parts are all included in a Runtime and they somehow need to interact. In this section we will take a deeper look into "What is a Runtime?". We will discuss the functional and non-functional requirements for a Runtime environment and investigate its key elements - the language, the libraries and the interaction with the hosting platform. While doing so, we will also discuss the evolution of programming languages and try to see what we can learn from the experience of the last 50 years of software engineering.Read the paper

The Runtime phenomenon

At this point we will go back to what you've probably been waiting for since the first article; an overview of available Runtime environments on Symbian OS. Naturally, they will be familiar to most readers but using the information and insights of the series you could look at them in another perspective, which will give each one of them its rank and place among the various environments. Yes, Ruby will be there, so will Python, Flash and no doubt Java will be there as well. Who knows, we might even get a nostalgic visit from OPL.Read the paper

Applying it to real life

Starting with the business case, continuing with the theory, moving on to what is available...now what is left is to see how we can harness the existing solutions, by understanding them thoroughly, while achieving our strategic goals.

So you have a company, or need to run a project, or simply want to write a tool, this section will give some advice on the questions that one must ask before deciding on which (if any) Runtime environment is being targeted as the development and execution platform. This practical section might even include some wacky ideas as well - wacky ideas are fun to apply to a real project.Read the paper

About the author

Roy started his career in Lotus IBM and later moved to work in several small startup companies. He then worked for Symbian for 4 and a half years, most of which was spent in the Java group. He also worked in the team supporting developers, during which time he authored a number of white papers about runtime environments and technical articles. After JavaOne 2007, Roy joined Sun Microsystems, and is currently working as a system architect in the Engineering Services group, which leads the development, marketing and productizing of Java ME CLDC and CDC on different platforms.