gpt4 book ai didi

java - 为什么 GWT 使用代码生成器而不是注释处理器?

转载 作者:行者123 更新时间:2023-11-30 08:17:14 25 4
gpt4 key购买 nike

GWT 使用带有 GWT.create() 命令的代码生成器来生成实现。这提供了一种在 GWT 中做事的声明方式,但我不明白为什么它不像大多数 java 中那样使用注释处理器来完成。 this article是原来让我想到的。看起来它会简化构建并让您看到编译时错误并且与常规 java 更加兼容。这是一个附带问题,但我是唯一认为 GWT 应该支持反射的人吗?我听说这会使代码变慢但仍然如此。在某些情况下不值得吗?

最佳答案

GWT 是在注释出现在 Java 语言/平台 (Java 1.4) 之前创建的,这就是原因。

虽然新的开发倾向于倾向于注释处理,但它最终将作为 SuperDevMode 重新编译的一部分得到支持(您目前必须运行注释处理器并让 SDM 选择修改后的生成源);一个例子是 Dagger 2 .
然而,我不认为这种方法适用于 GWT 当前使用生成器的所有情况。

至于 GWT.create(),对于 replace with延迟绑定(bind)情况,它仍然是需要/有用的。


至于反射,这与“慢”无关,它与需要嵌入到生成的 JS 代码中以支持运行时反射的元数据有关。尽管在编译时一切都是已知的,但在运行时几乎不需要反射;您通常可以使用编译时生成的代码来替代运行时反射。所以不,这不值得。

关于java - 为什么 GWT 使用代码生成器而不是注释处理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27957400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com