Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch from Scratch 3 to Blockly? (not MakeCode) #264

Open
vorburger opened this issue Oct 29, 2021 · 6 comments
Open

Switch from Scratch 3 to Blockly? (not MakeCode) #264

vorburger opened this issue Oct 29, 2021 · 6 comments

Comments

@vorburger
Copy link
Member

https://www.microsoft.com/en-us/makecode could be an alternative to our current Scratch 3 based approach.

I've recently used MakeCode myself while toying with a Maqueen: Slides, video & another.

From what (little) I've learnt about it so far, it looks like it's also based on Blockly, and perhaps more easy to extend than Scratch? As far as I can tell, https://scratch.mit.edu/projects/editor/'s "Choose an Extension" has a few built-in extensions, but we can't add to that, which is we (had to) "fork it" - right? MakeCode also has separate instances, such as https://makecode.microbit.org, but in https://makecode.microbit.org/#editor's "Extensions" there is a Search / Enter Project URL (note that bar on top), and the last "box" is an Import File... for an .mkcd (or .hex) file - might that be some sort of "plugin" format we could write? Or even if we ran our own instance (something like makecode.oasis.study), would it be easier than Scratch?

Of course, that gets us to basically rebuild https://minecraft.makecode.com - except that needs one to locally install some Code Connection companion app from https://minecraft.makecode.com/setup, which is Windows-only (and at least one of the Download links even seems to be broken), and seems like a "entry barrier" - I like how we're doing this here much better... More importantly, it's not clear if that's open source and thus extensible by us, or not; https://github.com/Microsoft/pxt-minecraft 404s, but on https://github.com/orgs/microsoft/repositories?q=minecraft I've found https://github.com/microsoft/pxt... but that appears to be MakeCode itself (which is open source, that's at least a start). I'm unclear if the Minecraft extension/plugin for MakeCode itself, and that Code Connection companion thing is.

@edewit I suspect you don't want to "start over", ditch Scratch, and use MakeCode - unless you're tired enough of rebasing Scratch 3? 😄

@edewit
Copy link
Member

edewit commented Oct 29, 2021

Actually it wouldn't be starting over, right now we have a pretty nice javascript api and all we do in scratch is hook that up, so when it's possible to extend this more easily it shouldn't be hard to base this on "make code"

@vorburger
Copy link
Member Author

@edewit
Copy link
Member

edewit commented Nov 3, 2021

There is pxt command line utility to create an "editor" based on this, what I really like about this is that it would give us the ability to add tutorials and little roadmaps like this:
image

@vorburger
Copy link
Member Author

We re-discussed this today, and realized that especially with the #51 (and #50) based work, we actually are a bit more dependant on the "Scratch VM" already than we initially thought of... it's still possible to switch to MakeCode, or even support both with 2 "bindings" in the future, but then the Scratch background VM part would have to be re-implemented.

We also don't really see any huge benefit from switching to MakeCode from Scratch (except perhaps that we could customize it even more and not have Scratch's default blocks, but they don't really bother us that much) - especially because @edewit now longer "forks and modifies" the Scratch source code, but has a better way with a new file that just "uses and extends" Scratch.

This issue is therefore not a priority for us right now.

@vorburger
Copy link
Member Author

@edewit iff we ever do have a reason to want to switch from Scratch 3.0 to something else, it occured to me that it will be at least worth having a discussion if we shouldn't simply be going all-in directly on Blockly (on which both Scratch and MakeCode are of course based). Just a thought for a future discussion (not urgent, let's Scratch as-is for now). Starting point for such a future discussion: What does Scratch or MakeCode actually add on top of Blockly that we really need one? I'm not entirely sure there's all that much left there.

@vorburger vorburger changed the title Switch from Scratch 3 to MakeCode? Switch from Scratch 3 to Blockly? (not MakeCode) Apr 3, 2022
@vorburger
Copy link
Member Author

We discussed that MakeCode instead of Blockly makes sense. (Because it looks nicer, and has blocks shapes that map e.g. boolean instead of integer/string types.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants