Vala与Genie的关系

问题描述 投票:5回答:1

根据我的阅读,核心Gnome开发始于C,Vala(2006)和Genie(2008)对此进行了扩展。 Vala语法似乎针对Java / C#语法/开发人员,而Genie似乎针对Python(以及其他一些)。

还有一些开发人员似乎试图破坏这两个伟大的开发工具 - 通过推动转向,因为缺乏更好的术语,非本地技术,如Javascript和Rust - 需要额外的虚拟机或运行时二进制文件。

然而,Vala的复兴似乎主要由应用程序开发人员推动。从Vala编译器的活动上升以及valaxswpoi的拟议活动中可以看出这一点,其中Vala是核心功能。

因此,这将我们带到与Genie的技术关系。从我的阅读来看,Genie只依赖于GLib,而Vala依赖于Gnome桌面环境。这种关系是否正确?其次,Genie内置于Vala编译器2018 Outreach Program还是分开?从汇编的角度来看,它们是集成技术吗?

gnome vala genie
1个回答
8
投票

Genie是Vala编译器的替代语法。它作为替代词法分析器和解析器实现,并内置于valaclibvalavalac的命令行前端。所以是的,它们是集成技术。如果您想了解有关Genie如何实施的更多信息,请阅读libvala。该页面上有Genie源文件的链接。

Genie与Vala具有相同的依赖关系,而Vala仅依赖于GLib。还有一些尝试甚至删除了对GLib的依赖。例如Developing Genieposixvala

Vala与GTK +的绑定非常好,与GTK +开发保持同步。也许这就是为什么你认为Vala依赖于完整的GNOME堆栈。 Vala确实提供了更高级别的代码生成例程,例如向GVariant投射;用于处理GtkBuilder UI模板的avr-vala[GtkTemplate][GtkChild]属性;使用[GtkCallback]属性生成D-Bus接口,并使用[DBus]async关键字来处理GIO异步回调和回调。 'Vala'是指Vala编译器,而不是语法。因此,这些功能可用于Vala和Genie语法。 Genie在某些方面稍微欠发达,但这可以由贡献者修复。它是一个开源/自由软件项目。

© www.soinside.com 2019 - 2024. All rights reserved.