Dynatalk 致力于对象之间的交流, 尤其关心不同语言/环境之间的互操作。
构建 Dynatalk 的原因: 我喜欢在 Squeak 进行探索性编程, 但 Squeak 第三方库不够丰富。 渴望一个简单的跨语言的对象协作机制, 在需要时, 就可以在 Squeak里使用 Python 或浏览器的 API。
Dynatalk 使用 MQTT 来传递消息, 需要运行一个 MQTT broker.
然后在以下语言的客户端中开始编程。
Dynatalk 支持多种编程语言
- dynatalk-js
- dynatalk-squeak
- dynatalk-py
- dynatalk-MicroBlocks
- dynatalk-snap
- dynatalk-unity
- 之前的实现: Unity 学习笔记之消息传递
- dynatalk-roblox
- 之前的实现: 增强 Roblox Studio 的互操作性
和 SqueakJS类似, 最初的 Dynatalk 以探索性编程的风格在 LivelyKernel 中开发, 受益于 LivelyKernel 强大的 liveness, 开发过程高效而愉快。
最近的几个版本在 Squeak 中开发, 借助其强大的 debugger, 可以将手伸到运行堆栈的每个角落里。在 Smalltalk 中,测试驱动风格的开发充满了乐趣。
参考 消息结构
参考 设计理念