Scribbler - JavaScript Notebook Tool for experimenting in JavaScript. Runs in the browser without a backend. Discord server: https://discord.gg/uxNSsWunwU
Problem
Right now the user code runs in the main thread of the application itself. this causes bad user experience because the page hangs for long compute. Also a compute cannot be "killed" midway.
Proposed Solution
Implement the compute in webworker
Provide functionality to interact with DOM from webworker using a library
Ensure show, error, plotly work even with webworker
Alternatives considered
Async function - that still blocks the eventloop
Additional context
Jupyter runs the user generated python in a seperate thread called the "kernal" the messages are seamless passed back to the UI. Of course python does not interact with DOMs.
Problem Right now the user code runs in the main thread of the application itself. this causes bad user experience because the page hangs for long compute. Also a compute cannot be "killed" midway.
Proposed Solution
Alternatives considered Async function - that still blocks the eventloop
Additional context Jupyter runs the user generated python in a seperate thread called the "kernal" the messages are seamless passed back to the UI. Of course python does not interact with DOMs.