编程软件哪个好(主流图形化编程软件对比)

  • A+
所属分类:知识

编程软件哪个好

点击上方“公众号”可以订阅哦令博机器人创客学院
您身边真正的机器人教育

随着创客教育、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自带的库基本已经足够使用,并且软件也在持续更新),这一点倒是问题不大。

linkboy下载地址:www.lab-robot.cn
公司官网:www.lab-robot.cn
开源论坛:www.lab-robot.cn
QQ讨论群:260453830

12
令博愿景
令博致力于普惠制机器人教育,激发孩子的想象力与动手实践能力,培养孩子的创新精神,给孩子一个智取童年。
我们认为,机器人教育不应该是高端教育,它应该是每个孩子都能接受的起的普惠制教育。

LABROBOT
我们热爱科技
对科技未知充满孩子般的好奇
长按二维码 关注我们

编程软件哪个好相关文章

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: