【scratch二次开发教程 第1章】基于scratch 3.0搭建自己的少儿编程平台


作者:管理员
分类:scratch 二开
发布时间:2019-12-14 11:24:46
热度:1604

					

【scratch二次开发教程 第1章】基于scratch 3.0搭建自己的少儿编程平台

写在前面

该系列文章是为具有开发能力的朋友写作的,目的是帮助他们在scratch 3.0的基础上开发一套完整的集scratch 3.0编程工具、用户社区和作品云端存储及、品牌集成于一体的scratch编程平台。如果您不是开发者,但想要拥有自己的教育平台和品牌,也欢迎学习交流和洽谈合作。

所以如果您是想学习scratch少儿编程课程,那请忽略该系列的文章。

为什么要自己开发而不使用官方版本?

这个问题要看我们的做少儿编程教育的需求是怎么样的。

scratch本身提供了离线版本以及官网在线平台供我们使用,这足以满足我们对于编程教学模块的需求。但是对于一些教育培训机构或者学校而言,他们可能需要在此基础上整合学生信息,整合课程体系,对学生的学习情况进行统一管理和在线数据分析,包括支持课程作品的与转发,构建自己的教学品牌并实现线上的传播推广,等等,都需要我们在支持编程教学功能的基础上,引入线上社区、课程管理、综合管理等更丰富的功能,而这些就是二次开发的主要工作。

为什么要选择3.0?

不管是从架构还是从UI上,3.0都比2.0都有了很大的改变。

特别是3.0采用HTML5而不是2.0版本使用的flash,随着H5技术逐渐发展,原本采用flash技术的已经逐渐在向H5转移,相对于flash来讲,H5在页面的装载速度上整体上会更快一些,另外也相对较为省电。更为重要的是,flash对于移动端没什么办法,IOS压根就不支持它。Scratch 3.0是可以在手机和平板上运行的,因为H5需要的是javascript的支持,这在现代浏览器上基本都是没问题的,移动端也不例外。

另外Scratch 3.0是向下兼容的,因此原来2.0的项目在3.0上也是可以运行的,但从实际测试的效果来看,有些2.0的项目还是会让3.0崩溃。

所以如果计划采用Scratch的,选择3.0是肯定的,如果已经采用了2.0的版本,我的建议是逐渐迁移到3.0上,不管怎么说,单单移动端可以运行的理由就足够了,更不用说其他的一些新的功能比如声音控制Scratch项目。当然目前来开3.0还有一些功能上不稳定的地方,但在MIT和各位开源工作者的一起努力下,都会逐渐得到解决。

Scratch 3.0为我们开源了哪些东西?

https://github/LLK是scratch官方的git仓库。3.0相关的工程主要包括以下几个:

我们这里主要基于scratch-gui项目进行二次开发,它就是一个开源scratch 3.0编辑器,效果就是https://llk.github.io/scratch-gui/develop/。

在使用它创建作品的基础上,我们希望能够实现用户管理、用户社区、作品在线编辑和云端保存、作品、自定义品牌logo和角色等主要功能。

至于其他的项目,我也还没有开始研究,但是从项目介绍我们可以知道scratch-paint是绘图编辑器,scratch-www是像scratch官网一样的作品社区,scratch-I10n是国际化相关的,而如果想对scratch编辑器本身做更高级的扩展,可以研究scratch-vm项目,它本身也是被包含在scratch-gui项目中了。

下一章我们将开始着手拉取scratch-gui项目的代码到我们本地,搭建环境将它运行起来。