# Better Alternative to Eval? Building Browser based IDE for Julia

**URL:** <https://discourse.julialang.org/t/better-alternative-to-eval-building-browser-based-ide-for-julia/52155>\
**Category:** General Usage\
**Tags:** question\
**Created:** [December 21, 2020, 3:36am UTC](https://discourse.julialang.org/t/better-alternative-to-eval-building-browser-based-ide-for-julia/52155 "2020-12-21T03:36:57Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Joe\_Schnetzler](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joe_schnetzler/32/20423_2.png) [@Joe\_Schnetzler](https://discourse.julialang.org/u/Joe_Schnetzler)\
**Post date:** [December 21, 2020, 3:36am UTC](https://discourse.julialang.org/t/better-alternative-to-eval-building-browser-based-ide-for-julia/52155/1 "2020-12-21T03:36:57Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![affans](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/affans/32/11911_2.png) [@affans](https://discourse.julialang.org/u/affans)\
**Post date:** [December 21, 2020, 3:45am UTC](https://discourse.julialang.org/t/better-alternative-to-eval-building-browser-based-ide-for-julia/52155/2 "2020-12-21T03:45:08Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Joe\_Schnetzler](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joe_schnetzler/32/20423_2.png) [@Joe\_Schnetzler](https://discourse.julialang.org/u/Joe_Schnetzler)\
**Post date:** [December 21, 2020, 3:51am UTC](https://discourse.julialang.org/t/better-alternative-to-eval-building-browser-based-ide-for-julia/52155/3 "2020-12-21T03:51:54Z")

</div>

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!

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [December 21, 2020, 8:31am UTC](https://discourse.julialang.org/t/better-alternative-to-eval-building-browser-based-ide-for-julia/52155/4 "2020-12-21T08:31:58Z")

</div>

The cloud-scaling bit sounds a bit like what JuliaHub offers: [JuliaHub - Julia Computing](https://juliacomputing.com/products/juliahub/)

---

<div class="post-metadata">

**Author:** ![jonathanBieler](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@jonathanBieler](https://discourse.julialang.org/u/jonathanBieler)\
**Post date:** [December 21, 2020, 8:41am UTC](https://discourse.julialang.org/t/better-alternative-to-eval-building-browser-based-ide-for-julia/52155/5 "2020-12-21T08:41:51Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![marius311](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/marius311/32/3953_2.png) [@marius311](https://discourse.julialang.org/u/marius311)\
**Post date:** [December 21, 2020, 7:38pm UTC](https://discourse.julialang.org/t/better-alternative-to-eval-building-browser-based-ide-for-julia/52155/6 "2020-12-21T19:38:41Z")

</div>

> [@Joe\_Schnetzler](#):
>
> Biggest thing is it isn’t browser based

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](https://github.com/cdr/code-server) then run `code-server --port 8080` and open `localhost:8080` in your browser.

---

<div class="post-metadata">

**Author:** ![Joe\_Schnetzler](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joe_schnetzler/32/20423_2.png) [@Joe\_Schnetzler](https://discourse.julialang.org/u/Joe_Schnetzler)\
**Post date:** [December 21, 2020, 8:56pm UTC](https://discourse.julialang.org/t/better-alternative-to-eval-building-browser-based-ide-for-julia/52155/7 "2020-12-21T20:56:50Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Joe\_Schnetzler](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joe_schnetzler/32/20423_2.png) [@Joe\_Schnetzler](https://discourse.julialang.org/u/Joe_Schnetzler)\
**Post date:** [December 21, 2020, 8:58pm UTC](https://discourse.julialang.org/t/better-alternative-to-eval-building-browser-based-ide-for-julia/52155/8 "2020-12-21T20:58:26Z")

</div>

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!

---

<div class="post-metadata">

**Author:** ![marius311](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/marius311/32/3953_2.png) [@marius311](https://discourse.julialang.org/u/marius311)\
**Post date:** [December 21, 2020, 11:14pm UTC](https://discourse.julialang.org/t/better-alternative-to-eval-building-browser-based-ide-for-julia/52155/9 "2020-12-21T23:14:19Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [December 22, 2020, 12:42am UTC](https://discourse.julialang.org/t/better-alternative-to-eval-building-browser-based-ide-for-julia/52155/10 "2020-12-22T00:42:46Z")

</div>

@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?

---

<div class="post-metadata">

**Author:** ![marius311](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/marius311/32/3953_2.png) [@marius311](https://discourse.julialang.org/u/marius311)\
**Post date:** [December 22, 2020, 2:19am UTC](https://discourse.julialang.org/t/better-alternative-to-eval-building-browser-based-ide-for-julia/52155/11 "2020-12-22T02:19:35Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![v-i-s-h](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/v-i-s-h/32/46152_2.png) [@v-i-s-h](https://discourse.julialang.org/u/v-i-s-h)\
**Post date:** [December 22, 2020, 3:05pm UTC](https://discourse.julialang.org/t/better-alternative-to-eval-building-browser-based-ide-for-julia/52155/12 "2020-12-22T15:05:05Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [January 2, 2021, 11:45am UTC](https://discourse.julialang.org/t/better-alternative-to-eval-building-browser-based-ide-for-julia/52155/13 "2021-01-02T11:45:09Z")

</div>

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.
