百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

2022年,开发独立 EXE 桌面应用程序,用什么语言、技术合适

yund56 2025-05-22 15:40 17 浏览

先说明一下对「独立 EXE」的要求:

1、程序只有一个 EXE 文件,不需要额外的安装程序。

2、程序的体积要足够小,不需要额外安装其他运行库。写「独立 EXE」本就是为了方便,如果没多少功能体积就达到几十、几百 MB,或者要额外安装巨大的运行库,这就没什么意思了。

3、程序只有一个 EXE 文件,不需要带一堆其他文件。如果 EXE 文件带着几十、甚至上百个 DLL 或者其他文件,这不是独立 EXE,这是全家桶。

4、程序不会将 AppData,Temp 这些运行时数据都写在 EXE 目录下。因为 EXE 目录不一定有写权限,而且这样做的话:将 EXE 文件放到桌面上、或者移动一下目录都会乱套,而且可能因为误操作导致丢失数据,不利于便携。

5、使用的语言、技术直接支持生成独立 EXE,不需要复杂的代码、步骤或者额外的第三方工具。有人说我用这个那个也能勉强生成独立 EXE ,来吧,先看教程 …… 结果整了上万字还没有搞明白怎么弄,这不行。

如果您也有上述需求,那么可以试试 aardio 。

1、aardio 完全免费,并有最慷慨的免费许可。个人或企业可免费使用 aardio 开发商用、或非商用的应用程序。使用 aardio 开发的软件不需要放置鸣谢链接、不需要声明使用 aardio 开发。

2、aardio 生成的软件很小。

3、aardio 生成的软件不需要安装额外的外部运行库。

4、aardio 编写的软件有良好的兼容性,兼容 XP,Vista,Win7,Win8,Win10,Win11...... 等所有流行桌面操作系统。

5、aardio 很小也很简单。编写 aardio 程序也很简单,几句代码就可以写一个可运行的程序,没有任何复杂的操作。aardio 的也提供了大量可直接运行与使用的范例 —— 上手成本低。很多用户反馈下载 aardio 只是简单看了一下,迅速就开发完成了需要的软件。

6、aardio 直接支持生成独立 EXE,aardio 中的很多库、函数都自动支持独立 EXE。这不需要额外修改代码、或者付出额外的学习成本。

先看一个最简单的例子,在 aardio 中可用下面的代码读文件内容:

var str = string.load("/res/test.txt") 

注意文件路径最前面的单个斜杆(或反斜杆)表示 aardio 工程根目录,aardio 工程中的子目录 "/res/" 可以设为 EXE 内嵌资源,也可以设为普通硬盘目录,上面的代码都不需要修改。

这只是举一个简单的例子,aardio 中的很多函数、库都自动兼容这种资源路径。你甚至可以在「单个 EXE」 里放一个 HTTP 服务器,再放一个网站,再创建一个浏览器来显示这些网页 —— 不需要任何外部文件,也不需要编写任何复杂的代码(参考 aardio 自带范例)。

在 aardio 中还可以调用很多第三方编程语言,例如 C语言、C++、C#、Java、Python、R、Javascript、Node.Js、Fortran、VB、Flash ActionScript、PHP、VBScript、PowerShell、NewLISP、AutoLISP、Delphi、FreeBASIC、Ruby、Rust、Julia、Nim、Go 语言、批处理 ...... 请参考《 aardio 调用第三方编程语言示例》

前些天一个 Python 用户发给我的感谢信就是这么写的 “…… 我是刚开始用 aardio 写界面(实在不想用 PyQt 了),Python 写数据处理业务,感受到了 aardio 的强大和奇妙。我想把 Python 数据处理过程的信息反馈到前端界面中,《这回让我们把 Python 玩出花来》看完后,用了几分钟搞定!!!实在令人惊讶 aardio 的强大!!!…… ”

