什么时候使用RCP?


9

我喜欢使用Java和Swing编写小型GUI应用程序,类似于社交网站Tumblr的客户端

我应该使用Eclipse RCP还是Netbeans平台?

通过使用普通摆幅/ SWT中的任何一种,我可以获得什么好处?

与使用Swing或SWT开发的应用程序相比,RCP应用程序是否需要更多的依赖项?

Answers:


6

达卡德的反应很好。我想补充一点,值得考虑的是如何在将来维护该项目。考虑一下您有多少同事(或一般的开发人员)熟悉Swing等人,而有多少人熟悉RCP。当我们想要淘汰旧的RCP应用程序时,我的组织有些头疼。事实证明,参与设计项目的大多数人要么离开公司,要么就担任非开发角色。我们在Swing方面的内部专业知识更多,因此这使事情变得比原来更加困难。我们也希望将其部分内容与单独的基于Swing的应用程序集成在一起,并且旧应用程序是RCP应用程序这一事实再次使事情变得困难。

我并不是说您不应该创建RCP应用程序,但是您可能需要首先考虑这些。


7

本质上,当您使用Swing时,必须手动设置所有内容:定义窗口,每个区域和控件,然后在其中再次定义每个控件。对于每个控件和区域,您都定义了处理程序来处理更改和用户操作等。您需要执行此操作,因为除非您明确定义并实现它,否则所有操作都将无效。

RCP也允许这样做,但是附带了许多高级组件,它们完成了许多常见的工作。例如,定义多个文档界面(MDI)或添加带有图标的工具栏仅需几个配置步骤,当您单击它们时,它们会启动外部插件。

由于RCP是Eclipse的强大功能,因此基本功能块倾向于集中在具有类似于开发环境需求的应用程序上:使用各种上下文相关菜单/工具栏/操作/等在各种窗口中进行广泛的文本编辑。

因此,如果您要制作一个包含许多非标准内容的小型自定义应用程序(例如,具有各种自定义绘制或可换肤控件的豪华Twitter客户端),那么使用RCP毫无意义。实际上,它将5 + MB的插件拖到您的应用程序中并没有任何真正的好处。

如果您要制作一个显示网页的应用程序,需要一个广泛的帮助系统,需要通过Internet自动更新以及那种大规模的桌面应用程序功能,那么RCP将是一个不错的选择。


0

我是一名专业的Java软件工程师,在Eclipse RCP和Netbeans平台上都拥有丰富的专业知识。

“我应该使用Eclipse RCP还是Netbeans平台?”

答: 这取决于以下因素:

  • 您在Java方面的专业知识。
  • 在两个RCP中都实现某些功能所需的工作。
  • 每个RCP文档的清晰度。
  • 您想要提供给最终用户的首选外观。

根据上述因素,以下是每种RCP的利弊:

Netbeans平台:

优点:

  • 文档的清晰度和组织性极好!但是,与Eclipse RCP开发人员相比,活跃的社区很小。

缺点:

  • 需要Java语言方面的专业知识。
  • 为了完成相同的工作,与Eclipse RCP相比,它需要编写更多的代码。
  • 外观不是本机。Netbeans平台基于Swing,因此您在所有目标平台上都可以得到相同的Java Swing外观!

Eclipse RCP:

优点:

  • 只需要具备良好的Java知识和相关性注入的知识(换句话说,不需要功夫就可以了:P)!
  • 所产生的外观远比Netbean的外观自然。这是因为Eclipse RCP基于SWT。(尽管这对我来说是一个弊端,只是因为我对SWT不好玩,个人而言)

缺点:

  • 文档的清晰度和组织性不是很好!缺点

我个人偏爱Netbeans平台,只是因为我想完全控制自己对代码的处理,并且因为我认为基于Swing的UI比SWT更稳定(我以前拥有我在编码:P时,某些UI在我的Eclipse IDE中崩溃了!

“与使用Swing或SWT开发的应用程序相比,RCP应用程序是否需要更多的依赖关系?”

答: 依赖关系是这两个婴儿滚动的原因。否则,将它们不必要称为RCP。RCP代表Rich Client Platform,它是一个生态系统(大量API),通过提供(通过API)提供手段来构建“ Rich”应用程序。;-)。因此,这里的答案是“是的,更多依赖”!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.