2011-01-06 80 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

相關問題