我一直在网上搜索 Apache Shindig Java 端口到 Google App Engine,但我只找到了 Python 版本。有Java端口吗?还是存在阻塞性依赖项导致很难将 Apache Shindig 移植到 Google App Engine(数据库部分除外)?
最佳答案
遗憾的是,目前没有 Apache Shindig 的 GAE Java 端口。但是,您确实有以下选择:
- 如果您考虑自己移植到 Java 端口,我还建议您从现有的 Python-GAE 端口或 PHP-非 GAE 端口开始,而不是从 Java-非 GAE 端口开始。
- 此外,您可以考虑在 GAE Java SDK 上使用 Jython 运行 Python-GAE 端口,而不是从头开始移植您自己的版本。
阅读下文了解更多详情:
使用Jython将Python-GAE移植到java-GAE:
使用Jython抽象的主要优点如下:
- 您可能会尽快启动并运行一个有效的 Java-GAE SDK 版本。
- 在未来,您仍然可以选择将 Jython 代码移植到纯 Java,只要您的业务目标允许,可以进行小的迭代。
附带说明一下,我有一个在 Java SDK 上运行的 JQuery Form Builder 插件版本:
- 最初是用 PHP 为 LAMP 堆栈编写的
- 在 GAE-Java SDK 上运行
- 使用 Querces PHP Servlet 将 PHP 编译为 Java。
- 原始的 Form Builder PHP 代码可以访问我编写的 Java DAO 类作为数据存储的包装器。
Jython 是一种类似的抽象,可以以类似的方式提供帮助,避免重写大部分代码。阅读以下有关 Google App Engine 上的 Jython 开发的更多信息: Jython Development on Google App Engine
避免尝试从 Java-non-GAE 移植到 Java-GAE
Java 版本的 OpenSocial 应用程序是多线程的,因此在 App Engine 上运行会遇到很多麻烦。此外,将 PHP 版本移植到 Java 肯定更容易,因为此时 App Engine 不支持多线程,而 PHP 版本很可能不是多线程。
因此,这就是为什么 Python OpenSocial 端口的根属于 Shindig/OpenSocial 的 PHP 版本而不是 Java 端口。如果您决定从非 GAE 版本移植,我建议效仿他们的做法。
关于java - 是否有在 Google App Engine 上运行的 Apache Shinding Java 版本的端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4616697/