Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 关于编写富Web UI以前置RESTful HTTP API的建议_Java_Scala_Rest - Fatal编程技术网

Java 关于编写富Web UI以前置RESTful HTTP API的建议

Java 关于编写富Web UI以前置RESTful HTTP API的建议,java,scala,rest,Java,Scala,Rest,我一直在研究一组在Java中使用Restlet实现的RESTful HTTP服务。这些服务目前由运行在Windows上的专有桌面应用程序和其他后端服务使用 我现在的目标是为这些将在Web浏览器中运行的服务设计一个Ajaxy用户界面。我知道现有的解决方案太多了。我非常熟悉Scala、Java、GWT,并且对JavaScript有一定的了解 我突然想到了以下解决方案,我想知道社区中的人有过哪些经验 使用GWT的纯客户端解决方案。 Seesmic采用这种方法来实现其社交网络客户端的web版本(我相信后

我一直在研究一组在Java中使用Restlet实现的RESTful HTTP服务。这些服务目前由运行在Windows上的专有桌面应用程序和其他后端服务使用

我现在的目标是为这些将在Web浏览器中运行的服务设计一个Ajaxy用户界面。我知道现有的解决方案太多了。我非常熟悉Scala、Java、GWT,并且对JavaScript有一定的了解

我突然想到了以下解决方案,我想知道社区中的人有过哪些经验

使用GWT的纯客户端解决方案。 Seesmic采用这种方法来实现其社交网络客户端的web版本(我相信后端REST服务是用RESTlet实现的)。我对GWT很熟悉,但有时我觉得它相当冗长。我还没有试过UI活页夹

使用Vaadin的基于服务器的解决方案。 我不熟悉Vaadin,但它看起来相当完整,我可以将它与Scala一起使用,这是我的一个额外优势

使用JavaScript框架的纯浏览器基础解决方案,如jQuery、Dojo等。基于JavaScript的解决方案可以很快原型化,但随着代码基础的增长,我有点担心处理复杂性


我期待着听取您的意见和现实世界的经验。

如果您想充分利用网络作为平台,网络有其独特的要求

像GWT和vaadin(基于GWT构建)这样的翻译解决方案令人印象深刻且功能强大,但是如果您想要一个完整的bells&whistles界面,那么您应该使用纯JavaScript——最好使用您提到的框架之一来帮助管理复杂性和浏览器差异

GWT在这里还有一个缺点,即它提供自己的客户机-服务器通信,因此您将很难在现有REST接口周围安装它


免责声明:即使是GMail也必须使用一些手工制作的javascript

我目前正在开发一个商业银行应用程序,通过GWT前端访问Web服务。我们应用程序的架构如下所示。GWT在前端使用GWT RPC与Servlet引擎对话。然后,Web层作为代理执行Web服务调用。
这种方法的好处是,您可以将UI与Web服务隔离,并可以合并其他功能,如安全性,您还可以在后端调用多个Web服务(也可以与一些DB调用一起),然后将功能聚合到视图中。
性能非常好,除了一开始的15秒左右的启动时间。
我们之所以这样做,是因为EXT-GWT在GWT之上提供了很多不错的小部件,而且我们所有的代码都是用Java编写的,这给了我们类型安全性以及运行调试器的能力

EXT-GWT有两个缺点。
1) 初始加载时间。

2) 文档可能更好。(它确实附带了很多示例代码)

关于GWT RPC,我想你指的是GWT RPC,我也不太喜欢它。GWT的RESTlet模块看起来是调用RESTful服务的一种更好的方式。我需要考虑EXT-GWT许可模型,不过OP确实要求使用RESTful解决方案。RPC库肯定不是这样的。@Darrel Miller-它取决于层,是的,如果您愿意,您可以与GWT进行restful通信