家里孩子最近开始学编程,于是向身边老师咨询了图形化编程的一些常识,自己也做了功课。结果发现网上许多帖子跟老师说的实际情况不符,很多信息还停留在两三年前。
都2020年了,少儿编程又是变化非常快的一个行业。所幸把自己这两周搜集到的信息整理出来,供大家参考,免得很多家长还停留在过时的印象里。也希望更多更专业的老师们能参与讨论,帮助更新行业的相关信息。
一、 为什么不建议直接学scratch或者makecode
如果你跟我一样,是刚刚接触这个领域的家长,那你最先听到的很可能也是scratch和makecode这两款软件。一个是MIT开发,一个是微软开发,大公司,老品牌,全球都在用。
这两款软件在全球范围内得到认可,一定是靠谱的,但为什么在中国不是很普及,老师更喜欢用国内厂商的一些软件呢?
我得到的答案是:这两款软件虽然各有所长,但各自的短板也很明显。
具体体现在:
makecode支持micro:bit,但对arduino支持性有限;
Scratch有丰富的动画舞台展示编程效果,适合低年级初学者,但需要一直连接主控板,不能将程序上传至主控板进行更多硬件操作,对高年级学生不适用;
Makecode则刚好相反,只能将程序烧录进主控板或者通过模拟器观察程序效果,不能通过动画舞台展示实时看到编程结果,对初学者不友好。
相比之下,国内的软件通过整合这两款软件的优势,取长补短,更符合国内学习习惯。
二、同样基于scratch/makecode,国内各种软件怎么选
知道了scratch之后,再去做调研的时候,我又听到像mixly、mBlock、KittenBlock、Mind+这些软件的名字。这些国产软件有一个共同点,都是基于scratch或者makecode开发。
那他们各自有什么优缺点呢?
我专门搜集了网上的各种测评,整理如下。
我在知乎上找到一篇帖子,作者是科技学堂创始人老刘,帖子发布于2017年1月,里面很多信息过时了,不过开头对比Mixly、ArduBlock、S4A的部分可以了解下:
“Mixly是一款基于Blockly的免费开源的图形化Arduino编程软件,由北京师范大学教育学部创客教育实验室傅骞教授团队开发。同样为Arduino图形化编程工具,国内我们常见的还有ArduBlock和S4A(Scratch for Arduino)。前一阵,因为要举办一场Arduino入门培训活动,我们特地将三者做了一下比较。
一条原因就先把S4A从备选工具中排除出去:无法脱机运行。Scratch最初软件设计时,并未考虑与硬件的通信,S4A的出现让Scratch可以通过串口与Arduino通信,而通信则意味着S4A全程充当的是信息中转。我们希望给初学者选择一个功能相对更专业的工具,因此先放弃S4A。
再详细对比一下Mixly和ArduBlock。
无论从功能的专业性还是丰富性,Mixly都胜出。”
好了,说结论,根据老刘严谨的论证,Mixly、ArduBlock、S4A这三款软件对比的时候,选Mixly就对了。
知乎上还有另一篇比较火的帖子,有129个人赞同。作者是“开源硬件实验室知乎专栏”,也发表于2017年初,不过比上面那篇提到的软件更丰富一些:
4.mBlock
适合年龄段:8岁以上
软件功能完善度 ★★★★☆
使用体验 ★★★★☆
支持硬件种类 ★★
更新速度 ★★★
配套教程 ★★★★
mBlock由国内Makeblock创客工场出品,基于Scratch开源代码修改而来,界面和使用体验OK,是最接近原版Scratch风格的。另外支持查看图形化模块对应的代码,适合孩子慢慢的过渡到代码编程。最近貌似开放了第三方模块的支持,已经看到一些第三方模块可以用mBlock编程。配套自己产品的教程相对丰富。
5.好好搭搭
适合年龄段:8岁以上
软件功能完善度 ★★★★☆
使用体验 ★★★★☆
支持硬件种类 ★★★★
更新速度 ★★★
配套教程 ★★★★
好好搭搭来自杭州好搭团队开发的在线编程平台,也是只需要打开浏览器,基于Scratch开源代码修改而来,实现了云编译功能。在Scratch Day活动每天高访问量下,平台依然稳定好用。好好搭搭支持Scratch动画编程、Arduino硬件编程和其它一些第三方硬件,方便孩子从动画编程无缝过渡到硬件编程上。也可以查看图形化模块对应的代码,配套教程丰富,网站定期也会推出一些很有影响力的活动,适合小学低年级以上。唯一的不足是目前网站的UI设计还不够完美,不过听说已经在开始优化这一方面了,让我们拭目以待吧。
6.Mixly
适合年龄段:12岁以上
软件功能完善度 ★★★★☆
使用体验 ★★★★☆
支持硬件种类 ★★★★
更新速度 ★★★★
配套教程 ★★★
Mixly来自北师大傅骞团队开发,基于Google Blockly核心,支持大部分Arduino硬件,第三方也可以自己制作库文件。软件更新迭代频繁,一直在优化。软件使用体验很好,也可以查看图形化模块对应的代码,配套教程丰富,适合小学高年级以上,唯一不足是编译的速度有点慢。
7.KenRobot
适合年龄段:12岁以上
软件功能完善度 ★★★
使用体验 ★★★★☆
支持硬件种类 ★
更新速度 ★★★
配套教程 ★
由90后工程师李时念及来自前百度的工程师团队,用时约半年开发完成。该平台没有采用Blockly和Scratch框架,软件使用体验和界面设计OK,有图形化编程和代码编程两种版本,适合不同需求,支持arduino硬件,目前只有Arduino UNO可以用,其它硬件估计很快就会更新上来,配套教程还不够完善,适合小学高年级及以上。”
从作者给出的评分可以看出,在跟mBlock、好好搭搭、KenRobot比较时,Mixly依然是更有优势的那个。
所以,2017年的时候,国内各种图形化编程软件相比较,Mixly胜出。
不过,上述信息都来自3年前,孩子老师告诉我,现在Mixly也老了,在行业里也到了被后浪推的阶段。
后浪有哪些?
孩子老师告诉我三个名字:Kittenblock、Mind+、mPython。
我又百度了一些信息,其中Kittenblock、mPython的资料不多,只有官网上的简单介绍,Mind+在线上论坛有几篇比较详细的测评贴:
“Kittenblock是小喵科技推出的机器人编程软件,采用模块化积木编程方式编程,支持MicroBit、MiniLFR、Arduino、Dobot、Tello等设备的编程和烧录。Kittenblock的可视化编程界面,可以让零基础的用户快速学习,可以轻松对机器人进行编程操作。”
“mPython是盛思技术团队在BBC官方原版PythonEditor基础上、拓展开发的应用软件。可以进行可视化代码编程,有hex、python、blockly三种代码读写等功能。”
几篇提到Mind+的帖子中,有一篇是一位老师把Mind+和Mixly做了直接对比:
“最近看到微信群里面大家都在推荐用Mind+编程,据说是Scratch3.0的还支持很多硬件,作为一个创客老师,我决定试试看。我当前正在用米思齐教编程,支持的硬件非常丰富,不过感觉学生上手还是稍微有点难度,不过学生基本都有一些scratch的基础,正好试一下看看这个软件如何。“
他得出的结论是:1、兼容Scratch。2、支持三大主控板。3、支持海量传感器。4、支持python代码编程。
使用上来说,跟Scratch的界面何操作方法基本相同,也有快速入门的视频和教程,上手完全没有难度。当然对于一个玩硬件的老师来说,印象最深的是支持的硬件种类非常丰富,应该是我见过的在scratch平台上支持硬件最丰富的软件了吧,还有一些语音识别这种功能,玩法比较丰富。缺点的话我觉得软件功能有点太多,所以有许多界面和模式以及隐藏功能,可能会被搞晕,期待后续能做的更好吧。“
我拿着这篇帖子又去问了自己孩子老师,他基本认同,他给我的信息是,“前两年带学生去参赛,现场大部分用的都是Mixly,今年去的时候,大部分都换成Mind+了,行业变化还是很快的。”
为什么呢?
老师向我详细介绍了这些软件的发展始末,简单讲就是:
Mixly基于blockly开发,编程语言更加原始,类似于把代码一一对应成图形化模块,学生用起来并不比直接学习代码简单;
Mind+兼容Scratch,更易上手,对学生可能接触到的编程语言进行了阶梯式划分,简单的模块很容易找到,复杂的模块入口更深,同时结合makecode,保留了高阶能力,让学生有一个由浅入深的学习过程。
老师还顺带对比了Kittenblock和mPython:
Kittenblock不支持国内老师习惯用的掌控板,mPython基于基于makecode,但也像makecode一样没有实时模式,不能通过动画舞台看到实时效果。
三、结论,供参考
总的来说,经过调研我发现,2020年国内常见图形化编程软件主要有:编程猫、mBlock、 Mind+、Mixly、Kittenblock和mPython。
其中根据知乎作者“开源硬件实验室知乎专栏”和科技学堂创始人老刘的观点,Mixly在三年前更有优势,在支持硬件方面比mBlock更丰富,但相比当今其他软件在语言设置上对初学者不太友好。
根据我向学校老师咨询的结果:2020年比较常用的软件中,Mind+是参赛学生用的比较多的图形化编程软件,特点是兼容Scratch3.0,支持的平台和硬件多;编程猫也很热门,特点是内容丰富有趣,相对偏向5年级以下学生,支持的硬件相对少一些。
下一篇