关于服务
翻译我使用 Genie 创建 Linux 的原生桌面程序——这是一种受 Python 启发、基于缩进的 Vala 家族成员,通过 GObject 工具包编译。如果你喜欢可读的代码,但需要编译二进制文件的速度和紧凑的内存占用,这正是我的领域。在过去的几年里,我为 GNOME 和 GTK 发布了启动器、编辑器、系统托盘小程序和后台守护进程,我知道如何在与底层 C 库交互时保持 Genie 源代码整洁。
这是我提供的内容。首先,构建一个完整的 GTK 界面,可以通过代码或 XML Builder 创建,并通过干净的 GObject 信号和属性连接到你的逻辑。其次,正确的 GObject 绑定,使应用程序能够与 GLib、GIO、libsoup 以及任何来自 GObject-Introspection 的库进行通信,而不会出现内存泄漏和引用计数错误。第三,生成一个单一的原生可执行文件的 Meson 构建,另外可选一个 Flatpak 清单,以便在不同的发行版之间方便分发。
由于 Genie 使用显著的缩进而不是大括号,代码保持简短,便于你的团队在交接后进行维护。我为每个模块编写文档,在 GLib 测试框架上编写单元测试,并提供一个从干净检出构建的代码库。我还可以将现有的 Vala 项目移植到 Genie 语法,或将普通的 C 库封装在友好的 GObject 类中。
描述一个你需要自动化的桌面工作流程或一个你想要构建的工具,我会将其拆分为小部件、线程和异步 GIO 调用。你将获得一个维护良好的、真正的原生 GNOME 应用程序,而不是一个笨重的网页包装。
这是我提供的内容。首先,构建一个完整的 GTK 界面,可以通过代码或 XML Builder 创建,并通过干净的 GObject 信号和属性连接到你的逻辑。其次,正确的 GObject 绑定,使应用程序能够与 GLib、GIO、libsoup 以及任何来自 GObject-Introspection 的库进行通信,而不会出现内存泄漏和引用计数错误。第三,生成一个单一的原生可执行文件的 Meson 构建,另外可选一个 Flatpak 清单,以便在不同的发行版之间方便分发。
由于 Genie 使用显著的缩进而不是大括号,代码保持简短,便于你的团队在交接后进行维护。我为每个模块编写文档,在 GLib 测试框架上编写单元测试,并提供一个从干净检出构建的代码库。我还可以将现有的 Vala 项目移植到 Genie 语法,或将普通的 C 库封装在友好的 GObject 类中。
描述一个你需要自动化的桌面工作流程或一个你想要构建的工具,我会将其拆分为小部件、线程和异步 GIO 调用。你将获得一个维护良好的、真正的原生 GNOME 应用程序,而不是一个笨重的网页包装。