既然Google在App Engine上允许使用Java,我想知道这对App Engine的Web框架选择有何影响。
是否有一些我缺少的东西 - 任何框架都可以在App Engine上运行良好吗?
答案 0 :(得分:8)
实际上web2py非常轻,在GAE上为~1.50,它会缓存所有字节码编译的模型/视图/控制器。
然而,您需要考虑默认情况下是基于数据存储区的会话,与没有GAE会话的框架相比,这可能会增加一些开销(至少在默认情况下不是这样)。
与天真的Google数据存储区API相比,web2py DAL本身不会增加大量开销。
答案 1 :(得分:5)
就个人而言,我发现Python更有趣。这就是我。但是,有几个提交的Java开发人员会欣赏GAE中的Java支持。此外,支持Java是谷歌的一个很好的选择,因为它将允许GAE平台可能托管许多其他语言。期望所有基于JVM的语言在GAE上运行显然有点早,但未来看起来很有希望。现在,我们可以通过查看this GAE Java Group Page来查看有效和无效的内容。
回到Python,我认为小型Web应用程序将与内置的webapp框架配合使用。其他应用程序将从Django 1.0中受益更多。请查看框架部分下的GAE articles,了解一些有关此内容的详细信息。在任何情况下,您的任何选择无疑都会受到限制,因为大多数Web框架都是考虑到关系数据库而设计的......哪个数据存储/ bigtable不是。此外,出于安全原因,GAE平台必须进行沙盒处理,这在某种程度上也会限制您。希望这会有所帮助。
答案 2 :(得分:3)
试试Spring。它支持JPA和JDO。
现在春天甚至还有Python version。
答案 3 :(得分:1)
我不完全知道所有选项,但我可以告诉你一些事情......
答案 4 :(得分:1)
这实际上取决于你想做什么。根据我的经验,Webob上的小手工制作对于API非常有用。但对于需要模板/会话/复杂路由/缓存的完整网站来说,django很难被击败。
考虑到如果您使用庞大的框架(如django 1.0),第一个请求总是需要大约3秒才能将所有内容加载到内存中并将其保留在那里直到该请求后15秒。
当你四处寻找框架时,请考虑到:
答案 5 :(得分:0)
如果您正在寻找Python,那么Django将是您最好的选择。
答案 6 :(得分:0)
Struts 2据称可以在Google App Engine上运行(至少在示例应用程序方面)。请遵循以下主题:
http://www.nabble.com/Google-App-Engine-support--td22972179.html
看起来Sitemesh在模板方面存在一些问题,但是如果你使用的是JSP,你应该没问题。
作为Web应用程序框架,这是一个不错的选择。
答案 7 :(得分:0)
如果您使用的是Python,我建议web.py。
答案 8 :(得分:0)
我使用新框架 GAE framework。这与Django类似,但在AppEngine上工作。
祝你好运!
答案 9 :(得分:0)
对于Python使用webapp2(与app引擎捆绑在一起)
答案 10 :(得分:0)
如果您想构建大型应用程序并需要更灵活的框架,那么您可以查看Pyramid Python Framework。以前它被称为Pylons。有很多优秀的公司使用这个框架。