核心包括:Scratch-gui、Scratch-blocks、Scratch-vm、Scratch-render以及Scratch-storage。
Scratch-blocks是在Blockly的Web版本源码的基础上修改而来,可能会有部分未用到的
scratch-block 是folk了google的blockly, 是拖拽、组合代码块的图形界面。
scratch-vm 做的是执行用户组合出的代码块,然后把结果渲染带出来。
scratch-gui是包在scratch-vm上面的一层,负责scratch主页的图形界面部分。它还提供了图形编辑、音频编辑、文件存取、界面语言设置、教程等功能。主要用到了ReactJS和Redux。
scratch-www是包在scratch-gui外的一层,是scratch.mit.edu/ 网站的源码。提供了账户系统、项目管理、项目分享等功能。主要用到了ReactJS和Redux。