
Caffeine Smalltalk – Livecode the Web - alekq
https://thiscontext.com/2017/06/22/caffeine-livecode-the-web/
======
mark_l_watson
Very cool. I just played with it on my iPad, and except for not having a way
to do a right click (left click and drag to scroll panes seem to work) it was
usable.

I don;t have time to do it myself, but an option to use a touch gesture in the
bottom left corner to make other mouse clicks be right mouse clicks would make
it fairly nice on a tablet.

------
chch
A bit off topic, but seeing "Livecode" combined into a single word, instead of
the normal two, made me think this was about the HyperCard-inspired
programming language[1], instead of the just-in-time coding technique. :)

[1]
[https://en.wikipedia.org/wiki/LiveCode](https://en.wikipedia.org/wiki/LiveCode)

~~~
mikebelanger
I know, plus its also being used as a term for coding tutorials in twitch.
Kind of annoying.

~~~
rhizome
and for music programming frameworks.

------
Raphael
Does it really have to use a blurry canvas? I'd be much more interested in a
normal HTML version.

~~~
klibertp
Try Amber (amber-lang.net) - it's a Smalltalk implementation in JS and it
doesn't use Morphic for display. It is, however, much less developed than
either Squeak or Pharo; it may be alright for newcomers, but if you know one
of the "real" Smalltalks, Amber falls rather short :(

The problem is that you either implement Morphic, which is designed to work on
the level of pixels so you have to do it with <canvas>, or you don't and can
then choose any display strategy you'd like. The problem is that Squeak and
Pharo rely on Morphic for display, so you need to have it implemented if you
want to reuse the code of those.

It's probably possible to write Morphic-compatible rendering framework based
on React, for example, which would be an interesting excercise, but I don't
know if anyone attempted it.

~~~
thiscontext
With Caffeine you can use whatever JS or Smalltalk UI framework you like,
including React and morphic.js, a standalone JS implementation of Morphic from
UC Berkeley's "Snap!" project that is much faster than Squeak Morphic at the
moment.

Another good hack is to use Squeak Morphic, but draw each morph on its own
canvas. That relieves a lot of the computational burden on SqueakJS.

There are examples of all of these things in the Squeak workspaces on the
Caffeine page.

Thanks for checking it out!

Craig

