Scratch in the Browser
squeak.js.org
squeak.js.org
Snap! is made by folks previously involved in Berkeley Logo, and has a lot of "missing pieces" that make organizing programs easier: lambdas, cc, and binding functions to definitions (aka build-your-own-blocks).
Unfortunately, keyboard input doesn't seem to work. Try making a
[Forever if <Key Space Pressed>
[Say "hello"]]
script and it doesn't seem to react to space key presses. (Chrome browser on Linux)Then it moved to a Flash version. If I remember right, this was at least somewhat motivated by vendors dropping Java support in the browser. Of course, at almost the same time the Flash version came out, vendors started dropping support for that.
The current one is written in JavaScript, I believe. Edit: it's still running Squeak, but using a JavaScript Squeak interpreter. See the top-level site for the given link.
TFA isn't the current version of Scratch. It's Scratch 1.4—which was written in Smalltalk—running in a browser via Squeak.
If you've used modern Scratch, it's interesting to see what has changed (and what hasn't).
This motivated the MIT guys to port Scratch to Flash (very bad timing) and the ex Squeak guys to focus on Javascript (Lively Kernel and other projects).
- MakeCode for micro:bit [1]
- MakeCode Arcade[2]
[1] https://makecode.microbit.org
[2] https://arcade.makecode.com- Hardware Integration: MakeCode shines with its support for various microcontrollers like the BBC micro:bit and Adafruit Circuit Playground. It’s a game-changer for classes focusing on electronics or physical computing.
- Ease of Transition to Text Coding: Unlike Scratch, MakeCode lets you flip between block-based and JavaScript code. It’s a neat feature for students transitioning to text-based languages.
- Curriculum Tailoring: MakeCode often comes with tailored projects and curricula, especially useful when you have specific learning goals around hardware.
- Practical Applications: The ability to create physical devices or interactive projects with MakeCode can be really engaging for students, showing them the real-world impact of their coding.
- Community and Resources: Depending on where you are and what you need, the MakeCode community and resources might just align better with your teaching needs.
That said, it really boils down to what you're trying to achieve. Scratch is still king for introducing the very basics of programming and fostering creativity, especially for younger or less experienced coders.