TheStrukture/IDE and the OSS community.
Open Source Software (OSS) has been around since the 1970s. OSS is present in numerous commercial products today, something unthinkable in the past. For example, the PlayStation 4 (PS4) utilises Webkit for its web browser. This has given PS4 players a powerful browser developed and mantained by a community. However, hackers used this to their advantage to reverse engineer the Webkit browser to run unsigned code. We’ve also seen the LOG4SHELL fiasco. This illustrates how OSS can be beneficial and costly. It also begs the question, if my code is out in the open, can hackers reverse engineer it? Yes, but the OSS community is actively finding and fixing vulnerabilities with their projects. Open code is also transparent, in the sense that people can vet the program for malicious or insecure activity. OSS was a great catalyst to building TheStrukture.
Standing on the shoulders of giants
TheStrukture has code completion and debugging. This is a result of integrating OSS projects. The following section will illustrate how these integrations are done in TheStrukture. Delve is a powerful debugger used with Go. I choose to integrate Delve, because it has an active community, providing great support and features. While integrating it, I wanted current Delve users to be able to use it without any fancy UIs or training. Believe it or not, this is how delve is integrated in the project, without even using Go :
socketTerminal.send('dlv debug --allow-non-terminal-interactive ' + appid + " \n");
The snippet above will be ran on a virtual terminal. As the user, you will be presented with the Delve console right in the editor, and it’s business as usual. The idea behind this thinking is, since the IDE is tracking files and breakpoints, it should only share this information with Delve and allow users to do the rest. Code completion operates in a similar manner. The IDE sends the autocomplete program all the files it needs to properly suggest a code block. I chose gocode
for the integration, as it provided a CLI interface that returned JSON formatted data of the code suggestions. The premise remains the same, TheStrukture tracks your projects and manages your files for you. There are other aspects of the IDE powered by OSS, I will write about it in future posts.
The more the merrier
TheStrukture is still a little project. Just recently, I integrated a standalone browser view for the editor to run on. It is no longer a web based IDE, but rather, an IDE. This again, is a result of the OSS community. Try out the IDE and let me know which feature(s) will make you switch over to TheStrukture. Find the IDE here : https://github.com/thestrukture/ide .