首页 » 排名链接 » 桌面程序开发方案汇总(开发桌面框架界面语言)

桌面程序开发方案汇总(开发桌面框架界面语言)

admin 2024-10-24 12:48:28 0

扫一扫用手机浏览

文章目录 [+]

desktop developing solution。

从15年入行至今已有八年多时间,开发过不少项目,大部分都是web项目,桌面项目很少,且都是小项目。
当时都是用Java Swing,在部门内部使用,界面很丑,注重跨平台和稳定性,其他不重要。

这一两年来,就业环境越来越差,而且因为年龄大被裁的优先级也越来越高。
打算尝试把桌面开发捡起来,增加就业面,同时试试能不能接点私活。

桌面程序开发方案汇总(开发桌面框架界面语言) 排名链接
(图片来自网络侵删)

上面内容是背景,不重要。
下面才是干货。
有问题大家评论交流。

首先介绍一下我在实际项目中用过的编程语言C/C++(小项目),Java,C#,JavaScript,Python,HTML(如果这个也算的话)。
没有实际项目的语言有Dart,Go,Rust,PHP。

由于实在没有精力再去深入学习一门新的语言了,所以下面的桌面方案都和之前学过的编程语言相关。

由于相关的框架太多了,不能一一拿出来介绍,这里只选择几个顶流框架整理一下,如果有不同意见,麻烦评论留言交流。

Java系列

比较有名且维护比较好的框架有AWT、Swing和JavaFX。

优点:

跨平台,成熟稳定。
有大量开源的库随便用,不用重复造轮子,开发速度快。
大公司背书,有长时效支持维护。

缺点:界面较丑。
如果做成好看的界面,需要花费很多精力。
javafx比其他两个好很多,但文档比较少。

典型的产品有Eclipse 系列和JetBrains系列。

总结:如果只熟悉Java语言或要和其他Java项目集成,只好凑活用了。
如果熟悉其他编程语言,建议跳过这个方案。

浏览器封装系列

典型的框架就是Electron,集成nodejs和v8引擎。

优点:

由于基于浏览器开发,有大量的前端库可以使用。
生态好,开发速度快。

跨平台,理论上只要Chrome能运行的平台,electron都能在上面运行。

JavaScript/TypeScript都比较简单,相信大部分开发者都或多或少使用过,上手很快。

同样有大公司背书,有长时效支持维护。

界面好看现代化,稍微用心修改,界面就不会太难看。

缺点:性能较差,使用起来软绵绵的,切换页面或窗口总要迟疑一下,没有很利索硬朗的感觉。

典型产品有:VS Code、飞书等产品。
钉钉也是采用基于浏览器的解决方案,但不确定是不是electron。

总结:如果客户或老板对性能上要求不太高,可以使用这个架构。
我使用electron开发了小东西,个人接受不了软绵绵的反应。
建议不要高估自己对性能优化的能力,飞书和钉钉很多功能还是一卡一卡的,你觉得自己比大公司牛多少。

.Net/C#系列

这是桌面开发的老面孔了,从入行开始就接触。
说心里话,如果只在Windows上跑,选择这个方案至少不会差。
现在也有了跨平台的方案,比如MAUI、Avalonia,大家可以深入了解一下。

典型的框架有WinFrom、WPF、MAUI和Avalonia.

优点:

微软在可视化开发深耕多年,也是发家的核心本领。
大绝大多数的桌面开发遇到的问题都有较好的解决方案。
官方提供的库质量很高,也有丰富的第三方库。
同样有大公司背书,有长时效支持维护。
性能不错,当然比不过纯C/C++,使用起来没有软绵绵也没有卡顿的感觉。
界面一般,不是很好看但也不丑。
如果优化一下,颜值会提升很多。

缺点:早期发布的框架不支持跨平台也不开源。
前几年微软已经开始这个地方发力了,开发了开源的.Net Core,目前民间的Avalonia也不错。

总结:建议使用。
.Net相关的桌面开发框架从各方面都是四平八稳。
C#语言入门难度不高,如果熟悉java等面向对象语言转过来就更容易了。

Flutter

Flutter是桌面开发领域的新秀,在移动端领域更是长居热榜。

优点:

跨平台,支持的平台更多一些,而且在不同平台上界面一致性保持较好。
界面组件较为丰富,在不是很复杂的界面上游刃有余。
同样有大公司背书,有长时效支持维护。

缺点:需要学习Dart语言,有一定的成本;Flutter进入桌面领域不久,桌面组件不是丰富,很多需要自己开发;带有浓浓的移动端风格。

总结:目前不太建议使用,由于组件不够丰富,开发起来可能会遇到阻碍。
如果对Flutter比较熟悉,开发过移动端,那可以尝试开发桌面端,试错成本也不高。

QT系列

这也是常常进入大家视野的框架了,本人使用过,体验确实很赞,平时遇到的问题在网上基本上都有解决方案。

主要分为两大块,直接基于QT开发,用C/C++写代码;基于python的PyQt或PySIde。

优点:

和.Net/C#一样,在桌面开发领域深耕多年,平时遇到的问题都有解决方案。
有丰富的组件,基本不需要自己二次开发组件。
性能优秀,不用怀疑。
文档丰富,在国内外网站上都有很多资料。
跨平台,包括Windows、macos和Linux,移动端也支持,但不太好用。

缺点:和其他框架相比而言对商业应用不太友好(如果想免费使用,需要保证不能改源码并声明使用了qt架构等);如果基于C/C++开发,涉及到语言的复杂性,成本稍高;如果基于python开发,打包比较复杂,打包后启动较慢(亲测,也可能是打包的方法不对)

总结:如果对C/C++熟悉,结合这个框架,在桌面端是无敌存在,性能无敌,界面也算好看。
反之,则不太建议使用,尤其对个人开发者,容易出现bug,还不容易找到,会拖累开发进度。

Delphi

Delphi在1995年推出,最初基于Parscal语言进行开发,具有拖拽组件直接开发的优势,吸引了大量的开发者。

优点:

使用简单,能够拖拽组件,开发速度快。
组件和文档也很丰富。
跨平台,目前已经支持Windows、Linux、MacOS、iOS、Android平台。
性能优秀,和其框架相比不落下风。

缺点:

商业收费且价格较贵,使用破解版可能会缠上官司(在网上有很多相关案例)Delphi/Object Parscal语言相比没有C#、C/C++那么流行,可能会影响跳槽其他领域的工作。
当然多学一门语言也不是坏事。

总结:如果您大部分工作内容和界面相关,使用Delphi能大大节省时间,建议尝试一下。

以上是简单对目前顶流的桌面端架构做了一个简单梳理,总体来说,各有优势,开发者还是要根据业务和自身情况选择。

标签:

相关文章

为什么难产?(模型服务商难产生态多个)

文 | ⾃象限,作者 | 罗辑,编辑 | 程心AI原生应用,“难产”了。百模大战后,一众精疲力竭的创业者们逐渐反应过来:中国真正的...

排名链接 2025-02-09 阅读1265 评论0