2011-01-06 107 views

回答

0

似乎有不被其专门关于Java的AppEngine上运行的项目。但是,应该可以将当前的Java版本移植到Appengine,因为Python版本具有相同的限制。

3

遗憾的是,目前的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的表单生成器插件的:

  • 最初用PHP编写的LAMP堆栈
  • 运行在GAE上的Java SDK
  • 使用Querces PHP Servlet将PHP编译为Java。
  • 最初的Form Builder PHP代码可以访问我作为数据存储包装器编写的Java DAO类。

Jython是一个类似的抽象,可以帮助以类似的方式,避免重写大部分代码。阅读以下更多有关Jython的发展对谷歌应用程序引擎: Jython Development on Google App Engine

避免试图端口从Java的非GAE对Java的GAE

OpenSocial的应用程序的Java版本是多线程的,所以它会在App Engine上运行有很多麻烦。而且,将PHP版本移植到Java上肯定更容易,因为App Engine目前不支持多线程,并且PHP版本很可能不是多线程的。

结果,这是为什么Python的OpenSocial的端口的根属于的Shindig/OpenSocial的的PHP版本,而不是Java的端口。如果您决定从非GAE版本移植,我建议遵循他们的领先并做同样的事情。

+0

从php/phyton移植是一种选择。缺点是我需要在每次对opensocial进行更改时都维护代码。如果我从Java版本开始,我会得到一个很大的代码库,但它需要进行修改以删除线程,并且可能还实现了与GAE兼容的数据库层。我只是不知道是否需要更多的工作来从php进行移植或重写,并且如果端口偏离了原来的实现,那么重写将为将来的更改获得与端口一样多的维护。到目前为止,我似乎只需要去某个地方开始。 – 2011-01-18 10:29:32

相关问题