LI123 发表于 2024-7-12 21:25:06

上位机开发平台介绍:优缺点、使用场景及适用平台

一、有什么上位机开发平台(异同点和使用场景)

因为上位机概念的广泛性,所以上位机开发平台可以是任何开发平台。这儿介绍几个常用的精典的上位机开发平台及其特点。

VB(VisualBasic)

开发语言:Basic(BASIC是一种译音式的编程语言,在完成编撰后不须经由编译及联接等步骤即可执行,类似脚本语言)

开发工具:VisualBasic(语言简单易用,对面向对象编程和多线程编程支持不完整)

适用平台:WINDOWSALL

平台特性:以面向对象的思想开发可视化图形界面的应用程序。采用面向对象程序设计方式(Object-OrientedProgramming),把程序和数据封装上去作为一个对象,每位对象都是可视的。开发人员在界面设计时,可以直接用VisualBasic6.0的工具箱在屏幕上"画"出窗口、菜单、命令按钮等不同类型的对象,并为每位对象设置属性。在流行的时侯有大量功能库可以使用,例如典型的数据库管理控件。VB属于在刚才出现图形界面开发阶段的开发平台。因为平台老旧以及basic编程语言的缺点,如今早已没有人使用了。尽管如今有了“VisualBasic.NET”但是使用的人极少。

VC(VirtualC++)

开发语言:面向对象语言C++(谷歌更具C++标准实现的谷歌版本,编译器采用cl.exe)

开发工具:VisualC++

适用平台:WINDOWSALL

平台特性:以面向对象的思想开发可视化图形界面的应用程序。最大的亮点是MFC框架。是谷歌公司提供的一个泛型,以C++类的方式封装了WindowsAPI,但是包含一个应用程序框架,以降低应用程序开发人员的工作量。框架比较精简,对于初学者理解笔记本软件开发框架有很大帮助。这也成了他的缺点,造成使用MFC开发软件效率相对很低(程序猿要做大量界面编码工作)。MFC开发下来的软件界面也很狭小,主要缘由是要想美化须要程序猿自己做大量美化工作(量大到不适宜个人开发者做这个美化工作)。其实在笔记本端刚才出现图形界面开发时侯,MFC这个框架简直大量简化了程序猿的工作量,而且增强了程序的质量。因而一度十分流行,以至于现在(2020年)还有这个MFC开发平台的身影(大多处于维护阶段的老项目)。

Delphi

开发语言:ObjectPascal

开发工具:delphi7

适用平台:WINDOWSALL

平台特性:Delphi拥有一个可视化的集成开发环境(IDE),采用面向对象的编程语言ObjectPascal和基于部件的开发结构框架。Delphi它提供了十分多个可供使用的预制构件,借助这种部件,开发人员可以快速地构造出应用系统。开发人员也可以按照自己的须要更改部件或用Delphi本身编撰自己的部件。和VC相比,Delphi更简单、更便于把握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强悍、更实用。Delphi确实功能丰富开发效率高,到目前也还有人用。只是绝大多数是在做老项目的开发了,新项目基本上不会再用Delphi写。主要诱因是Delphi不是谷歌自家的女儿。随着谷歌系统大量的系统更新,以及谷歌自己的C#开发平台盛行,致使Delphi跟不上节奏了(Pascal编程语言本身也极少在其他开发平台使用)。

WinForm

开发语言:C#

开发工具:VisualStudio

适用平台:WINDOWSALL

平台特性:WinForm是目前很流行的Windows应用程序开发平台,现今大部份windows应用程序都是使用WinForm开发,提供对最新windows系统特点的支持,且拥有大量的第三方解释器。全面支持各类开发技术。开发的程序对windows所有系统都有特别好的兼容性和不俗的性能。属于谷歌的.net开发,拥有强悍齐全的各类封装好的成熟泛型。利用优秀的C#开发语言。是现阶段Windows应用程序开发的不二之选。因为使用的人和公司多,Winform开发有大量博客可以参考,工作机会也好多,相比于其他开发平台更好找工作。(至于害怕发布软件还须要安装net运行库,没有害怕的必要,谷歌在系统中就自带来常用的net运动库,同时安装包安装程序的时侯还可以测量是否缺net运行库,并引导安装)。

WPF

开发语言:C#

开发工具:VisualStudio

适用平台:WINDOWSALL

平台特性:WPF是在Winform的基础上,重新使用新框架开发的应用程序编程平台。对winform开发完全兼容。wpf引入了全新的界面布局框架XAML,可以轻松的创建出丰富美观的界面,同时可以使用中级的动漫和特效,对屏幕自适应比winform更好。wpf使用DirectX来勾画控件(使用主板勾画),winform使用GDI来勾画控件(使用CPU勾画),因而wpf现实疗效好,且不会大量占用cpu。因为WPF比Winform所使用的技术新,目前还是使用Winform的多一些。其实想要软件最终疗效好,更炫目一点,这么你就选择WPF。

Qt

开发语言:C++(编译器:linux:g++、macos:clang、win32:mingw、msvc)

开发工具:QtCreater、VisualStudio

适用平台:WINDOWSALL、Linux、MacOS

