首页 > 其他分享 >为什么工业软件开发一般用的都是QT?

为什么工业软件开发一般用的都是QT?

时间:2022-11-21 10:12:41浏览次数:40  
标签:为什么 QT 软件开发 C++ 跨平台 UI 工业 软件

这个说法不大准确吧,CAD、MATLAB、EDA、PRO-E、Proteus、POWERPCB是用的QT么?SAP、EBS(ORACLE)、LabView是用的QT么?西门子的工业控制类的软件(比如SIMATIC SCADA)用的QT么?这些都是工业软件里占有一席之地,事实上绝大多数的工业研发设计类几乎都是用的C/C++开发的吧,研发能力强一点的应该不大会选择QT吧,而那些选用QT的一般研发能力与规模都不大吧,小打小闹而已,不过数量可能不少,但一旦他们发展到一定规模,开发能力提升到一定程度后大都会自研UI来代替QT吧,毕竟也只是用QT来做做界面而已。

工业软件是对工业研发设计、生产制造、经营管理、服务等全生命周期环节规律的模型化、代码化、工具化,是工业知识、技术积累和经验体系的载体,是实现工业数字化、网络化、智能化的核心。简而言之,工业软件是算法的代码化,算法是对现实问题解决方案的抽象描述,仿真工具的核心是一套算法,排产计划的核心是一套算法,企业资源计划也是一套算法。像CAD、EDA什么的是工业软件(设计研发类),又如3UCS ERP、MES、智联装配等应用以及3UCS工业互联网平台xWorks内定制的工业APPs也都属于工业软件。

为什么工业软件开发一般用的都是QT?_跨平台


 

工业软件最大的特征就是专业性强、复杂度高,需要相当深的专业知识、经验、科研基础,并且工业软件中的研发设计类软件涉及太多的二维/三维图像处理模拟方正对运算性能要求高,而ERP、MES、PLM、工业APPs等生产管理、企业数字化方面的工业软件大多不是简单的软件开发,而是要跟硬件打交道,跟设备交互,涉及品类繁多的工业协议,还有相当严格的实时性要求,同时涉及复杂的工厂业务逻辑,C/C++是提供这些高性能要求以及底层复杂交互协议处理的最好方式,C/C++是仅次于汇编语言的最底层程序开发语言,用C/C++开发工业软件最适合的了。

 

事实上,像CAD、MATLAB、EDA之类的软件肯定是C/C++开发,大多数的头部、优秀的ERP、MES、PLM、工业APPs等生产管理、企业数字化方面的工业软件也是C/C++开发的,3UCS的ERP、MES、工业APPs都是基于其xPlus构建,而xPlus内核就是C++内核,服务器端、PC客户端、手机客户端的内核全是C++开发的(Windows用DUI做UI,Android用Java做UI,IOS用Objective C做UI等),这样不仅提供了高性能,同时跨平台代码共用,确保跨平台的内核逻辑一致性,还节省了跨平台代码的编写时间与费用;这也是其所有应用跨平台共用一套BizXML代码的基础和保证。


标签:为什么,QT,软件开发,C++,跨平台,UI,工业,软件
From: https://blog.51cto.com/bizfree/5872643

相关文章

  • 企业为什么要实施 mes 系统?
    这里提到的企业应该是生产制造型企业,制造型企业上MES系统的根本原因就是制造业企业的核心工作是生产制造,而MES本身就是一套面向制造企业车间执行层的生产信息化管理系统,即......
  • MQTT生产实践总结与EMQX5.0探索
     引言之前做了一个系统,系统的一部分硬件设备是使用MQTT协议接入的,无奈只好去研究它。好不容拼凑出一套能用的代码,上生产以后频频出现故障,后来稀里糊涂的解决了,但是一直......
  • 作为一名测试工程师,我为什么要写博客?
    第一篇文章,讲讲自己为什么要写博客点点点手工测试的逆袭一般和开发一样分两步:让自己变得牛逼,让别人知道你牛逼.首先作为一名测试工程师,我的工作就是跟进版本,编写测试......
  • 为什么你的static_assert不能按预期的工作?
    static_assert是c++11添加的新语法,它可以使我们在编译期间检测一些断言条件是否为真,如果不满足条件将会产生一条编译错误信息。使用静态断言可以提前暴露许多问题到编译阶......
  • Linux切换账户(或ssh远程)执行QT程序无法输入中文
    系统:银河麒麟前提条件:已经安装了fcitx插件,因为QTcreator本身不支持中文输入,需要插件支持;场景1:一台计算机;使用普通用户(例如:user01)登录并打包一个可以执......
  • pyqt5图形化界面程序打包成exe可执行文件
    1.pipinstallpyinstaller2.打开命令行目录转到项目的所在目录下  3.打包主程序文件  pyinstaller-F-wmain.py。当前目录下会生成build,dist文件夹和main.spe......
  • vs+qt静态编译环境配置
    一、简述Qt官方提供二进制安装包+vs开发环境默认只能通过动态编译。可以通过Qt提供工具Windeployqt把相关qt依赖dll复制到当前目录(但是会有windows系统提供dll不能关联,所以......
  • IIC读时为什么要发送两次设备地址?
     玩单片机的朋友都知道IIC通信这个工具,但好多人只是会用,内部的原理不求甚解,或是想要了解其原理,但却对抽象的时序描述一头雾水。本文将从实测的IIC波形入手,带你看到真实的......
  • libusb系列-007-Qt下使用libusb1.0.26源码
    libusb系列-007-Qt下使用libusb1.0.26源码文章目录​​libusb系列-007-Qt下使用libusb1.0.26源码​​​​摘要​​​​安装编译环境​​​​确认需要的文件​​​​开始编译......
  • Qt基础之四:Qt信号与槽机制原理及优缺点
    信号和插槽用于对象之间的通信。信号和槽机制是Qt的核心特性,可能也是与其他框架提供的特性最大不同的部分。Qt的元对象系统使信号和槽成为可能。一.简介在GUI编程中,当我们改......