我想开始一个广泛使用插件的新项目。我知道Eclipse和Netbeans都有各自的富客户端平台,两者各有优缺点。
我想对Stack Overflow社区更喜欢的一些评论。
此外,最重要的是,各个平台为现有应用程序编写插件是多么容易。例如,如果我完成了我的应用程序,并希望第三方能够使用自己的插件扩展它,那么每个平台如何为此提供功能?他们是否需要我的源代码才能这样做,或者这些平台是否提供了第三方可以编码的插件API?
答案 0 :(得分:6)
我想对Stack Overflow社区更喜欢的一些评论。
我倾向于偏爱Eclipse RCP,主要是因为我仍然认为IDE本身现在是最好的。 Eclipse RCP也更加成熟,并且在Web上有更多的书籍和文档。 Netbeans RCP略显落后,我只能在Amazon.com上找到有关该平台的三本书。
我也非常渴望通过e4项目来增加平台,这将简化很多事情(从依赖注入到UI自定义)
此外,最重要的是,各个平台为现有应用程序编写插件是多么容易。例如,如果我完成了我的应用程序,并希望第三方能够使用自己的插件扩展它,那么每个平台如何为此提供功能?他们是否需要我的源代码才能这样做,或者这些平台是否提供了第三方可以编码的插件API?
我可以想象,这个问题的答案并不会令人满意,而两个平台都是可扩展的。他们在这个部门非常平等。
最重要的是将应用程序设计为可扩展的。也就是说,提供扩展点。您不必为此提供源代码,但可以记录扩展点。此外,如果您需要提供接口,您可以只提供没有真实源的javadoc。
我重复一点,使用RCP设计应用程序并不意味着您的应用程序将自动可扩展。您还必须设计您的应用程序。当你第一次学习这个平台时,这并不容易,但你最终会从经验中了解它。
答案 1 :(得分:3)
(注意:我不是在这里为社区发言;))
Netbeans和Eclipse RCP之间的两个主要区别是:
另一个因素,read in this blog post RAP (Rich Ajax Platform),可以帮助您在多个平台上基于一个源代码部署您的应用。但这可能不关心你。
双方的maven集成非常好(参见Netbeans-RCP-Maven Hello World文章),但Maven3-Tycho集成主要是在Eclipse上开发的。
同样,您可能不需要那些新的maven功能(或者您可以完全使用其他构建管理系统,如Ivy或Graddle)
答案 2 :(得分:1)
考虑一下你的插件是否真的需要像eclipse RCP或NetBeans提供的那样复杂的架构。 RCP或NetBeans的插件只能由具有强大 RCP / NetBeans经验的Java开发人员创建。请注意,您可以(非常简单)完成不可插拔的RCP应用程序。在某些情况下,最好自己编写,可能不那么灵活,但更友好方式来附加新插件。你甚至可以为他们做一些巫师。