scratch3-adapter将支持在web页面启停插件

假期前,我们将推出codelab-adapter的第5个主要版本:v0.5.0.

届时它将改名为codelab-adapter(CodeLab Adapter). 改名的原因,我们在scratch3-adapter ❤️ blockly有提到,Scratch3.0只是它的client之一,并不具有特殊性。codelab-adapter可以用于任何web平台。事实上也可以与任何编程语言对接。

下文中(以及此后),我们将称其为codelab-adapter。

前端启停插件

前端启停插件codelab.club的合作者十分关心的特性。codelab-adapter支持前端启停插件之后,易用性将得到提高。使用体验与Scratch Link十分相似。用户打开软件之后,就可以无视它,专心在web界面中编程。codelab-adapter将安静地在幕后运行,将积木编程平台接入任何开源硬件/AI/IoT中。学习者不必在积木编程界面与codelab-adapter中来回切换。对于入门用户,这将减少他们的困惑和学习成本。

从演示视频中可以看到,用户无需对codelab-adapter做任何操作。

另外有趣的一点是,插件的启停本身也是普通积木,它们也是可编程的!这点比Scratch Link更为灵活。

如果你更喜欢Scratch官方采用前端UI启停插件的方式,而不是用积木来启停插件,当然也是没问题的,你可以自己构建控制插件的UI。我们都支持。

扯扯其他的

v0.5.0是近期的第二次大规模重构。利用消息机制已经成功构建出了插件管理积木!(everything is message)。adapter 现在是这种东西: 它同时拥有tk和scratch3两个图形界面(并行),我们正在使用Smalltalk为它构建新的UI; ZeroMQ作为通信介质(ZeroMQ一直试图进入Linux内核,替代socket);Python作为实现语言;允许用户添加自定义硬件驱动(四轴飞行器、眼动仪、脑电波传感器),我们可能在做一个新的操作系统😄,等MicroPython社区移植完ZeroMQ,我们就将codelab-adapter移植到MicroPython板子上,不必再运行在linux之上,届时就是名正言顺的操作系统了。

再来看一个演示视频.

演示视频中,adapter 完全成为后台服务,用户不需要对它做任何操作,所做的一切都在网页(UI)中。

我们受Bret Victor艾伦·凯Smalltalk和realtalk的影响很深

Smalltalk和realtalk对我们的第一个影响是,把积木看作承载了所有功能的message。这样一来内核里不需要存在功能代码,积木的组合就是系统本身,它是动态的,任何创造都将可能,用户在这种界面里得到了所有的表达能力。

第二个影响是将系统功能(驱动管理)本身也看作消息,这就是0.5.0采用的设计。


2019.1.29更新


已发布: codelab-adapter v0.5.0




Fork me on GitHub