Python 区别于;应用程序引擎的云端点框架”;及;谷歌协议RPC库“;应用程序引擎

Python 区别于;应用程序引擎的云端点框架”;及;谷歌协议RPC库“;应用程序引擎,python,google-app-engine,google-cloud-endpoints,Python,Google App Engine,Google Cloud Endpoints,我正在寻找方法来公开我在谷歌应用程序引擎应用程序中实现的业务逻辑,作为移动客户端调用的RPC服务;似乎有两种方法可以做到这一点: 对于应用程序引擎。那里的示例让我使用protorpc.WSGI.service.service\u映射创建了一个WSGI服务公开其方法被protorpc.remote.method修饰的服务类 。那里的例子让我使用endpoints.api_server创建了一个云端点,公开了其方法用endpoints.method修饰的服务类 我从Google Protocol

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

  • 对于应用程序引擎。那里的示例让我使用
    protorpc.WSGI.service.service\u映射创建了一个WSGI服务
    公开其方法被
    protorpc.remote.method
    修饰的服务类

  • 。那里的例子让我使用
    endpoints.api_server
    创建了一个云端点,公开了其方法用
    endpoints.method
    修饰的服务类

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

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

(注意:我知道云端点可用于更多的环境,如计算引擎,但我希望尽可能保持应用引擎标准。)

我的问题是:

  • 有人能说出这两种看似非常相似的解决方案之间的区别吗?在哪些情况下,我可能更喜欢使用Google协议RPC库而不是App Engine的云端点框架?云端点框架在哪些其他情况下更可取

  • 有没有一种方法可以从为Google协议RPC库编写的API定义生成客户端库?现在我已经让简单的Google协议RPC库版本正常工作了,我不确定我是否应该仅仅为了客户端代码生成的好处而迁移到App Engine的云端点框架