带你读《Blockly创意趣味编程》之一:Blockly概述

简介: Google Blockly作为一种可视化编程语言,通过类似拼图的方式构建出一个程序。本书配有丰富的案例、图片,对Blockly的基础知识、程序结构以及高级使用进行了详细的介绍。在每一章结束后都搭配一个游戏,帮助巩固本章知识,反思学习效果,更快速地上手Blockly编程。此外,每一章的课外拓展资料可以帮助了解计算机的发展。

点击查看第二章
点击查看第三章
Blockly创意趣味编程

image.png

周庆国 崔向平 郅 朋 编著

01

Blockly概述
● 学习目标
理解Blockly的概念、编程方式。
掌握在线版和离线版Blockly的使用。
掌握Blockly各个模块的功能。
● 知识图谱

image.png

在本章中,我们将学习什么是Blockly及其编程方式、在线版与离线版的Blockly的使用方式以及各个模块的功能。学习完本章的内容后,我们将对Blockly有一个整体的了解。

1.1 什么是Blockly

Blockly是一种可视化编程工具,也是众多可视化编辑工具的鼻祖。2012年6月,Google发布了完全可视化的编程语言Google Blockly。Blockly代码块由类似于积木的图形对象构成。使用者通过拖动鼠标,就可以将这些“?代码积木?”拼接起来,创造出简单的功能,然后将一个个简单功能组合起来,最终构建出一个程序。相较于传统字符型的编程语言,Blockly语言无须大家考虑命令行模式下复杂的语法规则,学习成本更低,趣味性更强。
1.一种基于网页的可视化程序
Google Blockly是基于网页的可视化编程工具库,用户可以以离线或者在线的方式,在Windows、Linux和Android等平台上使用Blockly进行编程操作。
2.多种开发语言环境库
Blockly基于图形化编程设计,可以导出JavaScript、Python、PHP、Lua、Dart等多种语言。在Blockly中有一个类似语言转换器的工具箱,可以将图形化编程语言转换成多种编程语言代码,有助于用户通过图形化编程方式理解多种程序语言。
3.开源的自定义编程环境
Blockly是开源的编程工具,用户可以根据自己的需求对Blockly工具箱进行自定义设计。同时,Blockly开发工具能将用户自定义的块添加至工具箱,并在工作区工厂完成对代码的封装,如图1-1所示。

image.png

1.2 Blockly编程环境

Blockly有在线版和离线版两个版本,在浏览器的地址栏输入https://developers.google.cn/blockly/ ,访问Blockly官网,即可体验Blockly在线编程,如图1-2所示。

image.png

离线版的Blockly无须安装,只需要在解压文件后,进入Demos并打开index.html文件,选择相应的选项即可体验。在Linux系统中,可下载TAR Ball,在终端解压文件即可;在Windows系统中,则下载ZIP File并解压即可。下载地址如下:
Github Blockly地址:https://github.com/google/blockly
TAR Ball地址:https://github.com/google/blockly/tarball/master
ZIP File地址:https://github.com/google/blockly/zipball/master
如图1-3所示即为Blockly离线版Demos。

image.png

1.3 Blockly模块功能

Blockly总共分为8个模块,学习了新的函数或者命令后,就可以使用这些模块进行练习。所有的Blockly模块都存放在在线编程界面左侧的列表中,如图1-4所示。

image.png

使用时遵循正确的语法并进行适当的缺口对接就能实现预定功能。因此,通过对模块进行适当的组织就能轻松地实现新的想法和创意,如表1-1所示。

image.png
image.png
image.png

1.4 小试牛刀—游戏:拼图

学习完上述内容,相信大家对Blockly已经有了初步的认识。接下来我们通过一个游戏来进一步掌握这种类似积木拼接的编程模式,游戏地址如下:http://cooc-china.github.io/pages/blockly-games/zh-hans/puzzle.html?lang=zh-hans
游戏规则:
① 每种动物都有自己的特征。拖动模块将动物与其特征进行匹配,并为每一种动物选择合适的腿数,如图1-5所示。
② 单击“检查答案”按钮检查是否正确完成拼图,匹配正确后,游戏结束,顺利通关,如图1-6所示。

image.png

image.png

1.5 本章练习

