• 桌面应用程序Exe 是带有WinForm界面的。


    作者:小辣椒高效Office
    链接:https://www.zhihu.com/question/547458931/answer/2617110629
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    桌面应用程序Exe 是带有WinForm界面的。

    1、首推是C#

    毕竟它是微软自家亲生的。写Winform 在开发效率与性能上,要快过其它开发语言,相关的相关资源及文章也比较多,C#很适合开发Winform,功能很强大。效果很好。不足就是需要.netframework支持(Windows 10、Win11 的话自带.NET Framework)。 如果不考虑跨平台,肯定c#开发最方便,效率也高。

    如果想界面效果更炫,那就用WPF,使得Winform在界面美化上更上一层楼。但速度会稍慢一点。

    2、如果是对性能要求高或操作系统底层 用C++ 或直接 C

    C++ 或再加MFC,性能杠杠的,但开发难度比c#更大一些。如果直接用C,难度更大些。好处是运行速度快,兼容性也好。除了汇编 C和C++应该速度是最快的了。

    3、QT

    Qt是基于C++的跨平台的图形用户界面应用程序框架。相比MFC来说是一个时尚的图形界面设计开发工具,相对MFC来说具有很多优点。丰富的API函数,提高了用户的实际开发效率。支持OpenGL2D、3D图形渲染。支持QML脚本开发。使用 QML,开发效率杠杠的

    缺点:运行环境的话,Qt 需要把整个东西打包带走。体积还算蛮大的。c#因为很多依赖库是windows自带了,所以要小很多。

    4、Java

    Java是什么都可以做,如果你熟悉Java,可以用Java来开发,但运行时,需要安装运行时环境

    Java的生态资源是非常丰富,教程也比较多。

    5、习惯Python就用PyQt

    PyQt 这些也可以,python 开发比较省事,可以用 qt for python+qwebview+pyinstaller 打包单个 exe,启动慢一点。或者做个安装包,使用 fbs 或者 pynsist

    缺点:生成后打包会稍有点大,第一次执行速度也会有点感人

    6、喜欢Rust用Rust语言

    Windows 下用Rust语言开发也可以。

    7、Electron可跨平台,界面漂亮

    Electron是一个跨平台的桌面应用开发框架,可以让我们用html css js的技术开发跨平台桌面上可以安装的软件。Electron让前端开发者又能干更多的活。 网路里流传很广的一句话 “不要和老夫说什么C++,Java,老夫行走江湖就靠一把JS,遇到需求撸起袖子就是干”。
    上手难度低。能够使用react、vue等前端框架,能方便地迁移前端组件,构建出漂亮的桌面应用

    8、早期专门开发界面的开发语言

    还有其它一些早期的开发语言,如果你想写原生的 Native 的exe ,也可用以下语言

    Delphi:Delphi 7,很不错,现在 Free Pascal 做跨平台应该也不差

    VB6:一直死不了的开发语言,还有一大批粉丝,开发小工具,用它还是很快的

    VFP:Visual Foxpro, 可也不是微软亲生的,现在没啥发展了

    PB:PowerBuilder

    C++ builder 6.0:Borland公司的C++程序开发集成平台

    MASM: 宏汇编程序。 较有难度。接近机器语言。

    好处是 运行速度快,比c#还快,生成Exe小,还不易被破解。

    9、其它开发语言

    Flex(flash脚本+java)、易语言(汉语编码) 、另单EXE桌面软件也可以试试aardio 挺不错

    易语言:

    其实与VB差不多,写带界面的原生exe也很不错,但因为它多数被人用来写游戏外挂,灰产软件或机器人,所以缺点就是容易被第三方杀毒软件当作病毒。另外很多人专业程序员看不起这个开发语言。

    aardio

    想做图形界面,或者是为了方便的嵌入 WebView,可试试 aardio,aardio 可以非常方便的嵌入与混合很多第三方语言,支持 C 语言、C++、VB 、C#、Java 、Python 、Javascript 、Node.Js 、Flash ActionScript 、PHP 、VBScript 、NewLISP 、AutoLISP 、Delphi 、FreeBASIC 、Ruby 、Rust 、Julia 、Nim 、Go 语言、批处理 (tmtony),另用 aardio 嵌入批处理不仅仅是可以简单的调用执行,可以做到:

    1 、通过管道执行批处理,不再有默认的黑窗口,可以方便的替换为图形界面。

    2 、可以生成独立的 EXE 文件,不用带一堆批处理文件,可以方便的给批处理传参数。

    3 、可以使用模板语法将批处理与 aardio 代码混写,类似 PHP 代码与 HTML 代码混写。

    aardio 里可以非常方便的嵌入很多浏览器组件,系统自带的 WebBrowser 、WebView 控件、 以及 WebView2 、WebKit 、Electron 、CEF3 、HTMLayout 、Sciter...... 甚至可以直接调用系统安装的 Chrome 、Chromium Edge 等浏览器写软件界面(小辣椒高效Office)。而且在网页中调用本地接口、以及 aardio 与浏览器的交互极其方便。再说到 WebView2,微软新出的 Edge(Chromium) 浏览器组件,性能强悍,支持 WIN7,WIN10,WIN 11,而且 WIN 11 已经自带。在 aardio 里调用 WebView2 会自动检测系统是否安装此组件,没有安装会自动安装,这一点比起 Electron 体验要好。

    WebView2 有一个优势就是所有使用 WebView2 的程序可以共用一个系统安装的组件,所以可以生成体积非常小的 EXE,而win11将来都 自带了。

    10、总结

    如果只针对Windows平台,建议c#,或者 VB6之类,如果想更好的界面,可以用浏览器调用html js界面库 或 WPF。如果考虑跨平台,则上面也有很多选择。主要根据自己的实际需求,再考虑性能,部署等方面综合考虑一下。

    文章如有更新,会更新到这里

  • 相关阅读:
    Android开发之适配器-ListView适配器的重复数据
    Android开发之TextView的下划线添加
    Android 自定义View修炼-Android开发之自定义View开发及实例详解
    Android 开发之自定义Dialog及UI的实现
    Android开发之ContentProvider(内容提供者)
    XC文件管理器(Android应用)
    高效 告别996,开启java高效编程之门 4-1普通码农与风骚码农资源关闭PK
    高效 告别996,开启java高效编程之门 4-2垃圾回收与物理资源释放
    高效 告别996,开启java高效编程之门 3-29实战案例五:排序
    高效 告别996,开启java高效编程之门 3-28实战案例四:分组
  • 原文地址:https://www.cnblogs.com/sexintercourse/p/16640097.html
Copyright © 2020-2023  润新知