DEBUG key: /en/osp/web_ejs_introduction
DEBUG locale: sr
DEBUG target: /en/en/osp/web_ejs_introduction
🇬🇧 EnglishThe EJS (Easy Java Simulations) tool was created in the early 2000s at the University of Murcia (Spain) under the leadership of Prof. Francisco Esquembre. Initially, it was a Java-based program that enabled educators to easily create interactive simulations without advanced programming skills. With the rise of web technologies and the decline of Java applet support, in 2014, Felix García Clemente joined the project to develop a new version that generates JavaScript simulations that work on all devices (including mobile). Today’s version is known as Web EJS or EJS 5 (stable release 5.1), and development continues within the Open Source Physics (OSP) project.
EJS is a free authoring tool (licensed under GNU GPL) that allows teachers and students to create interactive simulations in Java or JavaScript format without advanced coding. It offers a graphical interface (“drag & drop”) to define variables, equations, and view elements (graphs, tables, drawings, etc.), allowing users to focus on the model, while the tool generates the simulation code.
For example, the user inputs physical equations or system rules, and EJS translates them into JavaScript code and renders the simulation in real time. This reduces the need for manual programming and speeds up simulation development. EJS supports 2D and 3D graphics, numerical solvers (Runge-Kutta, etc.), and the visualization of results through graphs and animations, making it suitable for education and research.
EJS is most commonly used for creating simulations in educational settings, especially in natural and technical sciences. Key areas of application include:
One basic example of physical modeling in EJS is the free fall of a body in 3D space. This simulation shows how an object (e.g. a ball) falls under the influence of gravity, without air resistance, in a three-dimensional environment. The camera can be rotated to observe the fall from different angles, and the animation realistically scales the position of the body over time.
The user can modify the initial height, mass of the object, and gravity, as well as enable trajectory display and a graph of velocity versus time. This interactive visualization helps students better understand basic motion and the laws of dynamics.
EJS is actively being developed. Version 5.3 introduced support for ePub and macOS widgets, and the upcoming version 6.0 includes a new editor and plugin system. Plans include separating Java and JavaScript versions, integrating with e-learning platforms, and adding support for data analysis from simulations.