平台特性:Qt是一个跨平台应用程序开发框架,用于开发桌面程序、嵌入式程序和手机app。支持的操作系统平台包括:Linux,OSX,Windows,VxWorks,QNX,Android,iOS,BlackBerry,SailfishOS等。Qt最大的特征是跨平台开发,即:一次编码多系统编译。就是说只写一次代码,之后把这个代码领到各个系统上分别编译。即可生成各个系统下的原生应用程序(并不是java那个依赖运行库的跨平台)。因而Qt开发的应用程序在各个系统下都可以获得和原生应用程序同样的性能。其次Qt使用面向对象语言C++开发,因而运行效率比C#高。适用于开发一些须要大量运算的应用程序。例如图象处理软件,特效制做软件等。因为Qt使用C++语言编程,因而曾经使用VC++写的老项目可以轻松使用

Qt重新开发(C++库可以直接使用,之前C++代码写的逻辑函数可以复制过来直接使用)。如此好的平台为何用的人和公司不太多呢。由于之前Qt是收费的,用于开发商业软件防止不了要交这个费用(不付钱法律上吃官司)。现今Qt支持LGPL合同,意味着可以免费开发商业软件了。qt也支持拖放添加控件和布局软件页面。同时还支持使用qss动态更改控件款式。再加上Qt的layout动态布局功能。可以实现特别好看的软件。这一点比winform好。外型高度订制更改和wpf是一个水平。这儿须要说明Qt编撰程序跨平台编码的前提是统一使用Qt提供的系统库函数,假若你直接使用了Windows的系统库函数,这么这个程序就只能在windows下编译并使用了,除非你在其他系统上编译时侯替换成其他系统相应功能的系统库函数。通常功能开发来说Qt提供的库函数足够丰富,除非是系统特有的功能须要Qt开发中特别处理。

Android

开发语言:Java

开发工具:AndroidStudio

适用平台:安卓手机、安卓平板、安卓电视等

平台特性:安卓开发官方的开发平台就是AndroidStudio,是开发安卓app的官方指定平台。其他各个开发平台其实也能开发安卓app,并且实际开发疗效和AndroidStudio无法相比。因而你须要开发安卓的上位机顾客端,就不要用杂七杂八的开发平台了,安心学习java和AndroidStudio吧。其实现今的混和app开发技术很火热,并且假如你的安卓app是配合硬件使用的,就不建议使用混和app开发技术了,由于促使项目使用的技术变复杂了,虽然是你能搞定,对于后续接手的程序猿维护开发就不便捷了(对于以硬件为主的公司而言)。须要任意一台笔记本和测试手机或平板即可开发。

IOS

开发语言:Object-C、swift

开发工具:Xcode

适用平台:苹果手机、苹果平板

平台特性:Xcode是开发IOS软件的惟一且官方的开发平台。如你公司的硬件设备须要开发IOS的app。这么这个开发平台几乎是惟一也是最好的选择。开发须要一台苹果笔记本、一个公司或个人开发者帐号(按年收费)、一台苹果手机或平板。

LabVIEW

开发语言:拖放图形开发

开发工具:LabVIEW

适用平台:Wondows、MacOS、Linux

平台特性:LabVIEW是一种程序开发环境,由韩国国家仪器(NI)公司研发开发,LabVIEW与其他计算机语言的明显区别是:其他计算机语言都是采用基于文本的语言形成代码,而LabVIEW使用的是图形化编辑语言编撰程序,形成的程序是框图的方式。LabVIEW开发环境集成了工程师和科学家快速建立各类应用所需的所有工具,借以帮助工程师和科学家解决问题、提高生产力和不断创新。也就是说LabVIEW是帮助硬件开发工程师测试硬件的工具。通过拖放作图即可运行出一个相当于上位的顾客端。其集成的诸多控件都是和硬件相关的,因而只适用于硬件开发测试,不适宜其他任何上位软件开发。LabVIEW开发的软件也可以打包成独立的安装包。

MATLAB

开发语言:MATLAB

开发工具:MATLAB

适用平台:Wondows、MacOS、Linux

平台特性:MATLAB是工程师和科学家使用的一个中级语文工具软件。其实是个工具并且他具有开发图形交互界面以及计算机通讯的全部功能。为此也在这儿稍为介绍一下。MATLAB主要用于计算机视觉、信号处理、机器人等控制系统、模型设计以及算法验证。提供了Python、Java、C、C++等外部语言插口,可以供外部其他程序调用(用于调试与验证算法)。因而在开发特殊行业的上位机软件时侯须要用到MATLAB。可以借助MATLAB单独开发一个测试上位机端,也可以和其他开发平台联合开发上位端。MATLAB支持把MATLAB算法转换成C/C++代码、HDL、和CUDA代码,以便算法的应用。

二、硬件工程师做简单的上位机软件,应当选择那个平台

对于硬件开发工程师来说,想要做一个上位机软件无论你选那个开发平台都不简单,如同要上位机程序猿开发嵌入式硬件一样难,都须要深入学习。除非你使用LabVIEW。

因为硬件工程师做一个上位机通常需求也不会太复杂,他的需求就是“怎样用最少的精力开发一个基本能用的上位工具软件,我也不准备深入去开发专业的上位机软件”。

按照这个需求,从最简单到复杂依次推荐的开发平台如下:

LabVIEW:Qt:C#WinForm:三、开发商业软件应当选择那个开发平台

商业公司开发的软件是给诸多顾客使用的,软件的优劣对应着公司的利润。为此,开发商业软件要选择开发平台的时侯,就比个人开发者面临的限制多好多。通常面临的限制如下:

以上为一个公司选择开发平台基本考虑要素。除此之外,所选平台只要能满足功能需求即可。

目前满足以上基本考虑要素的PC软件(偏上位机软件)开发平台有:
页: [1]
查看完整版本: 上位机开发平台介绍:优缺点、使用场景及适用平台