MIT-Scratch adding/removing 语言特性

MIT-Scratch adding/removing language features

我正在寻找一种方法来允许我的非技术用户指定工作流并执行它(如果有人感兴趣,我希望他们指定并执行测试用例)。可视化编程似乎是一个不错的选择。

我可以修改 Scratch IDE 以删除一些类别(例如声音、动作等),并添加一些我自己的类别吗?个别关键字也是如此(显然,我需要处理新的关键字)。

Googled,但答案不是很明显。


[更新] 我刚找到 Google 的 Blockly

Blockly was influenced by App Inventor, which in turn was influenced by Scratch, which in turn was influenced by StarLogo.

看起来很有前途。特别是当它说

  • Exportable code. Users can extract their programs as JavaScript, Python, PHP, Dart or other language so that when they outgrow Blockly they can keep learning.
  • Open source. Everything about Blockly is open: you can fork it, hack it, and use it in your own websites.
  • Extensible. Make Blockly fit with your application by adding custom blocks for your API and remove unneeded blocks and functionality.

一个可能的障碍是它是基于浏览器的,但如果我的管理人员不喜欢那样,那么我可以创建一个虚拟的基于 Windows 的应用程序,仅包含一个 TWebBrowser 组件。

我会调查并报告 - 除非其他人先发布可接受的答案。

对您最初的问题的简短回答是:不。你不能自定义 Scratch,或者不能自定义到你看起来的程度 ask/want.

也就是说,看:

  • 自定义方块。
  • 临时扩展。
  • snap
  • 这样的变体
  • 在 squeak 中使用 scratch 的源代码来制作您自己的变体。
  • 其他从头开始启发的系统,比如 appinventor 和 blockly。

只有前两个与 scratch 网站兼容。

站内一句话:取决于你使用Scratch的目的,用户之间的交流是scratch强大的部分。检查如何支持合作,例如背包。还有一个 good wiki 记录了上述大部分内容。