哪个Web开发框架最适合Google App Engine?

现在谷歌允许在App Engine上使用Java,我想知道这对App Engine的Web框架选择有何影响。

  1. 我意识到谷歌提供了非常准确的webapp框架。
  2. 可用于App Engine的.96版django是限制性的。
  3. web2py从我所听到的内容中消耗了资源。
  4. Rails(现在可用)不能使用ActiveRecord,ActiveResource,restclient,rmagick。

是否有一些我缺少的东西 – 任何框架在App Engine上运行良好吗?

就个人而言,我发现Python更有趣。 这就是我。 但是,有几个提交的Java开发人员会欣赏GAE中的Java支持。 此外,支持Java是谷歌的一个很好的选择,因为它将允许GAE平台可能托管许多其他语言。 期望所有基于JVM的语言在GAE上运行显然有点早,但未来看起来很有希望。 现在,我们可以通过查看这个GAE Java Group Page来了解什么是和不起作用。

回到Python,我认为小型Web应用程序将与内置的webapp框架配合使用。 其他应用程序将从Django 1.0中受益更多。 请查看框架部分下的GAE文章 ,以便对此进行一些很好的阅读。 在任何情况下,您的任何选择无疑都会受到限制,因为大多数Web框架都是考虑到关系数据库而设计的……哪个数据存储/ bigtable不是。 此外,出于安全原因,GAE平台必须进行沙盒处理,这在某种程度上也会限制您。 希望这可以帮助。

实际上web2py很轻,因为GAE上的〜1.50,它会缓存所有字节码编译的模型/视图/控制器。

然而,您需要考虑默认情况下是基于数据存储区的会话,与没有在GAE上运行会话的框架相比,这可能会增加一些开销(至少在默认情况下不是这样)。

与天真的Google数据存储区API相比,web2py DAL本身不会增加显着的开销。

试试spring 。 它支持JPA和JDO。

现在还有一个适用于Spring的Python版本 。

我不完全知道所有选项,但我可以告诉你一些事情……

  • Google Apps构建于/使用Django之上。
  • Django几乎是Google Apps的欢呼和支持,所以我希望它能比其他人更好地与Google Apps集成。
  • Google Apps内置了一些限制,您无法规避(或不应该)。 这些限制与任何特定框架无关,而是可以说它们内置于Apps结构中。
  • 我不会太担心框架的性能 – 尝试改进你的设计/结构,它肯定会回报更好。
  • 谷歌最终会转向更新的Django 1.0,而且他们也在更新Google Apps。
  • 他们确实使用memcache(或等效的),所以考虑并利用它。

这真的取决于你想做什么。 根据我的经验,在Webob上使用小手工制作的API非常适合。 但对于需要模板/会话/复杂路由/缓存的完整网站来说,django很难被击败。

考虑到如果您使用庞大的框架(如django 1.0),第一个请求总是需要大约3秒才能将所有内容加载到内存中并将其保留在那里直到该请求后15秒。

当你四处寻找框架时,请考虑到:

  • ORM不适用于平台所以基本无所谓。
  • 快速模板(如Cheetah)不会快速(甚至工作),因为它们不能使用c扩展。
  • 缓存可能是让一切变得快速的最重要的事情。

如果您正在寻找Python,那么Django将是您最好的选择。

据称Struts 2可以在Google App Engine上运行(至少在示例应用程序方面)。 请遵循以下主题:

http://www.nabble.com/Google-App-Engine-support–td22972179.html

看起来Sitemesh在模板方面存在一些问题,但是如果你使用的是JSP,你应该没问题。

这是Web应用程序框架的一个很好的选择。

如果您使用的是Python,我推荐使用web.py.

我使用新的框架 GAE框架 。 这与Django类似,但在AppEngine上工作。

最好的祝福!

对于Python使用webapp2 (与app引擎捆绑在一起)

如果您想构建大型应用程序并需要更灵活的框架,那么您可以查看Pyramid Python Framework 。 以前它被称为Pylons。 有很多优秀的公司使用这个框架。