Mind-Flow不是一款软件,是一种编程方式,一种思维方式。
经过2年的实践 基本证明这套思维模式是可以完成我们所需的大部分编程工作。当然也不得不承认 有些事情 传统的代码编程更适合也更简单。但我们还在摸索,改进。
这一路我们饶了很多弯路,遇到很多坑。我们也得以总结一些经验和发展出一些新的思路。
为什么要选Javascript?
M设计初期我们的框架就是对于同一图形界面 使用不同的字典文件 可以翻译为不同的目标语言 结合不同的平台编译器就可以实现跨平台的执行。
当初有2条路 我们都做了测试 也取得了不错的效果。
编译型 or 解释型
对于一个图形化编程系统,高度动态的调试和快速结果反馈当然是我们追求的。所以一开始我们非常倾向于使用解释型语言来作为基石。
关于解释器的wiki:http://zh.wikipedia.org/wiki/%E7%9B%B4%E8%AD%AF%E5%99%A8
但因为我们所实施的平台是Arduino这样的小型硬件设备 像UNO只有2k的内存 其中如果挂载上像TCP模块的协议库 什么都不干 几乎就会用掉70%以上的内存。
我们试着开发了一个小型的串口解释器。完成了以下测试
dititalWrite
digitalRead
analogRead
analogWrite
Delay
<Servo Lab>
后来我们又以此为基础 尝试了音频编程和网络编程。
但解释器的体积庞大,而且最致命的是其扩展性很大程度上依赖解释器自己的固件更新。如果让用户不断的更新解释器,是一件很痛苦的事情。(最好的例子就是以前的Flash Player播放器 打开浏览器一天更新8回都不算完!)
最后因为解释器本身的开发进度不高 无法胜任我们所需的灵活度。而且我们无法把需要的功能都塞入2k的内存(wire tcp 各种lcd.......)
我们还是选择了编译型 也就是原生的Arduino代码.
这玩意貌似没有自动保存 看起来有点危险 所以先发布 尽请期待下一篇<C/C++的荆棘之路>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。