当前位置:首页 > PHP文摘 > 列表

桌面端开发都用什么语言,简单分析下这些语言的优劣势对比?

发布:smiling 来源: PHP粉丝网  添加日期:2022-08-01 19:13:10 浏览: 评论:0 

编程语言这种东西无所谓,只要能用啥都可以。 主要看你老板需要和你会用什么语言。

比如 我用AS编安卓程序,当然用JAVA。不过我后台最开始用ASP和ASP.NET来做,现在换PHP了。桌面端用QT或者VB做。 涉及单片机部分控制也用C。

现在做跨平台的了 开始以QT为主了。

只要能达到目的啥都可以。

学会1-2种 换其他的也不是很难。

对初学者来建议学C起步吧。

精通一门,重新学个语言入门也就1个月的事。

答案二:

作为热爱生活的程序员的我就不太仔细分析了,直接告诉你用哪种好了。

桌面端开发:

windows平台用C# winform。优点是拖拉控件即可而且功能非常强大。缺点是界面不够美观,不跨平台。但其实技术好也可以使用第三方美观库美化界面,关于跨平台,微软正在做,已经有预览版支持。

希望一本万利,跨平台,那就学习QT。学习成本高。win平台mac平台,linux平台通杀。其他delphi,MFC建议不考虑,那是过去式。

还有一种是浏览器嵌套:就是使用第三方的浏览器如谷歌的cefsharp,嵌套网页实现。网页用js html这些。初学者需要学习的太多。

综上所述,用C#吧。

答案三:

主要有以下几种技术

Duilib;

Gtk、Qt和WxWidget;

Electron;

QtQuick(QML);

WinForm、WPF、Xamarin;

Flutter;

SwiftUI或Cocoa;

Win32 API;

### Duilib

#### 简述

Duilib是在Windows平台上使用最广泛的类库,使用C++和XML混合编程,国内很多计算机企业都喜欢使用这个类库,可能是由于他的技术许可比较宽泛的原因。

适合于界面比较简单的软件,视觉特效丰富,局限于Windows的平台。例子:360电脑管家。

#### 优势

使用了DirectX作为底层,本质上和“游戏”性质差不多。基于C++和游戏引擎,速度很快,图形特效可以做得很丰富;

由于使用了游戏引擎架构,有游戏开发经验的程序员可以通用很多游戏技术;

#### 劣势

简陋:源于开源项目,缺乏大型商业公司支持,基本上只有一个核心库,缺少必要的周边设施支持;

耗电:基于游戏引擎,刷新率很高,因此比较耗电;

需要显卡加速支持,没有显卡和显卡性能不好都会导致应用出现问题。比如:缓慢、崩溃……

只能在Windows平台使用;

### Gtk、Qt或WxWidget:

#### 简述

三种基本可以做到跨平台的技术,使用C/C++开发,使用者广泛。其中WxWidget使用了API嫁接方式,Qt和Gtk(包括各种绑定技术)使用自绘技术。

结构严谨,软件可以做的很大很复杂。例子:WPS和Maya。

#### 优势

使用C/C++:速度快运行高效,代码严谨;

省电:每次只刷新必要区域,只有必要的时候刷新;

适用性广泛:Linux、macOS、Windows平台都支持。其中Qt甚至支持Android和IOS平台;

大公司支持:发展时间很长,有各种组织长期支持,各种基础设施齐备。Gtk和WxWidget都有各自的基金会支持、Qt由Qt公司开发;

#### 劣势

开发速度较慢:C/C++语言固有局限,为了严谨和运行效率比较繁琐;

跨平台外观和原平台差异:看起来有些不协调,需要开发者精细调整;

### Electron:

#### 简介

使用Web技术开发桌面软件,基于Chromium(Chrome)引擎,使用JS编程语言,绝大多数使用者都是原来的网页开发者。

绝大多数都是爱好者使用,处于“勉强可用”的地步。

适合大面积静态展示型软件使用。例子:网易云音乐。

#### 优势

组件丰富:继承了绝大多数网页开发积累下来的组件;

类库丰富:继承了npm上的绝大多数类库;

开发高效:JavaScript语法灵活,开发效率高,运行效率可以凑合使用。

#### 劣势

缺乏商业公司支持,Electron是由Electron基金会和GitHub为了他的Atom编辑器开发的,但是Electron受限于Web属性的原因,只提供了很少的组件,更多组件需要使用者自行开发。

运行效率低:JS本身效率并不高,Web技术基于Dom(Document Object Model)模型,JS和Dom模型交互效率较低,所以Electron软件卡顿是正常的。不适合计算密集型软件和图形效果丰富的软件。

### QtQuick(QML)

#### 简述

Qt公司开发的一款基于OpenGL的图形类库,有显卡加速,类似于Duilib。采用了C++与QML混合编程。QML类似于JavaScript语言。

