I'd like to create my custom front-end for Mathematica. I know there's a console interface (launched as math), which mostly works great, but it can't really provide functionality of e.g. interactive (rotatable) Plot3D or Manipulate, although one can show 2D plots with JavaGraphics package.

Is there an official way of interacting with the kernel so as to be able to show the manipulator, 2D/3D plots etc. and provide the user feedback to the kernel, getting back updated results?

  • 2
    $\begingroup$ Yes. The kernel communicates with the front end through MathLink. See chapter 2 of the old MathLink tutorial, as well as the MathLink (now WSTP) reference in the documentation. $\endgroup$ – Szabolcs Apr 1 '17 at 19:10
  • 1
    $\begingroup$ If you want to use Java instead of C, J/Link comes with an simple example front end, see MathSessionPane reference.wolfram.com/language/JLink/tutorial/Overview.html under "Some Special User Interface Classes". $\endgroup$ – Szabolcs Apr 1 '17 at 19:11
  • 1
    $\begingroup$ Maybe here? library.wolfram.com/infocenter/Demos/174 $\endgroup$ – Szabolcs Apr 1 '17 at 22:23
  • 1
    $\begingroup$ This is a project that tries to make Mathematica available through a Jupyter notebook as a front-end. Based on this comment, dynamic objects aren't supported currently, though. $\endgroup$ – Karsten 7. Apr 2 '17 at 3:10
  • 3
    $\begingroup$ Apropos what Karsten just said, this answer of mine shows how to set up an HTTP server in Java that could take input from the browser and forward it to Mathematica, in case you want to build the frontend in HTML/JavaScript. $\endgroup$ – C. E. Apr 3 '17 at 19:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.