开发平台之Scratch
2021-09-14 12:40:22 阿炯

Scratch是麻省理工媒体实验室终身幼稚园组开发的一套电脑程序开发平台,目前已在150多个国家/地区使用,并提供60多种语言版本。由Mitchel Resnick和Andrés Monroy-Hernández创立,系指令式,事件驱动的编程模式。该开发平台可安装在Mac OS X、Windows、Linux等多个平台上;自2.0之后,换用ActionScript编制,Scratch已于2019年1月2日发布3.0正式版,换用HTML5编制。Scratch运行于浏览器且专注于儿童编程。Scratch源码完全开放,大部分在GPLv2协议下授权。


Scratch让程序设计语言初学者不需先学习语言语法便能设计项目。开发者期望通过学习制作Scratch,启发和激励用户在愉快的环境下经由操作(如设计交互故事、多人游戏)去学习程序设计、数学和计算知识,同时获得创造性的思考,逻辑编程,和协同工作的体验。


Scratch适用于全年龄层用户。即便用户从未学过程序设计,通过拖曳预先设定好的积木式程序模件,堆栈出指令,设置或控制角色及背景的行动和变化,从而完成程序编写。Scratch的1.x版本用Squeak编写,从2.0开始改为ActionScript,自3.0后使用HTML5。Scratch 可安装其发行的应用程序进行离线编辑。其中,1.x及2.0版本需要flash插件,3.0则不需要使用。


接口与功能

Scratch开发平台的用户界面分为四部分:程序模件列表,程序设计平台,预览窗口和角色列表。

在1.4版本中,程序模件列表将其分为8类:动作、外观、声音、画笔、控制、侦测、运算、变量。2.0版本中,有动作、外观、声音、画笔、变量、事件、控制、侦测、运算符和逻辑运算,更多模块。3.0版本中,有动作、外观、声音、事件、控制、侦测、运算符和变量、函数积木等,另外可以通过扩充功能增加更多模块。程序模件各有不同的颜色和形状,以便识别。

Scratch利用“广播”功能实现事件驱动,协调各个子程序的运行。Scratch能提前导入图片、音频素材,支持一维数组,以功能封装的方式简化了角色碰撞检测功能。Scratch不易出现导致程序完全无法运行的严重错误。

主要不足:Scratch没有针对电脑文件的输入/输出功能,不支持多维度表格序列的嵌入,自定义子程序不支持设置形式参数也不支持设置返回值,无法进行角色的局部碰撞检测,缺少并发控制,不方便进行逻辑条件的复杂组合,调试困难。



最新版本:3.23


官方主页:https://scratch.mit.edu/