3 ms·
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 Squea
by klibertp 9y ago
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 9y agoWith 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