上一篇文章我们论述了scratch是什么,今天我们了解一下scratch的官方版本和一些学习资料还有一些基于官方版本的其他一些优秀的改编版本。
1.scratch官方版本目前有3.0和2.0还有1.4版本
版本向下兼容,(Scratch 3.0 保存的文件格式为"sb3",可以读取1.4版本的"sb"文件和2.0版本的"sb2"文件)
1.4版本是最早的版本,现在很少用到,但是可以下载下来体验一下。(1.4版本下载)
2.0版本是早期一个比较流行的版本,现在包括很多图书和一些教程视频以及一些竞赛都是以2.0版本为基础的。(2.0下载地址)
3.0版本放弃了Flash,采用了HTML5来编写。2018年1月份,Scratch 3.0的第一个公测版本(Scratch 3 beta)在Scratch官网上发布,而离线编辑器在2019年1月后也提供下载使用。Scratch 3.0不仅仅是重构,也增加了一些功能,比如字符串包含判断、(移至最下层)积木等。编辑器的外形看起来更加柔美,拖拽积木还有音效,支持多次撤回和恢复。一般推荐使用3.0版本。(3.0下载地址)
scratch3.0官方学习资源:
网络上有很多入门的教程和视频,不过官方的其实也是很不错的,只不过官方的教程唯一的遗憾就是有很多都是英文,对于中国的小朋友不是很友好。但是作为老师,我觉得有必要去看一看入门教程的设计方式,可以给自己的课程设计上有所启发(scratch创作式学习方法)。同时scratch社区有针对教育工作者的一些内容(scratch致教师)。除了英文的不友好之外,scratch官网的访问速度也是硬伤,有时候官网甚至都打不开,所以国内在scratch官网注册和使用的人数应该不会太多。
scratch社区有3.0版本的免费学习的一些资源,包括入门教程(去入门教程学习)和活动指南(官网的全部教程),还可以下载全套的编程卡片(编程卡片类似于使用说明。使用Scratch编程卡片,你可以学着创作互动式的游戏、故事、音乐、动画,各种作品不胜枚举!3.0编程卡是英文版的下载地址)。还有一些由Scratch团队设计的入门项目,可以查看内部代码,改编它,或者加入你自己的创意(去改编入门项目)。
scratch项目完全开源,而且允许任意使用。这个开发组织除了保留对“SCRATCH”名称和“小猫”LOGO的权利外,公布源码,允许任意修改,发布,传播。已经有不同的改进版本在网上流通。
这是在github上的scratch项目(开源代码地址)。
关于scratch源码分析,可以看看Alan Russell 博客
正是因为scratch开放源码,所以3.0上线后,出现了很多的改进版本和社区生态,这里列举一下几个我知道的。
2.网易有道卡搭
有道卡搭是网易2018年10月10日正式推出的少儿编程启蒙学习品牌,在线社区包括创作平台,作品区,论坛等功能。卡搭的3.0版本对scratch没有做太多拓展,除了logo图标,其他的几乎和官网一样。
卡搭也是国内比较知名的scratch编程学习社区,全中文界面,用户也都是中国青少年。访问速度快。在线创作平台包含scratch2.0和3.0版本,Python编程测试版,趣玩(一款低年龄段孩子学习编程的产品)。拥有素材中心,可以下载很多漂亮的素材。
在线作品可以闭源(不开放源码),不过看的出来,其中很多的闭源作品本身就是来源于scratch的官网(scratch官网的大神很多,一些作品简直堪称惊艳)。关于开源和闭源,就如同windows和Linux一样,有时间再去讨论吧。
网易卡搭对于scratch的改编不大,扩展几乎和scratch官方是一样的。
3.童心制物—慧编程
官方介绍:慧编程是一款面向STEAM教育领域的积木式和代码编程软件,基于Scratch 3.0开发,慧编程属于童心制物(Makeblock)旗下的一个品牌。童心制物(Makeblock)是深圳市创客工场科技有限公司旗下品牌,成立于2013年,是一家服务全球的 STEAM 教育解决方案提供商。
慧编程本来就是做steam硬件产品的,在线社区除了常规的编程作品,还有很多硬件的作品视频。在线创作平台基于scratch开发,布局和scratch不太一样,同时支持很多硬件的接入,可玩性更多些。
慧编程的扩展:
4.codelab
官方介绍:CodeLab是一个非营利组织,致力于传递编程的乐趣,鼓励孩子成为数字时代的创作者;帮助他们理解和参与日益数字化的世界,使用编程表达自己的想法。
codelab做的一些东西还是很有意思的,其中就有CodeLabAdapter, 当初也就是这些视频深深吸引了我(观看他们的展示视频)
CodeLab Adapter 是由CodeLab构建的基础项目(v2 是最新版本),致力于连接万物,无论是软件还是硬件,无论是 AI、开源硬件、现实世界的物体、还是虚拟世界的动画角色,在 CodeLab Adapter 的驱动下,皆可彼此互动。
codelab的扩展:
简单地说,他们开发了一个工具(CodeLab Adapter),可以拓展scratch的功能,包括连接其他的一些硬件或者玩具以及AI的相关功能。(官方的使用文档地址)
CodeLab Adapter V2 Web UI:
我利用该工具其中的一个extension_wechat的功能,制作了一个在远程抓娃娃的项目,任何人只需要向我微信发送相应的文字就可以操作这个游戏!是不是很有意思,实现的原理就是利用这个工具连接网页版的微信,然后我登录微信,那么这个工具可以检测我微信收到的内容,然后在编程中用积木块实现:当接受到**内容即可。(使用教程)
5.小喵科技
官方介绍:小喵科技是一家致力于STEAM教育行业的软硬结合型公司。在硬件方面,专注于开源硬件,目前主打产品围绕micro:bit,已经开发出了许多的周边产品并且受到全球使用者的普片认可,包括Robotbit,IObit,powerbrick等等。 在软件方面,拥有属于自己的图形化编程平台Kittenblock(下载地址)。
Kittenblock是由小喵科技出品的一款基于Scratch3.0的青少年编程软件。它不仅仅局限于简单的舞台软件交互,更多的亮点在于它的硬件交互,代码转译,真正的人工智能体验,IOT物联网等等功能。支持图形化程序的micro:bit,arduino等开源硬件控制,支持图形化转Python/c++代码等高级语言。
Kittenblock编程界面(下载地址):
Kittenblock扩展:
小喵科技的Kittenblock没有在线社区,需要下载离线版才能使用,但是有一个在线的论坛。
小喵科技的Kittenblock据说非常好用,而且受到业内的诸多好评。
6.snap!
有道翻译结果:snap!是一种可视化的,图形化(积木拖拽式)编程语言。它是Scratch(麻省理工学院媒体实验室终身幼儿园小组的一个项目)的扩展和升级,允许你构建自己的模块。这些增加的功能使它适合于高中或大学学生认真介绍计算机科学。
有道翻译的结果:snap!是BYOB的HTML5重新实现,对Scratch 1.4进行了修改,增加了许多新的高级特性。它由前Scratch团队成员Jens Monig (@Jens)和Brian Harvey (@bharvey)编写。它的代码库与Scratch完全不同,但它们都是基于Scratch 1.4的。
snap!它支持高清图,舞台可以定制大小,函数可以带返回值。
对于习惯用scratch3.0的人来说,突然用snap!似乎不太习惯,但是基于他的某些特性,将来可以详细研究一下。
这篇文章会长期更新,欢迎收藏关注。