本文将介绍如何通过codelab-adapterblockly应用接入到开源硬件/AI/IoT中。

有大量的编程教育平台是基于blockly构建的,如code.orgTynker

通过codelab-adapter,可以赋予他们与万物连接的能力。

思路

codelab-adapter这个名字有误导性,我们近期准备将其更名为codelab-adapter. 更名之前暂时还是叫它codelab-adapter

codelab-adapter可以用于任何web平台,远不限于Scratch3.0,Scratch3.0只是它的一个典型client,任何前端都可以是它的client,通过架构图我们容易看清这一点:

架构图

将blockly应用接入codelab-adapter是非常简单的,在每个积木运行的时候,触发对应的JavaScript函数,函数中发送相应消息(everything is a message)即可。这个模式和Scratch3.0极为相似。

demo

我们来看一个具体的demo。

我已经将源代码放到了Github:scratch3-adapter-4-blockly

运行该项目的教程,我也放在链接里了,操作过程中有任何疑惑,欢迎提issue :)

该项目展示了一个最小原型,scratch3_eim展示了与codelab-adapter交互更为完整的通信例子。scratch3.0也是基于blockly构建,所以例子中的原理完全可以迁移到blockly中。

当然,由于一切都是消息,你可以在任何web平台使用它:)

参考