AppengineJS:使用 JavaScript 访问 Google App Engine Python SDK

  • Abel Avram
  • 张龙

2010 年 6 月 18 日

话题:JavaJavaScriptPython语言 & 开发

AppengineJS是个开源的 JavaScript 程序库,用于访问Google App Engine Python SDK,开发者可以使用它创建 Web 应用并部署到 GAE 上,进而访问 Google 的持久化存储和服务。

虽然 AppengineJS 使用 JavaScript 移植了 App Engine Python API,但它实际上却运行在 Rhino(使用 Java 编写的 Mozilla JavaScript 引擎)之上。因此,使用 AppengineJS 的 JavaScript 代码最终是部署在 JVM 上的。AppengineJS 的创建者之所以选择该方案是因为他们觉得“Python API 的设计与 JavaScript 更相近”。

Python 到 JavaScript 的移植是通过 JS 命名约定实现的,Python 的 this_is_a_name 标识符变成了 thisIsAName,所有的 delete() 函数被重命名为 remove() 以避免与 delete 关键字冲突。

到目前为止已经移植了如下 API:

  • Datastore (覆盖率 90%,可以使用,除了少量的 API 变更)
  • Memcache (覆盖率 : 90%, 可以使用)
  • URL Fetch (覆盖率 : 90%, 可以使用)
  • Mail (覆盖率 : 90%, 可以使用)
  • XMPP (覆盖率 : 90%, 可以使用)
  • Images (覆盖率 : 60%, 可以使用)
  • Users (覆盖率 : 80%, 可以使用)
  • OAuth (覆盖率 : 20%, 处理中)
  • Task Queue (覆盖率 : 80%, 可以使用)
  • Blobstore (覆盖率 : 50%, 可以使用)
  • Quota (覆盖率 : 90%, 可以使用)
  • Local Unit Testing (覆盖率 : 80%, 可以使用,除了一些 API 变更)

GitHub 项目包含了源代码、文档链接以及使用 AppengineJS 的两个示例链接:一个是使用了 Datastore API (tar.gz)的 JSGI 应用另一个是由 AppengineJS 和 Nitro 开发的博客应用(tar.gz)

查看英文原文:AppengineJS, a JavaScript Port of the Google App Engine Python SDK

JavaJavaScriptPython语言 & 开发