|
|
1
7
没有任何关于应用程序需求的细节是回答这个问题的关键。 使用GWT的最大好处是相对于RCP这样的东西来说易于部署。对于用户来说,没有什么比将其web浏览器指向URL更容易的了,对于操作团队来说,没有什么比将代码推送到服务器、跳转并调用一天更容易的了。
我已经用AdobeFlex开发了好几年,发现它真的很强大,或多或少有着与GWT一样的部署优势,但提供了与RCP一样的功能。你可能也想看看。 |
|
|
2
7
RCP和workbench不是那么容易使用,但是如果应用程序能够从具有多个开放视图/编辑器等的更“自由”和开放的工作模型中获益,那么您可以免费获得很多。 如果该应用程序用于更多的临时任务,那么GWT真的很好。 GWT真的很好, 但它仍然是一个web应用程序,这有时很糟糕。我不想在一个web应用程序中完成所有的工作,因为在这个应用程序中,我可能会意外地按下一个键而丢失所有的工作和会话。(我的键盘甚至在箭头键旁边有一个键,似乎无法禁用)。它功能强大,几乎可以在RCP中执行任何您可以执行的操作,但它仍在web浏览器中运行,这可能会令人恼火。 请记住,您可以使用JavaWebStart部署RCP应用程序。 |
|
3
3
我们为Eclipse开发了一个(试点项目)插件,然后将其转换为一个独立的RCP应用程序(我们不想将其作为插件发布,因为我们不想将Eclipse作为预请求,所以我们必须添加一些支持代码,使其比简单的RCP迁移稍微复杂一些) 和 使用jQuery导入RIA应用程序。 尽管RCP阵营尽了最大的努力,RIA版本的开发却花费了几乎相同的时间(尽管它是从零开始的),而且执行起来更加流畅。 关键是RIA版本不需要安装,因为我们所有的客户端都已经有应用服务器,更新集中在一个服务器上,而不是每个客户端。 RCP版本的功能早已落后。就我们而言,Eclipse作为一个开发环境是很好的(对于Java来说,我们没有其他语言的经验),但是他们将IDE从GUI中分离出来(使RCP成为可能)所付出的努力是不够的 相当地 完成了。
|
|
|
4
3
富internet应用程序是一种很好的方法,可以使健壮的软件像传统的桌面软件一样运行。RIA的一个常见问题是,许多开发人员倾向于将业务逻辑放在客户端代码中。客户端代码中的业务逻辑和状态非常不安全,因为可以在运行时操纵客户端代码。此外,它是一个白盒系统,允许黑客检查代码并发现弱点,例如仅在客户端代码中进行输入验证或操纵状态。不要被混淆所愚弄,因为它只会减慢黑客的速度,但不会阻止他。Billy Hoffman写了一本关于AJAX安全性的好书(名为, 塔达 ,“Ajax安全性”),我向每个RIA开发人员推荐它。 这并不意味着RIA定义不好,如果您知道自己在做什么,您可以编写安全的RIA(客户端代码中没有业务逻辑,没有状态,输入验证[也]在服务器端完成等等)。有两个框架实现了这种更安全的服务器驱动RIA,一个是 IT Mill toolkit (基于GWT)和 ICEFaces 据我所知也应该是这样。 |
|
5
3
根据我的经验,RIA GUI往往足够健壮,能够向用户传达大多数信息。这可能有一些例外,但我现在想不出一个好的。RIA的优点是任何人都可以通过web浏览器访问,而无需安装厚客户端(RCP)。除非你有一些特殊复杂的显示,不能通过网络技术来完成,否则我建议你走RIA路线。 |
|
|
6
1
但是,如果你的用户不需要离线,你就可以省去在你的rcp应用程序和服务器之间同步用户数据/产品更新等的麻烦,RIA将是这种情况下的选择。 |
|
7
1
也有可能部署一个RCP,该RCP具有RIA的一些好处。我们正在为客户调查的一个解决方案(仅供公司员工使用)是使用通过Javaservlet启动的Java应用程序。
确定的一些损害包括:
|
|
|
8
0
此应用程序的性质是什么。它应该完全在客户端计算机上运行吗?它是否需要访问本地存储的数据?您是否只是对现有应用程序的GUI进行了重新调整,而引擎仍然是遗留代码? |
|
|
9
0
我的另一半正在开发一个软件设备,她利用AJAX作为配置设备的手段。配置的功能集非常丰富,并且与RIA非常一致。同样,必须在web浏览器上本地安装软件也是极不鼓励的。 |