我想知道是否有人使用Transfuse以及它与Android Annotations的区别。我的意思是每个人的利弊,除了这两个之外还有其他选择。
感谢。
答案 0 :(得分:13)
我可能不算数,因为我写了这个库,但我是Transfuse的活跃用户: - )
以下是Transfuse的观点比较:
Transfuse和Android Annotations在降低Android平台和复杂性方面有着共同的目标。 Transfuse和Android Annotations都非常高效,因为它们使用几乎相同的技术在编译时生成代码。事实上,AA是Transfuse的众多灵感之一。
Android Annotations通过在与带注释的类相关联的类扩展中引入代码来与样板进行争夺。您可以在生成的源中的Class_文件中找到引入的代码。 Android Annotations包括各种功能,包括轻量依赖注入机制,REST客户端生成器以及各种活动/上下文增强功能。
另一方面,Transfuse通过依赖注入,POJO组件和Manifest Management以及从Enterprise Java库中借用的其他想法来实现这一目标。例如,Transfuse Activities不会扩展android.app.Activity。而是通过注释向您的活动添加功能,Transfuse使用这些注释来连接生成的代码。 Transfuse也符合JSR330标准,这意味着它是一款功能齐全的IOC / DI引擎,可与Guice(Roboguice)或Dagger相媲美。这为开发人员提供了许多功能,可以在应用程序后面连接对象图,而无需维护生成的代码。最后,我最喜欢的一个功能是,Transfuse为您管理AndroidManifest.xml文件的编写,因此您不必记住注册组件。这节省了大量时间,特别是在启动新应用程序时。我被问到这个比较问题相当多,或者它与RoboGuice和Dagger的比较。我应该把比较矩阵放在一起,以突出显示库之间的重大差异。