Closed robert-dodier closed 3 years ago
As far as the kernel is concerned there isn't any difference between the two user interfaces in theory. The kernel can't really interrogate the front end for operational details. There are only a few signals that get sent from the kernel to the front end like input_request
that result in user response from the front end interface.
Unfortunately there are bugs and quirks in Jupyter Notebook that are probably not going to being fixed since Lab is the actively developed interface. Because of this I am no longer testing common-lisp-jupyter on Notebook because there are bugs that I can't fix in Notebook without breaking Lab.
Aside from UI differences llke tabbed notebooks Jupyter Lab is more extensible. In addition to the widgets supported by Notebook (which we don't have access to in Maxima-Jupyter yet) Lab supports extensions that can add features or modify the UI. I am using this in jupyterlab-debugger-restarts to add a panel to the debugger to list the current restarts when entering the debugger.
In the end Jupyter Lab just has a lot more features and is being actively developed, whereas Notebook seems to be entering maintenance.
Thanks, Tarn, that's all very helpful. I'll assume that JupyterLab is the target.
I gather that JupyterLab is a more recent evolution of Jupyter, and subsumes a notebook interface in a larger set of doodads that make it more like an IDE experience for the user. From what I understand, JupyterLab is a separate code base apart from the notebook, which continues to be supported, but with limited resources.
Is there any reason for maxima-jupyter to choose to target one or the other? Is everything going to work the same for maxima-jupyter in either environment?
@yitzchak if you have any comment on this, I would be glad to hear it.