Better Alternative to Eval? Building Browser based IDE for Julia

Hello! After months of looking for and waiting for a quality cloud/browser-based IDE that fits my needs and wants for Julia, I have taken it upon myself to build my own. I come from a heavy statistics background so I am thinking something similar to RStudio/Juno but web based. I have started the initial build and am thinking about the architecture. I have everything down other than the evaluation of the scripts. I am thinking of utilizing the eval function but is there a better alternative for security purposes?

Thank you in advance!

Best,
Joe

5 Likes

This sounds great and an web-based IDE similar to RStudio would help with adoption. Thank you for your efforts. I would also take a look at the vscode extension (as well as integrating it to online vscode). It seems like a unified effort towards fixing bugs and adding new features to vscode might be better for a fuller IDE experience.

1 Like

Hey! Thank you! I am a heavy user of Juno and the extension on vscode (which is essentially Juno now) and there are some things I just really would prefer different and believe can be easier. Also, the pkg compiling times I have found are rough on vscode. Biggest thing is it isn’t browser based with easy ability to scale computing power up and down as needed!

The cloud-scaling bit sounds a bit like what JuliaHub offers: https://juliacomputing.com/products/juliahub/

1 Like

If think the only other option besides eval is include_string, but anyway security wise I think you’ll have to assume that arbitrary code can be run and design around that.

1 Like

You may be aware, but you can run VSCode (or at least the open source part of it, which is nearly indistinguishable) in a browser. Just install code-server then run code-server --port 8080 and open localhost:8080 in your browser.

7 Likes

Woah. That’s cool. Didn’t know that exists!

I did not know that! This is very useful. Makes me think maybe just punch this into a cloud provider with the ability to scale up and down and I have a product. I have been just building my own IDE from the ground up (50% complete) but that may be a move. Thank you!

1 Like

As long as the cloud provider isn’t behind a firewall which blocks port forwarding, you also have the option of not using code-server at all, but running regular VSCode locally and using the Remote-SSH extension, which gives you basically the identical experience but without needing to manually launch anything on the cloud. I personally use this most of the time, and code-server in one case where a firewall only allows reverse port forwarding, which means Remote-SSH doesn’t work but code-server still can.

@marius311, could code-server be used to keep Julia/VS Code synchronized between 2 personal laptops, if we set one as the server? Or is there a simpler solution?

Yea, if you used code-server you wouldn’t need anything on the second laptop except a web browser. Alternatively, if you can SSH into the “server” laptop, you could just install VSCode + Remote-SSH on the second laptop and it would work the same.

1 Like

If you are looking for Web IDE, take a look at Eclipse Theia (https://theia-ide.org/).

1 Like

The built-in Windows 10 Remote Desktop application seems to work quite well, allowing us to perform our regular jobs in one laptop (business laptop) and to do all the Julia coding via a remote desktop of the second one (home laptop), seamlessly, with file copy & paste, etc. Sorry if this is obvious, but just have found it to be useful and might interest some others.

1 Like