Blockly简介

2020-03-12  本文已影响0人  知晨创客坊

Blockly是为应用程序添加可视代码编辑器的应用。Blockly编辑器使用卡合的图形块(后文称图形块为积木,像乐高积木一样,使用者可以自由搭配积木)来表示代码概念,如变量,逻辑表达式,循环等。它使得用户可以不必关注语法细节就能直接按照编程原则进行编程。图形块形式的编程易于初级用户或年龄较小的学生熟悉编程,利用图形块的编程方式,理解编程,实现创意!


卡合

1. Blockly界面介绍

Blockly界面

Blockly的优势不在于定义界面有哪些功能积木,重要的是可灵活定义积木块,自由搭配积木块,使一堆卡合的积木块翻译出一种通用的XML语言,运算出相应的结果。
界面整体称为工作空间,主要分为三个区域,分类区、积木区、脚本区

Blockly初始时,将分类XML转化为分类区和积木区,生成Workspace,运行时,将脚本区中的积木组,转成对应的代码段,然后转成可执行的高级编程语言,获得结果。

2. Blockly使用

源码

Blockly由JavaScript编写,利用Google的closure-library技术实现,使用npm进行包管理,gulp进行代码打包生成。Blockly源码地址

  1. 安装包 npm install
  2. 打包 npm build

另外npm build打包时会生成4类文件blockly_compressed.js、blockly_uncompressed.js、blocks_compressed.js、[language]-compressed.js,blockly文件为核心代码文件,blocks文件为Blocks积木代码文件,[language]文件为积木对应的高级语言代码文件。

Demo例子

Demo例子

Blockly Demo例子可以直观的感受Blockly使用方法,从Workspace的生成(toolbox、fixed、resizable等),到积木组的执行(interpreter、code等),再到积木的制作(graph、blockfactory等),具体使用方式可参考Blockly的开发者文档

playground例子

Blockly引入了playground例子,后期Scratch每一个模块都是使用playground为例子,playground例子包含了项目绝大部分功能。


playground例子

左侧即为Blockly比较重要的特性,每一项都可以触发Workspace事件,使用不同的方式相应。
LTR:控制分类或的对齐线在Workspace左侧还是右侧对其;
Categories:显示不同的分类;
Start:控制分类在Workspace上下左右侧显示;
Classic:Workspace的主题;
Export/Import: 脚本区的脚本导入导出xml;
To [language]:脚本区的脚本生成对应高级语言代码;
Stress test:使用不同的方式生成积木代码,显示先脚本区;
Log event:Workspace的事件日志记录器,勾选后,控制台将会打印事件日志;

3. Blockly类似软件

在越来越丰富的可视化编程环境中,Blockly仅仅是其中的一个,Blockly不是所有应用程序的解决方案。以下是一些您可能会发现有用的其他可视化编辑器:

上一篇下一篇

猜你喜欢

热点阅读