根据我的阅读,核心Gnome开发始于C,Vala(2006)和Genie(2008)对此进行了扩展.Vala语法似乎针对Java/C#语法/开发人员,而Genie似乎针对Python(以及其他一些).
还有一些开发人员似乎试图破坏这两个伟大的开发工具 - 通过推动转向,因为缺乏更好的术语,非本地技术,如Javascript和Rust - 需要额外的虚拟机或运行时二进制文件.
然而,Vala的复兴似乎主要由应用程序开发人员推动.从Vala编译器活动的增加和2018年外展计划的拟议活动中可以看出这一点,其中Vala是核心功能.
因此,这将我们带到与Genie的技术关系.从我的阅读来看,Genie只依赖于GLib,而Vala依赖于Gnome桌面环境.这种关系是否正确?其次,Genie内置于Vala编译器中valac还是分开?从汇编的角度来看,它们是集成技术吗?
AlT*_*mas 10
Genie是Vala编译器的替代语法.它是作为替代词法分析器和解析器实现的,并且内置于libvala.valac是命令行的前端libvala.所以是的,它们是集成技术.如果您想了解有关Genie如何实施的更多信息,请阅读开发精灵.该页面上有Genie源文件的链接.
Genie与Vala具有相同的依赖关系,而Vala仅依赖于GLib.还有一些尝试甚至删除了对GLib的依赖.例如posixvala和avr-vala.
Vala与GTK +的绑定非常好,与GTK +开发保持同步.也许这就是为什么你认为Vala依赖于完整的GNOME堆栈.Vala确实提供了更高级别的代码生成例程,例如向GVariant投射; 的[GtkTemplate],[GtkChild]并且[GtkCallback]属性与GtkBuilder UI模板工作; 使用该[DBus]属性生成D-Bus接口,以及使用async和yield关键字来处理GIO异步回调和回调.'Vala'是指Vala编译器,而不是语法.因此,这些功能可用于Vala和Genie语法.Genie在某些方面稍微欠发达,但这可以由贡献者修复.它是一个开源/自由软件项目.
| 归档时间: |
|
| 查看次数: |
279 次 |
| 最近记录: |