【保姆级教程】如何用Rust编写一个ChatGPT桌面应用 | 京东云技术团队
为什么我们需要一个桌面应用
原因实在太多,我们需要便捷地导出记录,需要在回答长度超长的时候自动加上“继续”,需要收藏一些很酷很实用的prompt......
(首先我假设你是一名如我一样习惯用IDEA开发的java仔)
为什么是用Rust编写
- 效率高、资源占用量低。
- 安全性高:Rust 是一种内存安全的语言,其所有操作都经过系统级别的严格代码检查,减少了运行期间的崩溃和内存泄漏等问题的出现。
- 可维护性高:Rust 能够更好地编写可维护的代码,并且支持面向对象编程和函数式编程,这使得开发人员能够更好地组织代码,易于理解和修改。同时,Rust 的模块化设计使得不同的开发人员可以同时在项目中工作,而不会相互干扰。
- 跨平台:Rust 广泛支持多种操作系统和平台,包括 Windows,macOS,Linux 和 Android 等,这使得开发人员能够设计适用于不同平台和设备的应用。
如何用Rust编写一个桌面应用
1.安装 Rust 语言工具链:首先,请确保你已安装了 Rust 编程语言工具链,包括 Rust 编译器 (rustc) 和包管理工具 (cargo)。可以通过访问 Rust 官方网站 并遵循说明来安装。
2.安装 Rust 插件:打开 IntelliJ IDEA,然后转到 "File" > "Settings" (Windows/Linux) 或 "IntelliJ IDEA" > "Preferences" (macOS)。在设置窗口中,选择 "Plugins",搜索 "Rust",然后单击 "Install"。安装完成后,重启 IntelliJ IDEA。
3.创建新的 Rust 项目:在 IntelliJ IDEA 中,选择 "File" > "New" > "Project",然后在项目类型列表中选择 "Rust"。按照提示配置项目设置,然后单击 "Finish" 以创建新项目。
4.添加 GUI 库:你可以选择的 GUI 库(如 GTK 或 Qt),在项目的 Cargo.toml 文件中添加相应的依赖项。例如,对于 GTK,需要添加如下依赖:
5.[dependencies] gtk = "0.9"
6.编写代码:使用 IntelliJ IDEA 编辑器编写 Rust 代码。Rust 插件会提供代码补全、语法高亮、错误提示等功能。
7.构建和运行:使用 IntelliJ IDEA 的内置终端或外部终端运行 cargo build 和 cargo run 命令,以构建和运行你的 Rust 桌面应用程序。
保姆教程的试错与验证
为了验证这个流程是否足够保姆级,我提前发给同事操作了一遍,最后在 cargo run 这里报错没有glib-2.0。这是因为在 macOS 上运行包含 gtk 依赖项的 Rust 项目时,需要先在系统上安装 GTK+ 和相关库。
可以通过使用 Homebrew 包管理器来解决这个问题。请按照以下步骤操作:
- 如果尚未安装 Homebrew,请访问 Homebrew 官方网站 并按照说明进行安装。
- 打开终端并运行以下命令以安装 GTK+ 及其依赖库:
- brew install gtk+3 brew install adwaita-icon-theme
- 安装 pkg-config 工具:
- brew install pkg-config
- 设置环境变量,让 Rust 编译器和链接器能够找到 GTK+ 库。在 shell 配置文件中(如 ~/.bashrc、 ~/.zshrc、~/.zshrc 等),添加以下行:
- export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
- 保存更改并重新加载 shell 配置文件,以使更改生效。比如你修改了 ~/.zshrc,则应运行以下命令:
- source ~/.zshrc
Rust编写的桌面应用效果示例
当你看到这个hello world,就已经成功一大半了。因为已经有大佬开源了一套
https://github.com/lencx/ChatGPT 目前star过3w。很可惜的是,由于被盗用和潜在的法务风险,后续更新就不开源了,大家也可以基于这个版本发挥自己的创造力了。下图就是提供了便捷下载的一个示例。
作者:王梦津
内容来源:京东云开发者社区

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
前端开发之函数式编程实践 | 京东云技术团队
作者:京东科技牛志伟 函数式编程简介 常见应用场景 1、ES6中的map、filter、reduce等函数 [1,2,3,4,5].map(x => x * 2).filter(x => x > 5).reduce((p,n) => p + n); 2、React类组件 -> 函数式组件+hooks、Vue3中的组合式API 3、RxJS、Lodash和Ramda等JS库 4、中间件/插件,如Redux中的applyMiddleware中间件实现 const store = applyMiddleware(...middlewares)(createStore)(reducer, initialState) 什么是函数式编程 函数式编程是一种编程范式,它将程序抽象为函数和数据结构,通过函数调用来实现程序的功能,并且函数可以作为参数传递给其他函数。 在 JavaScript 中,函数式编程可以实现面向对象编程的一些功能,比如抽象、封装、继承和多态等。 它还可以使用高阶函数、柯里化、组合和延迟计算来实现函数式编程的功能。 函数式编程有哪些特性...
- 下一篇
手把手教你用代码画架构图 | 京东云技术团队
作者:京东物流覃玉杰 1. 前言 本文将给大家介绍一种简洁明了软件架构可视化模型——C4模型,并手把手教大家如何使用代码绘制出精美的C4架构图。 阅读本文之后,读者画的架构图将会是这样的: 注:该图例仅作绘图示例使用,不确保其完整性、可行性。 2. C4模型 2.1 C4模型整体介绍 C4是软件架构可视化的一种方案。架构可视化,指的是用图例的方式,把软件架构设计准确、清晰、美观地表示出来。架构可视化不是指导开发者如何进行架构设计,而是指导开发者将架构设计表达出来,产出简洁直观的架构图。 架构可视化的方法有很多,主流的有“4+1”视图模型、C4模型。视图模型描述的是架构本身,架构确定之后,不管用什么模型去表达,本质上都应该是一样的,并没有优劣之分。 C4 模型是一种易于学习、对开发人员友好的软件架构图示方法,C4模型没有规定使用特定的图形、特定的建模语言来画图,因而使用者可以非常灵活地产出架构图。 C4模型将系统从上往下分为System Context, Containers, Components, Code四层视图,每一层都是对上一层的完善和展开,层层递进地对系统进行描述,如下图。 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,CentOS7官方镜像安装Oracle11G
- Mario游戏-低调大师作品
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8编译安装MySQL8.0.19
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境