Android,GWT& App Engine:云端点与GWT RPC?

时间:2013-10-29 10:24:10

标签: android google-app-engine gwt rpc google-cloud-endpoints

我使用GWT RPC机制为客户端 - 服务器通信定义了一个GWT + GAE应用程序。现在,我想整合Android应用程序中提供的一些服务。 但我发现不再推荐这种实现,并已从GPE 3.0(google eclipse插件)中删除,因此现在使用了云端点(RPC tooling not available for appengine connected android project for GPE 3.2?)。

我想知道为什么采用这种方法(而另一种方法被突然删除),因为在使用Cloud Endpoints而不是GWT时,实现客户端 - 服务器通信接口所需的代码要复杂得多(至少对我而言) RPC,添加新类非常容易,代码很容易扩展。

为什么Cloud Endpoint比GWT RPC更好?这两种方法有哪些优点和缺点?

2 个答案:

答案 0 :(得分:4)

与GWT / RPC相比,云端点(以及其他基于REST / JSON的解决方案)的优势在于它们与语言无关。对于云端点,Google工具直接支持Android,Web和iOS,但由于它们生成接口的描述,因此它们也可以支持任何可以使用该描述的技术。

端点也使OAUTH身份验证相对容易,但我无法评论与GWT的比较。

答案 1 :(得分:1)

我的个人意见:他们都很糟糕,因为他们是专有的和不透明的。谷歌是一家伟大的工程公司,但这两个都是IMO的错误。我想他们希望将开发人员与他们的专有API联系在一起 - 这就是20世纪90年代的MS。

我使用REST + JSON。我个人最喜欢的是RESTEasy + Jackson,它可以在GAE上完美运行。

优点:

  1. 灵活的序列化:Jackson可以在类和JSON(多对一,嵌入式,getter / setter等)之间进行高级映射,也可以编写自定义序列化器。
  2. 完全控制堆栈:您可以拥有多个具有不同配置的端点(例如公共/私有),您还可以拦截和扩充请求,自定义异常处理(抛出自定义异常 - &gt; RESTEasy创建自定义JSON作为响应)< / LI>
  3. 拦截器允许使用标准或自定义身份验证方案
  4. 完全开源并使用标准协议和序列化格式:易于检查浏览器中发生的事情
  5. Portable:适用于所有基于servlet的服务器和客户端(浏览器,Android,iPhone等)。
  6. 当然,学习曲线有点高,但至少你会掌控。