我正在寻找方法来揭示我在Google App Engine应用程序中实现的业务逻辑,作为移动客户端调用的RPC服务;似乎有两种方法可以做到这一点:

  • Google Protocol RPC Library for App Engine . 这里的示例让我使用 protorpc.wsgi.service.service_mapping 暴露服务类来创建WSGI服务,其方法用 protorpc.remote.method 进行修饰 .

  • Cloud Endpoints Framework for App Engine . 这里的例子让我使用 endpoints.api_server 暴露服务类来创建一个Cloud Endpoint,其方法用 endpoints.method 进行修饰 .

我从Google协议RPC库开始,因为这是从App Engine文档链接的主要内容,并使RPC工作,我可以使用简单的 curl 命令验证 . 但我找不到如何生成Android / iOS客户端库 .

经过更长时间的搜索后,我找到了App Engine的Cloud Endpoints Framework,它似乎提供了生成Android / iOS库的选项,但我对这两个选项之间的相似性感到困惑(例如,似乎Cloud Endpoints Framework至少依赖于它部分在protorpc,但装饰和处理程序是不同的)我不确定我应该选择哪一个 .

(注意:我了解 Cloud endpoints 可用于更多环境,例如计算引擎,但我希望尽可能保持App Engine标准 . )

我的问题:

  • 有人可以清楚地表达这两种看似非常相似的解决方案之间的差异吗?在某些情况下,我可能更喜欢使用Google Protocol RPC库而不是App Engine的Cloud Endpoints Framework? Cloud endpoints 框架更适合的其他一些情况是什么?

  • 有没有办法从为Google Protocol RPC库编写的API定义生成客户端库?现在我还不确定我是否应该为了客户端代码生成而迁移到App Engine的Cloud Endpoints Framework .