写点什么

【保姆级教程】如何用 Rust 编写一个 ChatGPT 桌面应用 | 京东云技术团队

  • 2023-05-15
    北京
  • 本文字数:1367 字

    阅读完需:约 4 分钟

【保姆级教程】如何用Rust编写一个ChatGPT桌面应用 | 京东云技术团队

为什么我们需要一个桌面应用

原因实在太多,我们需要便捷地导出记录,需要在回答长度超长的时候自动加上“继续”,需要收藏一些很酷很实用的 prompt......


(首先我假设你是一名如我一样习惯用 IDEA 开发的 java 仔)

为什么是用 Rust 编写

  1. 效率高、资源占用量低。

  2. 安全性高:Rust 是一种内存安全的语言,其所有操作都经过系统级别的严格代码检查,减少了运行期间的崩溃和内存泄漏等问题的出现。

  3. 可维护性高:通过编译后,Rust 能够更好地编写可维护的代码,并且支持面向对象编程和函数式编程,这使得开发人员能够更好地组织代码,易于理解和修改。同时,Rust 的模块化设计使得不同的开发人员可以同时在项目中工作,而不会相互干扰。

  4. 跨平台: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 包管理器来解决这个问题。请按照以下步骤操作:


  1. 如果尚未安装 Homebrew,请访问 Homebrew 官方网站 并按照说明进行安装。

  2. 打开终端并运行以下命令以安装 GTK+ 及其依赖库:

  3. brewinstallgtk+3 brewinstalladwaita-icon-theme

  4. 安装 pkg-config 工具:

  5. brewinstallpkg-config

  6. 设置环境变量,让 Rust 编译器和链接器能够找到 GTK+ 库。在 shell 配置文件中(如~/.bashrc、~/.zshrc、~/.zshrc 等),添加以下行:

  7. exportPKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"

  8. 保存更改并重新加载 shell 配置文件,以使更改生效。比如你修改了~/.zshrc,则应运行以下命令:

  9. source~/.zshrc


Rust 编写的桌面应用效果示例

当你看到这个 hello world,就已经成功一大半了。因为已经有大佬开源了一套


https://github.com/lencx/ChatGPT 目前 star 过 3w。很可惜的是,由于被盗用和潜在的法务风险,后续更新就不开源了,大家也可以基于这个版本发挥自己的创造力了。下图就是提供了便捷下载的一个示例。



作者:王梦津

内容来源:京东云开发者社区

发布于: 刚刚阅读数: 4
用户头像

拥抱技术,与开发者携手创造未来! 2018-11-20 加入

我们将持续为人工智能、大数据、云计算、物联网等相关领域的开发者,提供技术干货、行业技术内容、技术落地实践等文章内容。京东云开发者社区官方网站【https://developer.jdcloud.com/】,欢迎大家来玩

评论

发布
暂无评论
【保姆级教程】如何用Rust编写一个ChatGPT桌面应用 | 京东云技术团队_rust_京东科技开发者_InfoQ写作社区