Ewgenij Belzmann
Diploma Thesis Student
This email address is being protected from spambots. You need JavaScript enabled to view it.
Supervisor: Jan-Peter Krämer
Thesis abstract
Live coding seeks to break the code-compile-test loop familiar to many developers by executing code in the background and presenting the result to the developer without distracting him or her from coding. Many such applications and prototypes have been created, with different interaction and visualization solutions.
This thesis aims to provide a technical basis for a live coding environment by offering means to execute code in the background while the developer is still editing it, and to provide the changes in program state. This allows to see the flow of data through the course of the application while writing code, and to locate possible errors and bugs more easily. Our approach is not tied to any particular visualization and allows to explore the advantages and disadvantages of different visualization solutions in the future without being limited by technical limitations.
The program presented in this thesis is written in JavaScript as a server for the framework Node.js. It can run Node.js programs and sends back the changing program states to the calling application. It is primarily written to work with the Brackets code editor, but can in principle be called from any JavaScript editor that is capable to communicate via the WebSocket protocol.