Embedded, on an ordinary page

Everything you are reading is plain HTML. The box below is a full Smalltalk VM running Dialogo, a drawing app for kids — inside this page, sharing it with the text, no plugin and no server doing the work.

▶ Start Dialogo About 32 MB the first time — your browser caches it afterwards.

How it is done

This page embeds the launcher in an <iframe> and points it at an image with the hash. That is the whole trick, and it is the route to take if you just want a working Smalltalk on your page — input, cursor, clipboard, sound and the file picker come wired:

<iframe src="https://smalltalkjsvm.com.ar/#zip=https://dialog.ar/Dialogo.zip"
        style="width:900px; height:675px; border:0"></iframe>

Swap the URL after #zip= (or #url=) for your own image. Anything the launcher accepts works here too.

If you need more control

To drive the VM from your own code instead — your own canvas, your own event handling — talk to the worker directly. That is what the launcher itself does, and the main page shows the core of it. You take on wiring input and cursor yourself, which is the price of the extra control.

← Back to SmalltalkJsVm

SmalltalkJsVm is free software (MIT).