🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
**为什么要自己开发而不使用官方版本?** 这个问题要看我们的做少儿编程教育的需求是怎么样的。 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.com/LLK](https://github.com/LLK)是scratch官方的git仓库。3.0相关的工程主要包括以下几个: ![scratch1-1.png](http://www.liyblog.top/uploads/20200119/31f8bd75d0af7fc213f633aa53be970b.png) ![scratch1-2.png](http://www.liyblog.top/uploads/20200119/386b7bf3863dc72f531c33a9fd7c6a3d.png) 我们这里主要基于**scratch-gui**项目进行二次开发,它就是一个开源scratch 3.0编辑器,效果就是[https://llk.github.io/scratch-gui/develop/](https://llk.github.io/scratch-gui/develop/)。 在使用它创建作品的基础上,我们希望能够实现用户管理、用户社区、作品在线编辑和云端保存、作品分享、自定义品牌logo和角色等主要功能。 至于其他的项目,我也还没有开始研究,但是从项目介绍我们可以知道scratch-paint是绘图编辑器,scratch-www是像scratch官网一样的作品社区,scratch-I10n是国际化相关的,而如果想对scratch编辑器本身做更高级的扩展,可以研究scratch-vm项目,它本身也是被包含在scratch-gui项目中了。 下一章我们将开始着手拉取scratch-gui项目的代码到我们本地,搭建环境将它运行起来。