QtQuick下一个版本在Qt 6上更加强大,业界期待已久。

#### 优势

显卡加速:速度快,有显卡硬件支撑。

组件丰富:Qt公司提供了大部分组件,使用者可以简单调用,还可以使用Qt/C++传统类库。

开发速度快:QML语法类似JavaScript,不需要编译,可以说所见即所得。

跨平台:Windows、Linux、macOS、iOS、Android、blackberry……

#### 劣势

动态弱类型:缺乏必要的编辑器支持,开发者负担较重,Electron也有类似问题。Qt6据说提供了QML静态类型支持,这一点应该可以说不是问题。

平台需内建显卡支持:平台受限。

### Atk、Swing或JavaFX

使用Java语言开发软件,有JDK加持业界积累的众多Java类库支持。有不输于VS的IDEA加持,本应该更棒,只是现在已经式微了。

绝大多数使用者都是企业开发(不追求界面美观)、爱好者(开发顺手)。

### WinForm、WPF或Xamarin:

使用C#开发,WinForm和WPF局限于Windows平台。有VisualStudio加持使用很爽。

### Flutter:

使用Dart语言,新类库,bug可能会很多。

### SwiftUI或Cocoa:

苹果平台原生界面技术,macOS平台内建支持,不是macOS专用软件不推荐。

### Win32:

经典Windows 平台API,绝大多数只有一些老软件还在使用,不是维护老软件不推荐。

答案四:

windows的桌面开发语言优选C#,macOS优选Swift,Linux没接触过不谈,所以如果能在这二种语言中择其一是最好的。C#跨平台用xamarin mono,已经相对成熟,开发项目没有问题,当然它并不是WORA的;Swift虽说也是跨平台,开发windows暂时还不行,Swift on windows不成熟,相对成熟的工具可以试试remobjects的Elements,但它不是纯Swift。

答案五:

现代跨平台gui其实很多了,大部分人第一印象就是qt,但是跨平台gui框架已经发展这么久了,对于cs架构的应用来说qt其实不再是第一首选。下面分析下现代开源跨平台框架阶梯:

第一阶梯:综合起来的话应该首选JAVA上手简单,而且美观稳定,完全开源,生态不错轮子也不少(背后有三百万勇士支持),性能也很强大,体积也比较小。虽然c++的性能上限更高,但是实际上JAVA当前的性能完全够用。而且JAVAfx绝对是当前设计最先进的gui框架之一。

第二阶梯:qt系列(PythonQt等),Delphi。无论是性能,美观还是稳定性都是强无敌,可惜的是不够开源,所以总是有些遗憾,不然绝对跨平台的不二选择。

第三梯队:Electron系列,轮子多界面好看,完全开源,就是性能是可见的差,主要是刚打开应用的时候,运行稳定后会好很多。属于能用但是使用场景受性能局限。

第四阶梯:就是gtk,wxWidgets,flutter这系列的跨平台框架,这些框架在跨平台上或多或少会遇到一些展示不一致的问题和兼容问题,但是只要技术够好时间够多也是不错的选择,缺点是界面功能可能不够炫酷且几乎解决不了。

最终结论,在不考虑使用成本的情况下直接qt就行了(Delphi极度尴尬),想做大做强商用拥抱开源还是JAVA吧。

答案六:

桌面开发有好多种,包括现在火的,通用性强的,上手快的,依赖少的,占内存小的。各有各的优缺点。说说最常见的:

c# winform 优点是ide强大,功能强,资料多,缺点是界面简单,.net兼容性有些问题,而且不跨平台

c++ qt 优点是功能强,跨平台,缺点是编译慢,协议也有些问题,新版不支持 win7

electron跨平台,熟悉网页开发就可以做,缺点是占内存很大,也遇到过某些版本的兼容性问题

aardio优点是简单易学,生成的文件小,也没有依赖,缺点是小众,不跨平台

Delphi Lazarus优点是跨平台,运行速度也快,也没依赖,生成文件也不大,缺点是资料比较少了,不好招人

govcl优点是没有依赖,生成文件也不大,而且带gc,缺点是小众

答案七:

windows平台桌面直接用vs IDE,C#来开发,DELPHI曾经的王者也不错。(成熟)

要跨平台用C++的QT,(成熟)

python语言的也出了个PYQT。

JAVA,JAVA有SWING方式和SWT方式,都不错,一次编写,多平台运行。(成熟)

还有用浏览器宣染出来的如Electron。

答案八:

15年的老程序员路过.如果您有跨平台的需求,对流畅性有要求,时间,费用预算充足,考虑用跨平台库Qt。如果仅在windows平台下运行,要快速开发实现需求,考虑微软的.net UI框架:winform,wpf 。尤其winform拖拖控件,几行代码,立马实现需求,和当年经典的Delphi类似,还记得经典的广告:聪明的程序员用Delphi。

Tags: 桌面端开发语言

分享到: