发布 CodeLab Adapter 4.2

由于一种奇妙的牵强附会,恰恰就是我们今生的苦痛被说成了来世生活较好的道理。我们切不可把这种道理运用到其它方面。假若你向一个人买了十打鸡蛋,头一打全是臭的,你总不会推断下余九打一定其好无比 --《西方哲学史》

明天就像是盒子里的巧克力糖 --《一千零一個愿望》

可明日叵测。

改进如果不是在当下,则可能永远不会发生。


我们在过去总是想着把易用性放在体系成熟之后来做。

明日何其多。

4.2 版本专注当下,这个版本的大多数工作,都为了解决用户反馈的不爽之处。

优化体验

开箱可用是我们追逐的目标。

Scratch 在这块所做的设计依然是我们学习的榜样,在 Scratch 中连接乐高的体验,让任何人都感到身心愉悦。

Adapter 正在往这个方向努力。

4.2 中,我们新增了 6 款设备支持 Scratch 风格的发现/连接机制,有了直观的连接机制,许多说明文档就不再需要,而且在意外发生时,用户能在界面上直观看到发生了什么,而不是猜测幕后发生了什么,这对排查问题以及减少新手恐惧都很重要。

这些插件中,有三个是旧插件:

  • Cozmo
  • Robomaster
  • Tello

三个新插件:

BrainCo

Train Your Brain.

BrainCo 目前在探索跟英荔的合作可能性,英荔是 CodeLab 的合作伙伴,从 4.2 版本开始,我们开始重点关注合作项的推进和落地,并在这个过程中,根据用户反馈改进软件体系。这是我们在方法论上做的调整: 服务具体用户,并从中获取改进建议。

LEGO Mario

登登登等灯蹬

我在小学的许多个暑假里,热衷于在马里奥游戏里找彩蛋,倒不急着通关。最喜欢的两个彩蛋,其一是 3-1关 快到终点时,在阶梯上踩那只会飞的鸭子,来获取夸张的奖励。以及在爬到树顶的时候,快速按左-右-跳,闪现到屏幕的另一侧。

有了 LEGO Mario,我们可以动手在桌面上建造关卡!

Sphero RVR

RVR is made for makers, hackers, coders – and you.

Sphero RVR 拥有惊人的稳定性、精度和续航能力,Neverland 里这台 RVR 已经三天三夜没关机了,随时可以连上飞快跑起来。

由于 Adapter 4 内置了跨平台蓝牙驱动,我们轻松接入了 Sphero 全家桶。

Sphero 在全球教育/玩具市场都很受欢迎。


为了让 Adapter Node 更好支持 Scratch 风格的发现/连接机制,构建了一个抽象类: AdapterThing。 我们目前将 AdapterThing 视为在 Adapter 里接入硬件设备的最佳实践,文档参考: Adapter Thing

新插件

Sugar

构建 Sugar 插件的动机最初来自 @Lounsen 的想法: 接布尔量的 hat 积木。

Sugar 插件是个实验室,试图为 Scratch 提供 的语法糖。

新的想法/需求,欢迎在这个帖子下讨论

积木介绍

接布尔量的 hat 积木

除非情况发生变化,否则只触发 一次 .

如果 我的变量 一直 < 50,只向前移动一次.

插件改进

支持 micro:bit v2

最近收到的用户邮件里,最多的提议是:

使 micro:bit v2 在 Adapter 里开箱可用。

4.2 已经完成了这项功能。micro:bit v1 和 v2 默认开箱可用。

此外,在 microbit radio 插件中,v1 和 v2 可以混着用。

重构

基于出色的 Dynaconf 重构了 settings 机制。

此前 Adapter 的配置机制十分复杂,而复杂通常是脆弱的同义词。

为了给用户更多自由以及遵循 unix 传统,我们从一开始就支持用户配置文件以及环境变量。

手动处理不同优先级的配置项带来了许多杂乱和复杂性,我之前很害怕进入 settings 代码所处的沼泽。

4.2版本通过引入 Dynaconf ,希望能彻底解决这个问题,使配置项变得简单、灵活、统一。

其他改进项

  • 解决 WebUI 缩放时,页面失调问题
  • 支持云端更新配置(global_settings.toml)
  • 提供 node 版本服务(静态分析),允许 client 自动检测 node 版本
  • 统一所有 url 中的 adapter_token 参数(为将来灵活的安全机制打基础)
  • 为 microbit 固件刷入添加 ui 反馈
  • 使得 Python Kernel 插件可以向 scratch 传递 json(数据结构)
  • 修复 windows 下 dynaconf 引起的路径错误问题(与python -m启动方式有关)
  • 修复 BrainCo 在 windows 下的打包 bug
  • 修复 马里奥 在 windows10 下的发现问题
  • 支持马里奥掉线通知(UI 同步)

开始使用

下载最新 Adapter

参考