美文网首页
关于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

    心流,指的是当人们沉浸在当下着手的某件事情或某个目标中时,全神贯注、全情投入并享受其中而体验到的一种精神状态。 奇...

  • 关于Flow

    一. 关于Blockly Flow这个项目是我对类Blockly积木块式编程工具的一次反思和迭代尝试。Blockl...

  • 关于git flow

    <1> Git flow是git的一个扩展集,它基于Vincent Driessen 的分支模型,文章“A su...

  • 关于git flow工作流程的一点思考

    关于git flow工作流程的一点思考 Git Flow工作流程 Git分支管理策略 具体流程暂不细表,参考文章中...

  • 废寝忘食地玩游戏,原来是达到了心流状态,也是沉浸式体验设计基石

    心流理论 Immersion在《设计的法则》中解释了心流理论flow(心流),关于心流可参照经典著作《Flow:t...

  • flow.js

    flow是facebook开源的js静态类型检查工具 flow命令: flow init:启用flow, flow...

  • Vue源码解读——准备工作(一)

    flow vue使用flow进行静态类型检查,学习flow有助于理解vue源码,了解flow。 flow是什么? ...

  • git flow 工作流程

    写在前面:在网上能够看到很多的关于git flow 工作流程的博客或者文章,我将我的工作中的git flow的管理...

  • git分支管理与使用规范

    git分支管理与使用规范 分支管理 flow git flow github flow gitlab flow f...

  • Vue 源码解析

    一、FLow类型检测 安装Flownpm install flow-bin 初始化flow项目flow init ...

网友评论

      本文标题:关于Flow

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