Terminal21 consists of a server and user created scala scripts/apps. The scala scripts contain all the code to create user interfaces and react to clicks, changed input boxes etc. The terminal21 libraries send the UI’s to the server which in turn renders those as react components (but no js or react coding is required from the user).
A tutorial can be found here.
In the 0.21 update, more UI components were added like Tabs, Alert, Progress, Tooltip along the existing ability to render graphs, maths, buttons, tables, forms, menus, grids etc . Also all UI components now are immutable and incremental updates of the UI can be send to the server.
For available UI components, please see here.
To use it as a spark notebook replacement, please see here.