GitHub 上一个 QT 用户 yaleimeng 在开源项目主页这样写道:“时隔四年,使用 aardio 重新开发二维码识别与生成工具。舍弃了跨平台特性。得到的是更高的开发效率,更小的软件体积。原来使用 QT 和 C++ 语言开发项目在此,经过了长期的学习才能写出个像样的东西。但是发布后软件动辄 > 60MB,却仅仅实现了一个小小的功能。让人非常无语。本项目参考了 aardio 官方自带示例,随便改改,就初步达到了想要的效果。功能代码非常简短,可读性好,而且最终发布软件也会很小。”

aardio 编程语言快速入门 —— 语法速览

aardio 编写的开源软件 ImTip :

ImTip 在 GitHub 发布后短时间就已超过 500 star。这是一个通用输入法状态有这些提示工具,仅用两个字符就可提示中英、全半角、大小写、中英标点、多语言键盘布局等所有输入法状态。独立 EXE,发行体积仅 588 KB。兼容 XP,Vista,Win7,Win8,Win10,Win11 …… 等所有流行桌面操作系统。

aardio 编写的开源软件 Gif123 :

最近很受欢迎的一个极简录屏软件 ,发行体积仅 820 KB,无任何外部依赖,独立 EXE ,兼容 XP,Vista,Win7,Win8,Win10,Win11 …… 等所有流行桌面操作系统 。

aardio 编写的开源软件 WubiLex :

贴吧一个关于 WubiLex 的讨论帖子已经超过 1200 回复。这也是一个独立 EXE 程序,发行体积仅 890K。这是一个 Win10/Win11 系统自带五笔的码表与短语词库安装、管理工具,并可增强微软五笔的设置、热键等功能。软件已自带五笔86、98、091、新世纪码表,以及极点五笔、QQ五笔、微软五笔默认词库、昱琼词库、海峰词库等。甚至自带了小鹤音形、郑码、表形码等码表,可以一键把微软五笔替换为小鹤音形输入法、郑码输入法、表形码输入法。

aardio 编写的开源软件 WinAsar :

独立 EXE,体积仅 500KB,单文件,不需要运行时,支持所有 Windows 操作系统。asar 文件打包、解包工具,不需要安装 Node.js,纯 aardio 代码实现的 asar 解析器。

下面这个是 8 年前的开源项目,作者仅临时学了个把月 aardio :

用 aardio 开发的桌面软件比大家想象的要更多。但是 aardio 有着最慷慨的免费许可协议,使用 aardio 开发的软件不需要声明使用了 aardio —— 这导致大家通常低估 aardio 开发的软件数量。如果您注意一些其他的桌面软件,就会发现在维护多年以后,用户反馈中经常会出现“崩溃”、“闪退” 等问题。但是请注意一下 aardio 开发的一些桌面软件,例如 ImTip, Gif123, WubiLex ……在网络上大量的用户交流讨论中,你几乎看不到“崩溃”、“闪退” 这类反馈,如果您用 aardio 开发软件,可能唯一需要担心的事就是写出来的 bug 太少了

aardio 工程向导:

可视化界面开发,8 年前写的范例:


aardio 自带了大量的范例:

快如闪电的智能提示:


跳转到定义:

九宫格自动缩放布局:

aardio 里可以方便地嵌入非常多的浏览器组件,甚至可以调用系统自带的 Chrome 浏览器写软件界面,兼容 Chrome 启动参数的浏览器都可以支持( 例如 Windows 自带的浏览器 Edge Chromium),生成的 EXE 体积也非常小

相关推荐

没有获得Windows 10 20H2升级通知,怎样直接升级

微软公司已经正式发布Windows1020H2操作系统,在正常情况下,微软只会首先推送到少量电脑,然后一边推送一边采集遥测数据。收集遥测数据可以确定哪些电脑可以更新,哪些电脑在更新后可能会失败,微...

不想让人随便卸载你安装的程序,用这四招,他将无计可施

Windows10不提供设置删除应用程序限制的功能,有几种间接方法可以防止用户删除操作系统中的程序和游戏。一、WindowsInstaller服务使用Windows工具,可以部分限制用户的权限。如...

