当前位置:  开发笔记 > 编程语言 > 正文

要使用哪个Rich Client平台

如何解决《要使用哪个RichClient平台》经验,为你挑选了3个好方法。

我们最近开始开发Java桌面应用程序,管理层要求我们使用Rich Client Platform.我知道Java有四个:

    Eclipse RCP - www链接到ecipse rcp,

    Netbean RCP - Netbeans RCP网站,

    春天RCP - 春富客户端

    Valkyrie RCP - Valkyrie富客户端

有没有人有任何这方面的经验,如果有的话,每个人的力量和弱点是什么?

谢谢



1> Martin Lazar..:

INTRO - 跳过,如果你只是结果中的interesterd;)
我正在开发一个与JSP非常类似的自定义编程语言的编辑器.首先,我使用NetBeans平台将编辑器实现为我的论文.完成学业后,我找到了一份工作,他们希望我在Eclipse RCP中实现相同的功能,所以现在我可以比较这两个平台,至少在这个项目中我遇到的问题.

结果 - 如果我在Netbeans平台和Eclipse RCP之间做出选择,我肯定会选择一个NetBeans平台.为什么?
伟大的截屏视频,良好的教程,非常活跃的友好和乐于助人的社区,相当完整的文档和源代码编写得很好,并具有良好的代码约定.还有一些有趣的小工具(cookies,查找).它只是适合我.

为什么Eclipse RCP不适合我?
文档较弱,约定和API有时候......对我来说很奇怪:-)这是很常见的方法,如:

/**
* Returns a description of the cursor position.
*
* @return a description of the cursor position
* @since 2.0
*/
protected String getCursorPosition() {
..
}

好吧我以为他们一定是在开玩笑吧:-我怎么用这种方法?或者像这样:

/**
* Returns the range of the current selection in coordinates of this viewer's document.
*
* @return a Point with x as the offset and y as the length of the current selection
*/
Point getSelectedRange();

虽然属性的数量和类型适合,但我没有找到Point对象存储范围的理想数据结构;-)

在Eclipse RCP中有许多人如此惊讶



2> nash..:

回答太晚,但有些人可能会点击这个页面.

我会选择Netbeans RCP,1)Netbeans平台.它非常成熟并且已经发展成为一个"易于使用"的平台,用于开发应用程序.

2)它很容易上手,而日食RCP的学习曲线非常陡峭.请转到http://netbeans.org/kb/trails/platform.html,在那里你会有教程,视频(看看前10个api的视频,再看看你读书之前的教程,那样你就会得到一个事先).

3)关于netbeans RCP的书籍(我猜在netbeans RCP上有2个)是uptodate(只有你不会有太多问题的小变化).而关于RCP的主要书籍很长时间没有提供(最近.也就是说,2010年5月,新版本已经发布,因此对于eclipse RCP开发人员来说这是一件非常好的事情.当我尝试时它不存在学习它.我对那些不发布新版本的作者感到沮丧,几乎让新的开发人员陷入困境.不是每个人都喜欢阅读文档.不发布更新的书几乎等于杀死技术).我很想看到这两个平台的食谱类型书.

4)Netbeans拥有完整的集成GUI构建器,这是一个很大的优势.Eclipse RCP,要么必须手工编写代码,要么购买一些第三方GUI构建器.

5)Netbeans平台有一个非常酷的Lookup api用于模块间通信.我猜eclipse的人为此目的使用扩展点.但是一旦你掌握了它,查找api很容易.

6)无论如何,它是一个重大的设计决定,关于选择哪个平台.Netbeans平台适合我.它可能对你不起作用.这两个平台都需要努力,都提供了精彩的"开箱即用"功能.试驾,然后决定.



3> Kevin Day..:

我建议你看一下JSR 296 - 它还没有任何完整性,但我认为它提供了你真正需要的每个Java GUI应用程序的某些核心功能,而不是强迫你住在一个过于复杂的框架.

我已经成功使用JSR 296来创建一个中型应用程序.对于此应用程序中的窗口布局,我们使用MyDoggy(强烈推荐).对于布局管理,我们使用MiGLayout(超越强烈推荐).对于数据绑定,我们使用JSR 295的修改形式(我们在JSR 295之上实现了类似于我们用于GUI绑定的PresentationModel).我正在将Guice作为DI机制加入,但还没有完成那些努力(到目前为止,我认为它将"与JSR 296一起发挥良好作用"并在此处进行调整).让我们看看......持久性是这里最大的缺失链接 - 我目前正在评估Simple for XML持久性,但是我遇到了让它与像Guice这样的DI容器一起工作的问题.我有Betwixt 工作,但对Betwixt的依赖很大,所以我们正在寻找更精简的东西.

关于Java的其他RCP选项的意见:

NetBeans:我对NetBeans使用的方法有一些基本的哲学反对意见(根据我的口味设计反模式太多).最后,框架迫使您做出糟糕的设计决策 - 如果您不使用NetBeans作为IDE(我尝试过,但我无法从Eclipse切换到NB),几乎不可能使用它.它可能只是我,但似乎应该可以为RCP框架编写代码,而无需使用大型复杂的向导和大量自动生成的代码和XML文件.我花了这么多时间来解决Visual Studio生成的旧Visual C++代码,我对任何无法手动编码的框架都非常谨慎.

Spring RCP:Spring的人们有一个很好的可靠设计,但文档真的非常薄弱.加快速度是非常困难的(但是一旦你做到了,你可以很快完成任务).

Eclipse RCP:仅仅因为部署开销而没有使用Eclipse(取决于您的目标受众 - 对我们来说,部署额外的50 MB运行时只是不起作用).毫无疑问,如果您的应用程序需要重要的插件功能,Equinox是一件很棒的事情(当然,您也可以使用JSR 296运行Equinox,或者使用类似于OSGi推广的Whiteboard模式的设计模式).

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有