RoboComp Logo

A simple robotics framework.

RoboComp- Javascript support

May 5, 2018

About me

My name is José Alberto Andújar Espinosa. I studied Computer Science and last year I cursed a master’s degree in Computer Science. My master thesis obtained the highest mark. The work was about a mobile application and a web application designed to study active aging. From the technological point of view, the mobile application was developed using Ionic and the web application using AngularJS. So, I have solid knowledge of JavaScript, as well as its ecosystem. Currently, while I am studying a new master I am working as a freelance. In my daily work I use the follow technologies: NodeJS, MongoDB, AngularJS and Ionic. I also have knowledge of CMS like Joomla, and relational databases like MySql. In the same way I have experience managing deploying application made with those technologies in different server on the cloud, such as Azure or Digital Ocean. I also have knowledge of C++ and Python, as they were the main programming languages during my studies. Plus, I have done several courses in Udemy and CodeAcademy of both languages. I’m especially interested in learning the new advances in C++ syntactic and how compilers optimize code with it. As with Python, I mainly use it to create parser for .xml or plain text files and also for making maintenance scripts on servers. I’m familiar with robotic frameworks and component oriented programming since I had to use while cursing my Bachelor and Master, although I do not have the same experience with the other technologies. I consider this GSoC an opportunity to deep into the knowledge of RoboComp and consequently in the robotics frameworks. At the end, I hope to be able to draw conclusions about its differences with other alternatives such the framework ROS.

About the Project

My proposal is based on getting full support for JavaScript within the RoboComp framework. For this, the current state of generation of written components in the JavaScript language must be improved. Last year during the 2017 GSoC the functionality of the RoboComp component generator was extended to provide component supports based on NodeJS. A first approximation was achieved but still lacks robustness, reliability and should be extended to include more features. Recently Zeroc ICE has added support for JavaScript interfaces, therefore the component generator must be extended to support this feature, both the server and the client. The component model of RoboComp must be able to generate components in this language with the same functionality as its counterparts in C ++ and Python, thus achieving complete support for JavaScript within RoboComp.


  • Understand the state of the current component generator and increase its robustness.
  • Study the support of Zeroc ICE for JavaScript.
  • Extract Zeroc ICE patterns to update JavaScript-based component generation templates
  • Update and extend the component generator code to achieve full integration of JavaScript.

José Alberto Andújar Espinosa