一文看懂苹果全球开发者大会 五大系统全面升级

来源:环球网【环球网智能报道记者张阳】北京时间6月23日凌晨1点,苹果全球开发者大会(WWDC2020)如期举行,还是那个熟悉的乔布斯剧院,依旧是高水准的视频展示,但是这届WWDC,却是苹果历史...

无需等待微软分批推送,23H2可借助注册表快速获取Win11 24H2更新

IT之家10月15日消息,Windows1124H2正在分批推送,但由于存在多种Bug,微软已经开始放缓其推送节奏。WindowsLatest发现,Windows1123H2...

办公小技巧:剑走偏锋 PPT中打造动态图表

年底到了少不了又要制作各种总结报表,为了让自己的报表与众不同,我们可以借助PowerPoint动画组件+报表的方式,打造出更为出彩的动态图表。下面以PowerPoint2016为例,介绍如何使用三维...

文档表格 版本差异何在

在办公过程中,对文档或表格的修改是司空见惯的事。那么,一份文档做了内容改动,如何知道差异在哪里?一份表格改动部分数据,如何知道哪些有所变动?不要说审阅和修订功能,因为不是所有人都会用这些功能来标注的,...

Excel VBA自制日历组件16色可选 完美替代VBA日期控件

本日期组件可跟随单元格跟随窗体中ActiveX文本框组合框控件16种配色可选私信回复880日历可体验效果使用说明1打开自己需要应用日历面板的Excel表,注意必须是启用VBA的格式2在...

如何从交互角度读懂产品需求文档

作为设计师,理解产品经理提供的需求文档是交互设计工作的重要前提与起点,然而对于很多设计师来说,需求文档内容通常非常复杂,设计师们需要花费大量时间去消化、理解和归纳。本文作者结合公司示例,分析设计师如何...

植入让文档变得更强大

有效地利用文档置入技术,会让我们的常用文档功能变得更加强大,实现更加高效或有趣的应用。1.写字板文档嵌入其他文档有时,我们要组织一个大型的文档,但是这些文档的内容可能来自于不同种类的文档编辑器,比如...

Office 2016滚动文本框 顺手就来

【电脑报在线】如果一页PPT内容较多无法在完全显示,就需要用到滚动文本框,在PPT2016中借助控件即可快速制作滚动文本框。在“告诉我你想要做什么”输入“文本框控件”,在搜索结果点击“文本框(Acti...

Axure的多状态复选树

本文将详细介绍如何在Axure中实现一种增强型的多状态复选树组件,它不仅支持全选、半选和未选等状态,还具备动态加载、关键字筛选等高级功能。多状态复选树(Multi-StateCheckboxTre...

办公小技巧:PPT中控件图表巧联动

在利用PPT进行图表演示时,操作者有可能要与图表进行交互联动,比如通过输入数据来预测产品的生产情况等,这时就需要用到“开发工具”中的控件了。几个控件配合几句VBA代码,就可以轻松实现上述交互联动效果(...

用好插件——找回火狐的旧功能

现在的软件,特别是浏览器类软件,更新换代速度都很快,而且无论是外观界面还是系统组件都会有较大的变化,这样会让很多朋友无所适从。以大家常用的火狐浏览器为例,它就已经升级到了最新的35版,而且在新版中对很...

重新认识控件(二)

图片和文字,都是一种数据形式。我平时对文本框的录入,报错和提交的设计比较多。最近涉及到图片控件的设计,细细琢磨一下,这玩意还有一些平时没太注意的细节点,感觉对于其他控件的设计有指导意义,特此总结一下传...

JSA宏教程——在文档中添加复合框控件

上一期,我们初步认识了控件Control,本节我们将继续控件的相关内容。这几期我们将逐一介绍相关控制。本节先介绍复合框(也叫组合框)Combobox。复合框的作用复合框就是一个下拉选项框,一次显示一个...