8

我想知道是否有人使用Transfuse以及它与Android Annotations有何不同。我的意思是每个的优点和缺点,以及除了这两个之外是否还有其他选择。

谢谢。

4

1 回答 1

13

我可能不算数,因为我编写了库,但我是 Transfuse 的活跃用户 :-)

这是从 Transfuse 的角度进行的比较:

Transfuse 和 Android Annotations 的共同目标是减少 Android 中的样板代码和复杂性。Transfuse 和 Android 注释都非常高效,因为它们使用几乎相同的技术在编译时生成代码。事实上,AA 是 Transfuse 的众多灵感之一。

Android Annotations 通过在与带注释的类关联的类扩展中引入代码来对抗样板。您可以在生成的源代码中的 Class_ 文件中找到引入的代码。Android Annotations 包含多种功能,包括轻依赖注入机制、REST 客户端生成器以及各种 Activity/Context 增强功能等。

另一方面,Transfuse 通过依赖注入、POJO 组件和清单管理以及从企业 Java 库中借鉴的其他想法来实现这一目标。例如,Transfuse 活动不扩展 android.app.Activity。相反,您可以通过注解为您的活动添加功能,Transfuse 使用这些注解来连接生成的代码。Transfuse 也符合 JSR330,这意味着它是一个功能齐全的 IOC/DI 引擎,可与 Guice (Roboguice) 或 Dagger 相媲美。这为开发人员提供了很多功能,可以在应用程序后面连接对象图,而无需维护生成的代码。最后,我最喜欢的功能之一是 Transfuse 为您管理 AndroidManifest.xml 文件的编写,因此您不必记住注册您的组件。

我被问到这个比较问题相当多,或者它与 RoboGuice 和 Dagger 相比如何。我可能应该整理一个比较矩阵来突出库之间的显着差异。

于 2013-07-14T22:39:53.687 回答