第一梦想创客教育开始!

第一梦想创客教育

当前位置: 主页 > 教程 > linboy官方资料 >

主流图形化编程软件对比

时间:2018-02-26 11:09来源:未知 作者:admin 点击:
主流图形化编程软件对比 2016-12-28 22:39 | 发布者:ama | 查看: 149 | 评论: 0 摘要 : 随着创客教育、STEAM等教育理念的日益流行,各种快速原型开发工具被设计出来,如针对机械搭建的3D打印机

主流图形化编程软件对比

2016-12-28 22:39| 发布者: ama| 查看: 149| 评论: 0

 
摘要: 随着创客教育、STEAM等教育理念的日益流行,各种快速原型开发工具被设计出来,如针对机械搭建的3D打印机、快速电路图布局编辑软件fritzing、电脑动画速成软件scratch等。这些快速原型开发工具为我们的创新型教育提供 ...
 
 

随着创客教育、STEAM等教育理念的日益流行,各种快速原型开发工具被设计出来,如针对机械搭建的3D打印机、快速电路图布局编辑软件fritzing、电脑动画速成软件scratch等。这些快速原型开发工具为我们的创新型教育提供了一份基石,从一定程度上来说,正是由于有了这些快速设计工具,原来高深莫测技术才能够更快的推广到普通大众,变成人人都可参与、人人都可创造的普惠性技能。
 
这些快速开发工具根据其面向的领域,大体上可分为机械、电子、软件等三大类。本文主要讨论其中的软件方向的快速成型工具,也包含一些面向电子领域的相关工具。下面我们先对市面上现有的工具做一下归类,然后再分类讨论。
 
1)面向电子电路布局和设计
由于电子类比较专业,此类软件一般都是面向专业的工程师群体,针对创客群体的工具还不多见,下面列举两个较为流行的工具。
 
Fritzing:
是一款电子电路辅助设计软件,用来帮助设计师和爱好者从物理原型过渡到实际作品。为实现这一功能,软件包含了原理图设计、面包板实物原型设计、PCB布线生成等三个界面。软件内置了一个模块库,包含arduino开原硬件系列、电子元件、通用模块以及一些第三方生产的电子模块。使用时只需要选定目标模块添加进来,并通过鼠标直观连线即可完成作品的视觉设计。且设计图可在原理图、原型图、PCB印刷图之间无缝切换。不过软件有一个缺陷就是不支持仿真,用户通过软件做的布局无法载入程序查看效果。
 
Proteus:
Proteus是英国Lab Center Electronics公司开发的EDA软件,它的功能覆盖很广泛,从原理图布局编辑到PCB布线及导出,以及完善的硬件仿真功能,支持大量处理器模型。不过对于创客群体来说,软件功能完备的同时,略微有一点复杂,适合有一定电子基础的用户学习。
 
2)面向软件编程开发
由于软件开发的形式和实现都比较灵活,所以面向软件开发类的快速成型工具会相对多一些,下面我们按照发布时间顺序,依次介绍这些软件,并简要说明各个软件的优缺点。
 
Arduino IDE:
Arduino几乎是最早的开源硬件,随后演变成一个开源社区,拥有各种各样的兼容硬件。最早针对arduino的编程工具是arduino IDE,用户通过文本化的窗口界面,使用一种类似C++/java的编程语言开发单片机。由于发布时期较早,而且接口开放,软硬件全部开源,所以产生了很多的元件驱动库,通过这些第三方开发的库,用户可以很方便的加载并直接使用,不用考虑底层因素。一定程度上却是方便了开发。不过arduino IDE采用文本方式,本质上和专业的软件工程师环境没有本质区别,所以它的门槛还是相对较高的,并不是网络上宣称的那样好用。
 
