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

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

目前,最优的选择有四个:

1.如果只在win下使用,.net form是不二选择,可谓是又快又好,企业应用或定制开发都是相当好的,初学者也可以入手。

2.electron,跨平台。需要会前端,必须熟悉js、css和html。属于前端人员大杀器,如果是初学者,需要一下子学三样东西,再加上electron的进程间通信,可能会被搞懵。

3. qt5,可以使用qml(js语法)进行UI编程,但是需要懂c艹,但是写软件相当快,还可以写安卓、ios、Linux、嵌入式中的应用。

4.flutter,刚刚正式支持win平台的软件开发。谷歌出的这个东西,适合没有基础的初学者,因为是一个全新的体系,全新的语言,写ios、安卓非常高效,之后还会兼容h5。如果是初学者可以跟着走,值得尝试。但是新东西总有一些坑。

正式项目跨平台建议electron或qt,只用win平台强烈建议微软自己的net。个人技术尝试建议flutter。

桌面端开发跨平台的,如果你是轻量级的项目,那么我推荐你用electron, 目前使用Electron来开发的桌面应用非常多,我们最熟悉的比如Atom,VScode等等。

而且在github上也能找到许多应用使用了electron。

electron是Node,Chromium,html,css,js的结合框架,这就需要你有一定的前端基础。其实只需要了解一下electron的API就行了,其他的就像你在做web是一样的。

这种方式最大的缺点就是性能,还有透明窗口也有问题。所以在做需要性能方面占有很大成分的项目时,并不推荐使用这个方式。

那么其他的,就是最近几年使用比较多的windows directui框架,但它不是跨平台的。

那么就引出了qt,作为c++跨平台的界面框架,这个上手的话,我觉得对一般人是有难度的,因为首先需要扎实的c++功底猛扒,其次枝基昌你要熟悉控件的制作原理,因为有时候你需要定制自己的UI控件。它现在在嵌入式,军工领域非常受欢迎。但是整个库非常臃肿庞大,而且开发界面的效率也非常低。如果来做互联网项目,迭代更新的速度根本就跟不上。

目前都只有大公司会采用,像maya这种生产力型的应用很多是qt做的。

还有一种是直接使用Cef加js,比如网易云音乐,就是这么搞的,但是很多和系统平台的交互接口你需要重写,等于是需要自己造轮子。工作量大,目前没有适合的框架给你套用,也需要扎实的c++功底。

其实pc端的应用基本也就windows会火一些,再加一个macos,那么选择qt应该会很好一点,毕竟你自己造一个跨平台的框架,太费时。总之,做跨平台就意味着,不可能做到既有效率又完美的实现各种功能,许多都要自己摸索。

win桌面端直接上visual studio啊!然后你熟悉什么语言?vb.net,c#,c++都有相应的win桌面工具。直接用就好了,非常好用

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

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

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

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

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

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

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

PC桌锋败面程序,如果简单一点的,用pyqt5+python的开发难度和周期都比较现实一点

会C++ 用Qt5 非常不错 写代码效率很高

会js 用atom使用的那个框架

会Python用PyQt 写代码很快

会java用JavaFX

看语言咯

还可以用delphi,其firemonkey框架发布8年时间,支持跨平台:win,安卓,ios,macos,linux,后续支持webassembly,界面是控件拖拽布局所见即所得,开发效率较高。编译生成的是机器码,编译速度快,调试方便,其生成机器码运行效率较高,支持x86,arm的32位64位处理器。支持跨平台3D界面,蓝牙通讯,定位,重力,摄像等,支持多种SQL,NoSQL数据库。单个开发工具实现前后端开发,跨平台开发。适合个人和小公司用一套工具实现大部分开发需求。

主要有以下几种技术

### Duilib

#### 简述

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

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

#### 优势

#### 劣势

### Gtk、Qt或WxWidget:

#### 简述

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

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

#### 优势

#### 劣势

### Electron:

#### 简介

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

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

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

#### 优势

#### 劣势

### QtQuick(QML)

#### 简述

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

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

#### 优势

#### 劣势

