Skip to content

Open Roberta Connector in Go

Beate Jost edited this page Mar 31, 2021 · 3 revisions

preconditions: experience with the programming languages Java and Go; experience with Linux, MacOS and Windows; interest in software design

context: OpenRoberta is a learning platform. It uses a graphical programming language (based on blockly) and supports many robots. Its frontend is run in a browser. OpenRoberta can be used with all modern browser running on Linux, MacOS and Windows.

problem: the OpenRoberta frontend runs in the Javascript sandbox of the browser. We know of no generic portable way to access USB from Javascript. Thus we have a Java-written connector program, that facilitates the USB access. We have installers for the connector program for Linux, MacOS and Windows. This is heavy-weight, because we need a JRE installation, for instance. A solution native for the operating system is needed.

idea: managing three code bases for thre operating systems is no good idea. It should be possible, to have one code base using Go and generate three native programs from that code base including three light-weight installers.

task: analyse the existing Java connector program. Redesign it and rewrite it in Go. If you know better solutions, feel free to propose them!

notes: the main job is understanding, designing and programming a stand-alone application. It has a simple GUI, that is needed for all three operationg system. The existing connector program is multi-threaded.

Clone this wiki locally