1.进入Blockly官网,熟悉Blockly,并使用在线版Blockly输入“HelloBlockly”。
2.在本地配置离线版Blockly,并完成Plane游戏的练习。

1.6 课外拓展

计算机语言
计算机语言是指人与计算机之间“交流沟通”的语言,它是人与计算机之间通信的媒介。目前计算机语言的种类非常多,根据其功能和特性可大致分为机器语言、汇编语言、高级语言三大类。众所周知,二进制是计算机语言的基础,而这种计算机能够识别的二进制语言就称为机器语言。如果要和计算机之间进行信息传递,就需要写一长串由0和1组成的指令序列,告诉计算机下一步该做什么、怎么做,由此可见使用机器语言是十分不便的。为了减轻这种使用上的不便,汇编语言诞生了。汇编语言是用自然语言中的一些简单的单词或符号来替代一些操作的二进制指令序列,如SUB代表减法,ADD代表加法。由于计算机不能识别这些符号,所以在执行汇编语言之前需要先将其编译成计算机能够识别的机器语言。虽然汇编语言在机器语言的基础上做了一些人性化的改进,但是它的每一条指令只能完成一个非常简单的操作,这就导致汇编程序依然非常复杂,不利于学习和开发。于是,在汇编语言的基础上,又诞生了高级语言,也就是我们现在常用的开发语言,如C、C++、Python、Java等,与机器语言、汇编语言相比,高级语言更接近于自然语言,大大简化了底层的操作指令,降低了编程者的入门门槛。
TIOBE是开发语言排行榜,它会根据当前业内程序开发语言的流行程度每月更新一次(如图1-7所示)。通过这些指数,不仅可以帮助开发者根据趋势制定合理的学习路线,而且可以帮助企业及时进行招聘、开发等方面战略部署与调整。此外,通过长期的数据对比,该指数还对世界范围内开发语言的走势具有重要参考意义。

image.png

相关文章
|
1天前
|
前端开发
技术好文共享:第二十二webchat(2)
技术好文共享:第二十二webchat(2)
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
小说中修仙系统的方向统计_IT修仙_人工智能的底层逻辑
小说中修仙系统的方向统计_IT修仙_人工智能的底层逻辑
122 0
|
9月前
|
机器学习/深度学习 传感器 安全
2023年高教杯A题定日镜场的优化设计思路及参考代码(持续更新)
2023年高教杯A题定日镜场的优化设计思路及参考代码(持续更新)
南大《探索数据的奥秘》课件示例代码笔记18
南大《探索数据的奥秘》课件示例代码笔记18
52 0
南大《探索数据的奥秘》课件示例代码笔记13
南大《探索数据的奥秘》课件示例代码笔记13
54 0
南大《探索数据的奥秘》课件示例代码笔记17
南大《探索数据的奥秘》课件示例代码笔记17
40 0
|
程序员 前端开发
关于程序员写好 ppt 的几点总结
程序员日常工作中最多的应该是接收需求、编码实现需求。但也有些时候需要做一些非代码的文字工作。
101 0
关于程序员写好 ppt 的几点总结
|
存储 设计模式 Java
十一长假我肝了这本超硬核PDF,现决定开源!!
在 【冰河技术】 微信公众号中的【互联网工程】专题,更新了不少文章,有些读者反馈说,在公众号中刷 历史文章不太方便,有时会忘记自己看到哪一篇了,当打开一篇文章时,似乎之前已经看过了,但就是不知道具体该看哪一篇了。相信很多小伙伴都会有这样的问题。那怎么办呢?最好的解决方案就是我把这些文章整理成PDF电子书,免费分享给大家,这样,小伙伴们看起来就方便多了。希望这本电子书能够给大家带来实质性的帮助。
108 0
十一长假我肝了这本超硬核PDF,现决定开源!!
|
机器学习/深度学习 人工智能 算法
李飞飞明星课程CS231n翻新!增加transfomer等内容,视频PPT全部放出
李飞飞明星课程CS231n翻新!增加transfomer等内容,视频PPT全部放出
238 0
|
人工智能 Cloud Native NoSQL
阿里云产品精选内容合集(四)| 具体应用困难?那你不能错过这些应用技巧
本合集精选社区阿里云数据库内容,助你更快更好的了解阿里云数据库近况及实战应用。