We use a variety of computer programs every day, for tasks like photo editing, word pro­cessing, and cal­cu­la­tion. It’s become expected that these programs run as fast and smoothly as possible under a variety of con­di­tions. However, this poses a challenge for de­velopers, since operating systems can differ sig­ni­fic­antly from each other, and different versions of the same operating system are in use at any given time. In theory, it would be necessary to adapt programs to each operating system. To avoid this extra hassle, de­velopers use runtime en­vir­on­ments.

Your very own .uk domain name!
Short, sharp, .uk

Looking for an al­tern­at­ive to the tra­di­tion­al .co.uk extension, or want to grow your online presence? Give .uk a try today.

£1 for 1 year!

What is a runtime en­vir­on­ment?

Runtime en­vir­on­ments (RTE for short) act as small operating systems and provide all the func­tion­al­ity necessary for a program to run. This includes in­ter­faces to physical parts of the hardware, user in­ter­ac­tions, and software com­pon­ents.

A runtime en­vir­on­ment loads ap­plic­a­tions and has them run on a platform. All the resources necessary for running in­de­pend­ently of the operating system are available on this platform. That’s why, for example, playing Flash videos is only possible with the right runtime en­vir­on­ment - in this case the Adobe Flash Player. Within this en­vir­on­ment, Flash videos can be played in the same quality and with the same func­tion­al­it­ies re­gard­less of which browser or operation system is being used.

How does a runtime en­vir­on­ment work?

An ap­plic­a­tion that’s currently running interacts with the runtime en­vir­on­ment via a runtime system. The runtime en­vir­on­ment in turn acts as a go-between between the ap­plic­a­tion and the operating system. As soon as a program is executed, it sends in­struc­tions to the computer’s processor and RAM, and accesses system resources. The runtime en­vir­on­ment thus includes hardware, memory, variables in the en­vir­on­ment, and in­ter­ac­tions with the user and software com­pon­ents.

Fact

The term ‘runtime’ has two meanings: In the context of runtime en­vir­on­ments, it refers to the execution of a program in a specific runtime context. But it also has a second meaning in other contexts, namely the amount of time that a program needs to execute a task.

A runtime en­vir­on­ment provides various basic functions for memory, networks, and hardware. These functions are carried out by the runtime en­vir­on­ment instead of the ap­plic­a­tion and work in­de­pend­ently of the operating system. They include reading and writing files, managing input and output devices, searching and sorting files, and trans­port­ing data via networks.

Note

The in­di­vidu­al modules of a runtime en­vir­on­ment are saved in runtime libraries. In Windows, you can identify these libraries based on the extension .dll (dynamic link library); in Linux they have the file suffix .so (shared object).

One major benefit of runtime en­vir­on­ments is that programs have access to all the func­tion­al­it­ies they need and thus work in­de­pend­ent of operating systems. Ad­di­tion­ally, programs have identical user in­ter­faces re­gard­less of whether they’re run on Windows, macOS or Linux. De­velopers also use runtime en­vir­on­ments to test ap­plic­a­tions in their execution. In the case of an error, the RTE reports the reason for the crash. Frame­works are also related to runtime en­vir­on­ments. These program struc­tures simplify software de­vel­op­ment and can contain runtime en­vir­on­ments that the programs are executed in.

Tip

If an ap­plic­a­tion is based on a runtime en­vir­on­ment, then the RTE is required to execute the program.

What are the ad­vant­ages of runtime en­vir­on­ments?

As mentioned above, runtime en­vir­on­ments enable cross-platform func­tion­al­ity for ap­plic­a­tions. This sim­pli­fies the de­vel­op­ment process, since the program does not need to be adapted to different operating systems. If a program uses the func­tion­al­it­ies of a runtime en­vir­on­ment for its execution, people using different operating systems can benefit from the same functions and a near-identical user interface.

A further advantage is the con­ser­va­tion of resources: Similar ap­plic­a­tions can use the same runtime en­vir­on­ments and share common com­pon­ents.

Well-known examples of runtime en­vir­on­ments

One of the best examples of a runtime en­vir­on­ment is Java: The Java Runtime En­vir­on­ment is a pre­requis­ite for running Java programs. This makes Java programs largely in­de­pend­ent of operating systems and thus able to be executed in any operating system with the right runtime en­vir­on­ment. Since the Java Runtime En­vir­on­ment is a software platform, it’s called the ‘Java platform’ and consists of a pro­gram­ming interface, a virtual machine, and various libraries.

Some other well-known examples of runtime en­vir­on­ments include:

  • Ac­tion­Script Ap­plic­a­tion (ASAP): Offers building blocks for Flash de­velopers.
  • Blueprint: This CSS framework addresses deficits in the com­pat­ib­il­ity of browsers and sim­pli­fies the op­tim­isa­tion of CSS. It’s also available as a CMS basis theme for Drupal and WordPress.
  • Common Language Runtime: A virtual runtime en­vir­on­ment for .NET ap­plic­a­tions that in­ter­prets the Common In­ter­me­di­ate Language Code.
  • Crystal Space: Includes a 3D engine and is used for game de­vel­op­ment and the de­vel­op­ment of other 3D visu­al­isa­tions; free.
  • Cygwin: A runtime en­vir­on­ment for Linux ap­plic­a­tions that allows them to run on Windows, macOS, and other operating systems.
  • .NET Framework: Windows .NET ap­plic­a­tions can only be run with this Microsoft framework.
  • Node.js: This JavaS­cript runtime en­vir­on­ment enables the use of script languages on the server side. However, even its creator is critical of several aspects of it and is de­vel­op­ing Deno, a new, more modern and secure runtime en­vir­on­ment for JavaS­cript on the server end.
  • Visual Basic Runtime: Required for several shareware and freeware programs.
  • WINE: This runtime en­vir­on­ment can be used to run Windows apps on other operating systems, such as Linux, FreeBSD, and macOS. However, it’s not 100% com­pat­ible.
  • XULRunner: A runtime en­vir­on­ment for XUL ap­plic­a­tions like Firefox, Thun­der­bird and Songbird. Generally these ap­plic­a­tions also run without XULRunner. However, in the future, this shared runtime en­vir­on­ment will be im­ple­men­ted more con­sist­ently in order to save resources.
Web hosting
The hosting your website deserves at an un­beat­able price
  • Loading 3x faster for happier customers
  • Rock-solid 99.99% uptime and advanced pro­tec­tion
  • Only at IONOS: up to 500 GB included
Go to Main Menu