Scratch:
Scratch是麻省理工学院媒体实验室开发的一款图形化开发工具,代码开源,早期主要用于电脑动画编辑,面向小朋友群体,通过鼠标拖拽的形式放置各种角色及脚本指令,脚本指令通过搭积木的形态提供给小朋友使用,界面直观好用。并且动画和脚本编辑实时响应,用户可随时点击相应指令与动画进行交互,使用门槛确实很低。由于scratch属于软件在线运行脚本,主要面对电脑展示环境,所以原版无法对arduino等开源硬件进行离线式编程。不过后续有人开发出插件,可通过scratch编辑arduino脚本,并离线下载到硬件中执行。不过由于技术设计方向的不同,scratch并不能很好的兼容arduino环境,做一些简单的模拟数字量采集和IO端口输出还可以,一些复杂的arduino功能,scratch支持的就不时很好。
 
Blockly:
Blockly是google开发的一套图形化编辑外壳程序。或者说这是一个图形化的框架,已经集成了图形块的拼接、拖动、删除等,图形化脚本操作环境开发的很完善。不过这个框架的底层,也就是生成代码部分需要第三方去自行定义。例如图形化界面转成javascript就可以开发网页,转成arduino代码就可以针对开源硬件进行图形化编程,等等。由于这个框架使用方便,功能完备,所以有一些图形化软件就是基于blockly简单修改实现的。
 
ardublock:
Ardublock是由上海新车间开发,这是arduino的第三方开发环境,必须依附于arduino软件而运行,也就是说ardublock软件内置了完整的arduino编译开发环境,这样看来ardublock其实功能和blockly类似,都是提供了图形化操作界面,通过把原生的文本代码提升为更直观和图形块,并通过软件内置的逻辑检测机制确保用户的拼接符合规则,这样确实避免了用户手工敲入代码可能带来的语法错误。加快了软件功能的原型开发。其实大部分的图形化软件都或多或少的具有这个功能,通过图形界面内置的规则检测机制,帮助用户避免一些低级错误。
 
Mind+(mindplus):
Mind+是一款特别的图形化开发工具,这个软件采用C++和Qt开发,界面精致,相对其他拼接指令式的编程软件,确实有一些新意。此软件通过抽象出软件开发中的命令流和数据流,模拟成图形界面中的红蓝折线,通过导线的流动体现出程序流程和数据传递的过程,使得初学者都很容易看懂。和ardublock类似,软件也是提供图形界面的表现层和操作层,而底层的编译下载直接调用arduino环境的命令行接口。
 
Mixly:
Mixly也是针对arduino的一款图形化编程工具,基于上文提到的blockly开发而成。这个软件针对arduino完善了一些数据类型等方面的功能,比原生blockly更好用。相对其他图形化软件来说,mixly显得更轻量级一些,上层图形化界面基于开源blockly修改而成;下层编译下载直接建立在arduino IDE环境上;图形界面的指令映射到arduino原生库,所以软件相当于一个粘合剂,只要arduino原生支持的功能,mixly都可以很快进行集成,方便软件迭代升级。软件开源发布,第三方厂商可以自行添加自己的库文件,或者进行定制。缺陷是和arduino绑定太紧密,难有个性化的功能,且始终受限于arduino本身的天花板。
 
linkboy:
也是一款比较早的图形化软件,除了指令也是图形化拖拽拼接以外,相对于其他图形化软件,linkboy还提供了一个独有的硬件虚拟连线界面,并且和用户要做的实物互为对照,并且模块的引脚连接规则检测机制很完备,功能不匹配的引脚(例如模拟量传感器接到数字端口时),软件会拒绝连接,既方便了用户,又显得更为直观。并且软件不依附于arduino,自成一体,通过内置的专有编译器内核,直接生成arduino的机器码。并且借助这个编译器,linkboy还支持开发电脑游戏、动画、手机安卓APP等。通过内置的一套虚拟机系统,软件还可轻易支持第三方处理器内核,如树莓派、linux开发板等。缺点是所有内置模块的库全部是软件平台自行开发,用户不能在linkboy软件平台上使用针对arduino开发的各种库(不过linkboy自带的库基本已经足够使用,并且软件也在持续更新),这一点倒是问题不大。

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片