Announcing: terminal21 0.30, more idiomatic to scala, new MVC architecture

What is terminal21?

Terminal21 consists of a server and user created scala scripts or scala projects. 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).

What setup is required to run terminal21 on my box?

Just scala-cli, nothing else. Please see the tutorial below.

What is it meant for?

Terminal21 is not meant as a way to create websites. It is rather meant to give UI’s to the odd jobs that has to be performed by scripts and where it would require a lot of effort to create a dedicated web server with a UI. It is perfect for scripting for i.e. those internal odd tasks that have to be performed at your workplace or even for things you would like to do on your box/home network, even maybe to present some code of yours running with a UI rather than a powerpoint presentation. And you won’t have to write a single line of html or javascript or create a web server.

What is new in 0.30?

The biggest changes are towards scaling up code (building & testing larger user interfaces) with an MVC architecture that is idiomatic to scala. Events are iterated and components are just scala functions that can be composed to create larger user interfaces. Also now user created apps can be deployed straight on to the server and be always available rather than having to run a script. Some other minor additions like cookie setters/getters, QuickTabs & QuickFormControl to easier create tabs & forms respectively.

Where do I start with terminal21?

Please see the tutorial at https://github.com/kostaskougios/terminal21-restapi/blob/main/docs/tutorial.md . Or the youtube channel if you prefer to see it in action, https://www.youtube.com/@terminal21-gf1oh/videos .

Github?

https://github.com/kostaskougios/terminal21-restapi

Hello world?
https://github.com/kostaskougios/terminal21-restapi/blob/main/example-scripts/hello-world.sc

3 Likes