关于服务
翻译我是一名 Linux 桌面应用程序开发者,专注于 GNOME 平台,从头开始用 Vala 和 GTK 创建本地程序。这些年来,我专注于桌面而不是网络或移动,因此我理解 GNOME 应用程序应该是什么:它遵循界面指南,支持浅色和深色主题,适应不同的窗口大小,并保持响应,因为重操作被移出主循环。无论您需要一个新的实用程序,一个在 GTK3 中现代重写的遗留工具,还是一个带有干净指示器的小型后台服务 — 我将把项目从一个空的代码库带到一个可安装的工作产品。
我手艺的基础是基于 GObject 的 Vala:这个语言让我能够编写表达性和内存安全的代码,编译为普通 C 并与整个 GNOME 堆栈链接。我设计具有稳定 GObject 反射的完整库,配置异步 I/O,以便界面从不挂起,并根据平台的意图使用 GSettings、GResource 和 libadwaita 小部件。当项目需要速度关键部分时,我会降到 C 级别并仔细链接它们,并且我可以自由使用现代 GNOME 项目所依赖的 Meson 构建系统。
最后,我关心发布。桌面应用程序只有在您可以安装时才有用,因此我通过 Flatpak 构建软件包,准备合理的清单和权限,布局图标、桌面条目和翻译,并确保结果在各个发行版中工作相同。我保持清晰的提交历史和文档,以便您的团队在交接后可以继续开发项目。
— 使用 Vala 和 GTK4 及 libadwaita 的本地 GNOME 应用程序
— 通过 GObject 反射绑定的 GObject 库
— 异步 I/O、GSettings、GResource 和 D-Bus 集成
— 使用 Meson 和 C 链接进行热路径构建
— 在 Flatpak 中打包:清单、图标、桌面集成
— 将遗留应用程序移植和现代化到 GTK3
我手艺的基础是基于 GObject 的 Vala:这个语言让我能够编写表达性和内存安全的代码,编译为普通 C 并与整个 GNOME 堆栈链接。我设计具有稳定 GObject 反射的完整库,配置异步 I/O,以便界面从不挂起,并根据平台的意图使用 GSettings、GResource 和 libadwaita 小部件。当项目需要速度关键部分时,我会降到 C 级别并仔细链接它们,并且我可以自由使用现代 GNOME 项目所依赖的 Meson 构建系统。
最后,我关心发布。桌面应用程序只有在您可以安装时才有用,因此我通过 Flatpak 构建软件包,准备合理的清单和权限,布局图标、桌面条目和翻译,并确保结果在各个发行版中工作相同。我保持清晰的提交历史和文档,以便您的团队在交接后可以继续开发项目。
— 使用 Vala 和 GTK4 及 libadwaita 的本地 GNOME 应用程序
— 通过 GObject 反射绑定的 GObject 库
— 异步 I/O、GSettings、GResource 和 D-Bus 集成
— 使用 Meson 和 C 链接进行热路径构建
— 在 Flatpak 中打包:清单、图标、桌面集成
— 将遗留应用程序移植和现代化到 GTK3