### 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,绝大多数只有一些老软件还在使用,不是维护老软件不推荐。

winform,不二选择

webview2,作为一个浏览器控件嵌入在桌面应用中,支持.net core和.net framework

对于编程,没有最好的语言,只有最合适的语言。下面谈谈常见的PC桌面端开发语言。

C/C++系列

C++系列最大的源岩优点就是运行效率高,不过缺点也是很麻烦的,上手难度大。下面介绍介绍两种有官方背书的,开发过程中经常用到的C++界面库,至于Duilib、BCG等第三方开源库这里不再介绍。

1、Qt

C++开发界面首选开源库。在C++领域,有GUI的地方都有Qt,有嵌入式的地方一般也有它,金融、工业、电力、视频监控等行业也有它。集跨平台支持,文档齐全,API设计优雅诸多优点于一身。

它不仅仅是一套界面库,更封装了多线程、访问数据库、图像处理、音频视频处理、网络通信、文件 *** 作等接口。

常见的多玩的YY,金山的WPS,以及网络抓包神器Wireshark等都是使用Qt开发而成,下面附一张使用QSS实现的界面换肤效果图。

Qt

2、MFC

俗话说,MFC==没饭吃,虽然现在2020年都已经过完了,但是还是有大量的公司在使用MFC这一上古技术来开发界面,它并没有灭绝。不过大多数项目处于维护态了。新项目我想很少有公司会采用MFC来开发了。

MFC

如果你是在校学生,不建议深究MFC相关技术,了解其大致思想即可。

如果你已经参加工作,不幸处于维护MFC老项目之中,那么建议工作之余多学习其他技术,早日跳槽脱坑。

C#

简单易上手,想要开发效率,C#绝对是Windows界面开发的王者,背靠微软这一强大后盾,为开发者提供所见即所得的开发模式,即使是新手也可以通过简单的拖拽来开发出带有图形界面的可视化软件,不仅可以开发PC客户端,更能开发Web端。最大的缺点是要安装framework组件。

C#

JS系列

曾梦想一肆腔统天下(Web、移动端、PC端)的JS,推出了Electron,为开发者提供PC客户端开发,更有VSCode、Atom、FacebookMessenger这样的成熟案例。不过最裂裂衫大的缺点就是开发出来的东西体积太大了,运行效率偏低。

Electron

Python

没错,就是那个曾经火遍大江南北的Python,它不仅可以写爬虫,更能来开发界面。

借助于PyQT,你也可以快速完成图形化界面开发工作。下图是某大神高仿的网易云音乐的开源项目「FeelUOwn」,使用PyQT开发而成,号称是一个符合Unix哲学的跨平台的音乐播放器。目前该作品已在Github上开源。

FeelUOwn

以上就是我的观点,喜欢就【点个赞】吧!

windows平台下c#是开发桌面应用程序的很好选择

C#语言可以轻松实现桌面程序的开发,利用vs开发工具,拖动控件就可以很快的完成一个软件界面,但然要做到好看,炫酷,还需要借助其他的界面库,或者自己重绘控件。

C#的功能全面,可以轻松调用office组件,windows组件,windowsapi函数,各类数据库连接调用。

C#可以很方便的调用工控设备,如plc,可以轻松 *** 作plc,读取,写入数据等。

c#可以开发windows等其他多平台游戏,使用unity3d,开发机器视觉使用emgu.cvopencv等。

基本上windows平台上的软件都可以制作。

但是c#能做的c++都可以做,不过c++的难度较大,不适合新手。

C#开发Windows系统桌面首选。

跨平台C++很著名的库Qt。

不过现在有了node.js这种脱离浏览器基于chrome的V8引擎的技术,现在可以HTML+CSS+JavaScript开发跨平台的桌面运用,配合前端双向绑定的vue,react,angular等快速开发,高效率,炫丽,框架electron或者nw.js。

C++,带睁直接使用windows

API,移植性好,开发迟运速度稍慢一些。C++,使用MFC,开发速度比win

api快一点。C#,开发速度最快,效率较低但在PC上不明显码行梁。

vb之类的也可以,跟C#的开发速度差不多。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12563898.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存