Flow概念解析与应用场景

一. 关于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的学习计划和项目开发计划
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空