美文网首页
关于Flow

关于Flow

作者: 乔阳 | 来源:发表于2021-01-10 22:07 被阅读0次

    一. 关于Blockly

    Flow这个项目是我对类Blockly积木块式编程工具的一次反思和迭代尝试。Blockly自xx年出现,经历了几个关键阶段的发展,逐渐发展为国内乃至全世界儿童的理想编程创作工具。刻意确定的是,Blockly确实是划时代意义的GUI形式,解决了很多问题。但是十年过去了,自2015年之后,这种磁吸式积木状的编程GUI就再也没有进化过了,其自身交互形式带来的固有问题,一定程度上阻碍了用户继续享受这种创新式交互所带来的的红利。

    • 关于blockly的历史:
    • 国内用blockly形式的产品:慧编程(Scratch)、编程猫、核桃编程、童程童美、Coding(blockly)、贝尔、Robomaster...
    • 国外用blockly形式的产品:Scratch、Makecode

    二. Blockly的价值分析

    Blockly的出现,将人类编程的年龄门槛,直接从12岁左右(初一)拉到9岁(小学三年级)。这种磁吸式积木拼接GUI,带来的用户价值:

    • 规避了初学者进行代码编程,容易造成语法错误的问题,聚焦在积木块逻辑的搭建上。
    • 支持转C、JS、PHP、Python等语言的代码。因为blockly只是GUI,要让使用者的作品work,还是要依赖背后的代码语言、编译器和运行环境。支持多种语言,拓展了blockly的使用场景。

    其他开发者价值:

    • 可配置、可被嵌入。诞生了Scratch、Makecode这样知名度更高的图形化编程工具。
    • 开源

    然而,这种编程形式以及其后来的迭代发展,也带来两个最严重的的问题:

    • 长代码可读性;
    • 逻辑问题debug难,无法追溯问题;

    目前想到的一些解决以上问题的点子:

    • 数学公式支持Latex编辑、直接代数形式展示。(可读性)
    • 代码布局采用自动挂载“逻辑树”的形式。代码根据运行顺序自动排列。(可读性)
    • 函数采用横向挂载(可读性)
    • 变量、函数、对象可视化(可读性&debug)
    • 代码执行位置标记(debug)

    三. 关于Flow

    为此,可能需要开发一款新的工具来支持以上idea。

    新工具暂时起名为Flow,打算以PyQt5开发,集成Python3.7运行环境(首先只支持代码和Python互转),2个,一个支持pyqt5,一个给用户用。用户每次新建项目,就新建一个venv。

    目前需要考虑,使用Flow编程后,用户代码的运行环境是什么。(类似Scratch的舞台,Makecode的Micro:bit、Minecraft)

    其他需求:

    • 支持导入.sb3和blockly程序(推广用,优先级低)
    • 支持除Python外的其他语言。
    • 争取实现Python和block互转。
    • 所有块绑定快捷键(参考AutoCAD的快捷键设计),帮助用户快速写长程序。

    四. 接下来要做的事情

    • 了解Blockly、Scratch的历史,甚至是图形化编程GUI的历史
    • 明确Flow交互形式
    • 制定PyQt5的学习计划和项目开发计划

    相关文章

      网友评论

          本文标题:关于Flow

          本文链接:https://www.haomeiwen.com/subject/skvlaktx.html